-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClasses TER Paris-Montluçon.txt
78 lines (65 loc) · 2.76 KB
/
Classes TER Paris-Montluçon.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
class EspeceMoleculaire :
string nom;
int taille; //Diametre en nm
float vitesse; //Proportion vitesse max
int pop;
class Reaction :
EspeceMoleculaire* Reac1;
EspeceMoleculaire* Reac2; //0 si y a pas.
EspeceMoleculaire* Produit1;
EspeceMoleculaire* Produit2; //0 si y a pas.
float proba;
class Molecule :
float PositionX;
float PositionY;
float positionZ;
EspeceMoleculaire* espece;
bool traitee;
CSV : Temps; Nb_Em1; Nb_Em2; ...; Nb_Emn; Nb_chocs;
Arguments du programme :
-f : Nom du fichier
-t : Temps total (en µs)
-s : Type de simulation
-j : Saut d'étapes en sortie
Simulateur simple (Gillespie) :
Considère toutes les molécules
Hypothèse : Molécules réparties façon homogène
Estimation statistique
Nb_mol_total/Volume_total -> Concentration
Même densité partout
Nb_choc lié à la concentration
Concentration mol1 = Nb_mol1/Volume_total
Volume est constant
Réaction mono- et bimoléculaires
Mono : 1 molécule à gauche de la formule. e1 -> e3 + e4
Bi : 2 molécules à gauche de la formule. e1 + e2 -> e3 + e4
Trouver nombre de chocs. Proba * nb chocs font la réaction.
Estimation nb chocs : Nb_choc_Reac = alpha * Nb_Em1 * Nb_Em2 / volume
Nb_chocs = float
Partie entière à coup sûr. Proba de partie décimale d'arriver une fois de +
alpha(pour 100 ms) = 7.4 * 10^-7 (Conversion diamètre en microns)
Mono : proba que la réaction s'effectue toute seule (Pas besoin de chocs) : Nb_reac = proba * Nb_mol
L'ordre des réactions de doit pas être la même à chaque fois.
Faire un ordre aléatoire
Entité-Centré :
On a une sphère remplie de molécules
Elle a un diamètre.
Les molécules aussi.
Créer la liste de chaque molécule.
Lors de l'init : Placer les molécules à la suite dans la sphère. ?
A chaque pas de temps :
On fait avancer la molécule:
Elle va dans un endroit vide : Ok
Elle tamponne une autre molécule : On fait la réaction (avec la proba ?)
Elle sort de la sphère : Elle bouge pas
Mélanger la liste de molécule à chaque itération ou changer le sens parcours du vecteur(Début->Fin ==> Fin->Début)
On met la molécule à traitee=true et pareil pour la molécule tamponée
Pour faire avancer la molécule, on peut prendre la plus grande vitesse et faire une probabilité de déplacement.
Pas de réaction si la molécule tamponée est déjà traitée et la molécule bouge pas.
Le booléen pour traitée est différent si on va de haut en bas ou de bas en haut.
On peut faire un système de grille 3D ou chaque cube aurait la taille de (+ grosse molécule)
Elle peut se déplacer d'une case maxi. (Hypothèse)
On compare donc aux molécules dans les cubes autour d'elle plutôt que toutes les molécules
Dans le rapport :
Décrire l'énoncé
Comment on a fait ce qu'on a fait