#include <tutorial/microhydro/MicroHydroModule.h>
| Fonctions membres publiques | |
| MicroHydroModule (const ModuleBuildInfo &mbi) | |
| ~MicroHydroModule () | |
| virtual void | hydroStartInit () | 
| virtual void | computePressureForce () | 
| virtual void | computeVelocity () | 
| virtual void | applyBoundaryCondition () | 
| virtual void | moveNodes () | 
| virtual void | computeGeometricValues () | 
| virtual void | updateDensity () | 
| virtual void | applyEquationOfState () | 
| virtual void | computeDeltaT () | 
| virtual VersionInfo | versionInfo () const | 
Représente un module d'hydrodynamique lagrangienne très simplifié :
La liste des opérations effectuées par le module est la suivante :
Définition à la ligne 31 du fichier MicroHydroModule.h.
| 
 | inline | 
Constructeur de la classe
Définition à la ligne 36 du fichier MicroHydroModule.h.
| 
 | inline | 
Destructeur de la classe
Définition à la ligne 39 du fichier MicroHydroModule.h.
| 
 | virtual | 
Applique les conditions aux limites. Les conditions aux limites dépendent des options du jeu de données. Dans cette implémentation, une condition aux limites possède les propriétés suivantes :
Appliquer les conditions aux limites consiste donc à fixer une composante d'un vecteur vitesse pour chaque noeud de chaque face de chaque surface sur laquelle on impose une condition aux limites.
Définition à la ligne 86 du fichier MicroHydroModule.cc.
Références ENUMERATE_FACE, Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), TypesMicroHydro::Unknown, TypesMicroHydro::VelocityX, TypesMicroHydro::VelocityY, TypesMicroHydro::VelocityZ, Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.
| 
 | virtual | 
Ce point d'entrée calcule l'énergie interne, la pression et la vitesse du son dans la maille en faisant appel au service d'équation d'état.
Définition à la ligne 215 du fichier MicroHydroModule.cc.
Références ENUMERATE_CELL.
| 
 | virtual | 
Détermine la valeur du pas de temps pour l'itération suivante. Le pas de temps est contraint par :
deltatMin() et deltatMax() du jeu de données,finalTime()). Définition à la ligne 236 du fichier MicroHydroModule.cc.
Références ENUMERATE_CELL, et Arcane::Parallel::ReduceMin.
| 
 | virtual | 
Ce point d'entrée regroupe l'ensemble des calculs géométriques utiles pour le schéma. Dans notre cas, il s'agit pour chaque maille :
Pour optimiser le calcul (utilisation du cache), à chaque itération sur une maille, sont stockées localement les coordonnées de ses noeuds et celles du centre de ses faces.
Définition à la ligne 141 du fichier MicroHydroModule.cc.
Références Arcane::Real3::abs(), ENUMERATE_CELL, Arcane::ItemWithNodes::nodes(), et Arcane::math::scaMul().
Référencé par hydroStartInit().
| 
 | virtual | 
Calcule la contribution des forces de pression par noeud au temps courant \(t^{n}\). Pour chaque noeud de chaque maille, il s'agit de la pression multipliée par la résultante en ce noeud. Calcule les forces de pression au temps courant \(t^{n}\).
Définition à la ligne 48 du fichier MicroHydroModule.cc.
Références ENUMERATE_CELL, et Arcane::ItemWithNodes::nodes().
| 
 | virtual | 
Calcule la force (m_force) qui s'applique aux noeuds en ajoutant l'éventuelle contribution de la pseudo-viscosité. Calcule ensuite la nouvelle vitesse (m_velocity) aux noeuds. 
Définition à la ligne 67 du fichier MicroHydroModule.cc.
Références ENUMERATE_NODE.
| 
 | virtual | 
Initialise le module. L'initialisation comporte deux parties distinctes:
m_cell_cqs et m_viscosity_force, qui sont toutes deux des variables aux mailles possédant une valeur pour chaque noeud de chaque maille. Comme on ne supporte que les héxaèdres, il y a 8 valeurs par maille,Pressure, Density et AdiabaticCst, c'est ARCANE qui les initialisent directement à partir du jeu de donnée. La variable NodeCoord est aussi initialisée par l'architecture lors de la lecture du maillage. Les autres variables sont calculées comme suit :Définition à la ligne 13 du fichier MicroHydroModule.cc.
Références computeGeometricValues(), ENUMERATE_CELL, et Arcane::ItemWithNodes::nodes().
| 
 | virtual | 
Modifie les coordonnées (m_node_coord) des noeuds d'après la valeur du vecteur vitesse et du pas de temps. 
Définition à la ligne 128 du fichier MicroHydroModule.cc.
Références ENUMERATE_NODE.
| 
 | virtual | 
Calcule la nouvelle valeur de la densité des mailles, en considérant que la masse d'une maille est constante au cours du temps. Dans ce cas, la nouvelle densité est égale à la masse divisée par le nouveau volume.
Définition à la ligne 199 du fichier MicroHydroModule.cc.
Références ENUMERATE_CELL.
| 
 | inlinevirtual | 
Retourne le numéro de version du module
Définition à la ligne 153 du fichier MicroHydroModule.h.