Programme en c

Fermé
Alex - 8 janv. 2006 à 00:05
 saguar - 27 nov. 2006 à 10:54
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 vendredi 1 novembre 2002 Statut Membre Dernière intervention 23 avril 2007 10
8 janv. 2006 à 00:18
Et alors, quelle est ta question ?
0
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 vendredi 30 décembre 2005 Statut Membre Dernière intervention 18 novembre 2010 147
12 janv. 2006 à 17:35
Salut,

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