Mka3D
1.0
Discrete Element method for solid mechanics
|
3d elastic solid simulation code (Mka3d) The numerical method uses a Discrete Element method.
To use the code, execute the following commands:
A public repository for the code is on github.
Ce que vous devez remplir pour lancer une simulation:
Création du fichier "maillage.dat":
Description géométrique de chacune des particules face par face:
POINTS 8 \n 0.4 0.4 0.4 \n 0.9 0.4 0.4 \n 0.9 0.6 0.4 \n 0.4 0.6 0.4 \n 0.4 0.4 0.6 \n 0.9 0.4 0.6 \n 0.9 0.6 0.6 \n 0.4 0.6 0.6 \n SOLIDE 1 \n PARTICULE 6 0 \n POSITION 1 1 1 \n VITESSE 1. 0. 0.\n VITROT 0. 0. 0.\n 4 0 3 2 1 -1 \n 4 7 4 5 6 -1 \n 4 0 4 7 3 -1 \n 4 1 2 6 5 -1 \n 4 4 0 1 5 -1 \n 4 3 7 6 2 -1 \n
Les résultats sont écrits dans le dossier resultats. Certains fichiers sont remplis à chaque pas de temps : les fichiers energie.dat, solide_center.dat et temps_reprise.dat donnent respectivement l'évolution de l'énergie, la position du centre du solide au cours du temps et le temps de la simulation. Les fichiers fluide*.vtk et solide*.vtk sont écrits un nombre limité de fois au cours du calcul; fluide*.vtk et solide*.vtk donnent l'état du fluide et la position du solide, peuvent être lus avec Paraview. Le fichier temps.dat est écrit à la fin de la simulation donnent le temps de calcul (temps machine) des differents sous-procédures du code.
Il est possible d'effectuer une reprise sur un calcul interrompu à partir des sorties fluide*.vtk et solide*.vtk: il suffit de changer le flag de reprise bool rep=false en bool rep=true dans le fichier parametres.h et d'indiquer à partir de quel point de reprise on souhaite reprendre à l'aide de la variable int numrep. Par exemple, pour reprendre avec fluide1.vtk et solide1.vtk (c'est-a-dire à partir de la première sortie), on utilisera int numrep=1.