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

calaceite Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   10
 
Et alors, quelle est ta question ?
0
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
matmat27 Messages postés 594 Date d'inscription   Statut Membre Dernière intervention   147
 
Salut,

il faudrait que tu expliques le fonctionnement de ton "système" sans ça, impossible de t'aider.
0
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
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