Programme en c

Alex -  
 saguar -
bonjour, je suis étudiant en physique, dans l'éventulité où un physicien pourrait m'aider, j'ai besoin de réaliser un programme simple en c basé sur la dynamique moléculaire avec deux particules.

3 réponses

  1. calaceite Messages postés 161 Date d'inscription   Statut Membre 10
     
    Et alors, quelle est ta question ?
    0
    1. alex
       
      je voudrais un exemple d'algorythme entre 2 ou plus particules ds le cadre donc de dynamique moléculaire, ces particules étant soumises au potentiel de lennard jones
      0
    2. matmat27 Messages postés 601 Statut Membre 147
       
      Salut,

      il faudrait que tu expliques le fonctionnement de ton "système" sans ça, impossible de t'aider.
      0
  2. pampa
     
    J' ai exactement la meme recherche a faire qu' Alex
    Le but du jeu est de calculer la trajectoire des plusieurs particules (8 pour moi) grace a la méthode de verlet et du potentiel de Lennard-Jones;

    Si vous voulez sa donner sa

    Il faut imaginer qu' il y a 8 particules dans un cube (un cube imaginaire biensure, les particules peuvent sortir ou rentrer biensur) et les particules intéregissent entre elles: la particules 2 envoie une forces sur la particule 1, la particules 3 envoie une forces sur la particule 1, la particules 4 envoie une forces sur la particule 1, ...
    ainsi de suite sur les autre molécules

    Voici une parti de mon prgramme ( qui est en fortran est qui ne marche pas encore )
    !d2 corespond a la distance entre la particule i et la particule j
    !h est le pas de temps pour (dans le l' utilisation d ela méthode de verlet)
    !r est la coordonnées de la particules n

    do t=0,pmax-2

    do i=1,nmax
    do j=1,nmax

    d2(i,j)= (r(t+h,1,j)-r(t+h,1,i))**2 + (r(t+h,2,j)-r(t+h,2,i))**2 + (r(t+h,3,j)-r(t+h,3,i))**2
    !d2(j,i)= (r(t+h,1,i)-r(t+h,1,j))**2 + (r(t+h,2,i)-r(t+h,2,j))**2 + (r(t+h,3,i)-r(t+h,3,j))**2

    if(i.ne.j) then
    Fij(1,i,j)=(r(t+h,1,j)-r(t+h,1,i)) !* (((d2(i,j))**(-7)) -1.0/2*((d2(i,j))**(-4)))
    Fij(2,i,j)=(r(t+h,2,j)-r(t+h,2,i)) !* (((d2(i,j))**(-7)) -1.0/2*((d2(i,j))**(-4)))
    Fij(3,i,j)=(r(t+h,3,j)-r(t+h,3,i)) !* (((d2(i,j))**(-7)) -1.0/2*((d2(i,j))**(-4)))
    endif

    F(1,i)=-h2*sum (Fij(1,i,:))
    F(2,i)=-h2*sum (Fij(2,i,:))
    F(3,i)=-h2*sum (Fij(3,i,:))

    r(t+2*h,1,j)=2*r(t+h,1,j)-r(t,1,j) +F(1,j)
    r(t+2*h,2,j)=2*r(t+h,2,j)-r(t,2,j) +F(2,j)
    r(t+2*h,3,j)=2*r(t+h,3,j)-r(t,3,j) +F(3,j)

    end do
    end do

    Normalement, on doit trouvrer des particules qui se repoussent puis qui s' éloigent

    Moi j' obtient des lignes droites, donc sa marche pas ... Si qql pouvait me filer un coup de pouce

    merci ciao
    0
  3. saguar
     
    bonjour Alex, je suis etudiant en physique et je dois simuler la dynamique moléculaire par la methode de verlet( langage C ou C++). j'ai besoin d'aide.
    vous pouvez me joindre sur sanmatiere@yahoo.fr
    0