Simulation de mouvement de particules sur C

Fermé
fluent23 Messages postés 3 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 16 avril 2010 - 12 avril 2010 à 15:33
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 19 avril 2010 à 08:07
Bonjour tout le monde,

J'ai un projet sur la diffusion des atomes et je voudrais savoir comment simuler le mouvement des atomes sur le programme en C, (c'est-à-dire avoir des atomes comme des points qui diffusent dans une matrice).

Cordialement.
A voir également:

6 réponses

fluent23 Messages postés 3 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 16 avril 2010 1
16 avril 2010 à 12:48
Salut,

Au fait c'est la diffusion d'azote dans le fer.
Ce que je voudrais faire c'est représenter le fer en tant que tableau avec des lignes et des colonnes et montrer le déplacement des atomes d'azote dans les cases de ce tableau dans un temps déterminé.
La diffusion est régie par la loi de Fick : J = - D (dC/dx) > (première loi de Fick)

J: le flux
D : coefficient de diffusion
C : concentration
x : variable de l'espace
dC/dx : gradient de concentration en fonction de la varibale d'espace

Conditions initiales :

> D = 9.9 e-12
> La diffusion se fait de haut en bas
> La concentration dans les lignes d'en haut est plus importante que dans les lignes d'en bas
> La dernière ligne est de concentration nulle
> Le temps est de 7200 secondes (2h)
> La température est considérée cste
> Pas d'atomes d'azote dans le fer initialement
> Le tableau contient 1000 cases
(on diminue le temps et le nombre de cases sinon respectivement c'est lent et ça ne se voit pas bien)


Pour répondre à vos questions :
Green day : c'est une diffusion classique

Merci pour votre aide.
a+
1
green day Messages postés 26371 Date d'inscription vendredi 30 septembre 2005 Statut Modérateur, Contributeur sécurité Dernière intervention 27 décembre 2019 2 162
12 avril 2010 à 16:29
Salut,

Ta description est assez vague :)
Pour pouvoir tracer une trajection, il faut déjà avoir l'équation du mouvement, fixer les conditions initiales etc ... On te les fournit ou tu dois le faire tout seul ?

Ensuite, pour l'étude de la diffusion des atomes tu considères le cas classique ou quantique ?

@+

0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
12 avril 2010 à 16:36
Salut.
Comme green day, ta description est vague.
Tu modélises avec la loi de diffusion macroscopique ? genre fick :
d C/dt= -D grad C
où C est la concentration d'une espèce.
Sinon, tu peux faire ça en simulation Monte Carlos.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
16 avril 2010 à 14:23
Le fer ne bouge pas, donc ça ne sert à rien de s'en occupé.
Pourquoi faire des colonnes ? ton problème est unidimensionnel.
Tu fait un tableaux de 1000 case représentant la concentration, et à chaque pas de temps tu le modifie en utilisant la loi de fick, c'est à dire que tu calcul le flux sur les faces du tableau et tu fais un bilan de masse de par et d'autre te permettant de calculer l'évolution de la concentration.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fluent23 Messages postés 3 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 16 avril 2010 1
16 avril 2010 à 16:51
Au fait ça c'est déjà fait et j'obtiens une courbe de concentration en fonction de la profondeur de la matrice de fer considérée.
Ce que j'essaie de faire maintenant c'est de représenter des atomes d'azote en train de bouger dans un tableau sur C pour modéliser le phénomène de la diffusion, et pour ça je crois que je dois dessiner des cases, puis représenter les atomes toutes les secondes pendant 2h en fonction de la profondeur de la matrice de fer, et là je voudrais savoir comment faire?
Merci.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
19 avril 2010 à 08:07
Ton problème concerne l'affichage du résultat et non la modélisation, est-ce ça ?
Je pense que c'est le genre de chose que tu peux faire facilement avec OpenGL.
Linux, Windows ou autre ? Dans tout les cas le code OpenGL est le même, ce qui change c'est l'ouverture de la fenêtre.
0