![]() |
ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
|
Class regrouping all information for a simulation. More...
#include <Run.h>
Public Member Functions | |
| Run (std::string nameCasTest, const int &number) | |
| ~Run () | |
| void | initialize () |
| Initialization of the simulation. | |
| void | solver () |
| Hyperbolic resolution + Relaxations + Source terms integration. | |
| void | finalize () |
| Cleaning simulation. | |
| void | resumeSimulation () |
| void | restartSimulationMeshMapping (std::vector< GeometricalDomain * > &domains, Mesh *mesh) |
| const int & | getNumberPhases () const |
Private Member Functions | |
| void | integrationProcedure (double &dt, int lvl, double &dtMax, int &nbCellsTotalAMR) |
| void | advancingProcedure (double &dt, int &lvl, double &dtMax) |
| void | solveHyperbolic (double &dt, int &lvl, double &dtMax) |
| void | solveHyperbolicO2 (double &dt, int &lvl, double &dtMax) |
| void | solveAdditionalPhysics (double &dt, int &lvl) |
| void | solveSourceTerms (double &dt, int &lvl) |
| void | solveRelaxations (double &dt, int &lvl) |
| void | verifyErrors () |
| void | saveInfosLES (std::vector< Cell * > *cellsLvl) |
Private Attributes | |
| int | m_numTest |
| Number of the simulation. | |
| std::string | m_simulationName |
| Name of the simulation. | |
| bool | m_timeControlIterations |
| Choice for time control mode (iteration or physical time). | |
| int | m_nbIte |
| int | m_freq |
| Requested number of final time iteration and frequency. | |
| double | m_finalPhysicalTime |
| double | m_timeFreq |
| Requested final physical time of the simulation and time frequency for output printing. | |
| double | m_cfl |
| CFL criteria (between 0 and 1). | |
| int | m_numberPhases |
| Number of phases. | |
| int | m_numberSolids |
| Number of solid phases. | |
| int | m_numberEos |
| Number of equations of states. | |
| int | m_numberTransports |
| Number of additional transport variables. | |
| int | m_numberAddPhys |
| Number of additional physical effects. | |
| int | m_numberSources |
| Number of additional source terms. | |
| int | m_dimension |
| dimension 1, 2 or 3 | |
| int | m_MRF |
| source term for Moving Reference Frame computation index(in the list of source term) | |
| bool | m_viscous |
| Viscous flow additionnal physic option required to set proper wall boundary condition (false by default). | |
| bool | m_StrangSplitting |
| Splitting boolean for secondOrder scheme (Godunov splitting or Strang splitting). | |
| bool | m_extractRefLength |
| Option to extract cells' reference length. | |
| std::vector< GeometricalDomain * > | m_solidDomains |
| Solid domains (immersed boundaries). | |
| int | m_lvlMax |
| Maximum AMR level (if 0, then no AMR). | |
| int | m_nbCellsTotalAMR |
| Number of total cells during the simulation. | |
| bool | m_parallelPreTreatment |
| Choice for mesh parallel pre-treatment (needed for first simulation on a new parallel unstructured geometry). | |
| bool | m_smoothCrossSection1d |
| 1D with smooth cross section variation scheme if active | |
| Mesh * | m_mesh |
| Mesh type object: contains all geometrical properties of the simulation. | |
| Model * | m_model |
| Model type object: contains the flow model methods. | |
| Gradient * | m_gradient |
| Gradient type object: contains the gradient method. | |
| TypeMeshContainer< Cell * > * | m_cellsLvl |
| Array of vectors (one per level) of computational cell objects: Contains physical fluid states. | |
| TypeMeshContainer< Cell * > * | m_cellsLvlGhost |
| Array of vectors (one per level) of ghost cell objects. | |
| TypeMeshContainer< CellInterface * > * | m_cellInterfacesLvl |
| Eos ** | m_eos |
| Array of Equations of states: Contains fluid EOS parameters. | |
| std::vector< AddPhys * > | m_addPhys |
| Vector of Additional physics. | |
| Symmetry * | m_symmetry |
| Specific object for symmetry (cylindrical or spherical) if active. | |
| std::vector< Source * > | m_sources |
| Vector of source terms. | |
| Limiter * | m_globalLimiter |
| Slope limiter type object for second order in space. | |
| Limiter * | m_interfaceLimiter |
| Slope limiter type object for second order in space specific to interface location. | |
| Limiter * | m_globalVolumeFractionLimiter |
| Limiter * | m_interfaceVolumeFractionLimiter |
| std::vector< std::string > | m_nameGTR |
| Vector of transport variable names. | |
| std::vector< std::string > | m_nameQPA |
| Vector of names of the quantities of additional physics. | |
| std::vector< std::string > | m_nameGPH |
| Vector of phasic variables name. | |
| double | m_dt |
| Explicit time step. | |
| double | m_dtNext |
| Next time step. | |
| double | m_physicalTime |
| Physical time. | |
| int | m_iteration |
| time iteration number | |
| int | m_resumeSimulation |
| File number for resuming a simulation. | |
| int | m_resumeAMRsaveFreq |
| Frequency at which a save to resume a simulation is done (usefull only for AMR). | |
| Input * | m_input |
| Input object. | |
| Output * | m_outPut |
| Main output object. | |
| std::vector< Output * > | m_cuts |
| Vector of output objects for cuts. | |
| std::vector< Output * > | m_probes |
| Vector of output objects for probes. | |
| std::vector< Output * > | m_globalQuantities |
| Vector of output objects for global quantities (mass or total energy). | |
| std::vector< Output * > | m_recordBoundaries |
| Vector of output object for boundaries data recording. | |
| timeStats | m_stat |
| Object linked to computational time statistics. | |
| double * | m_pMax |
| Maximal pressure found between each written output (only for few test cases). | |
| double * | m_pMaxWall |
| Coordinate of the maximal pressure found between each written output (only for few test cases). | |
| double | m_volumePhaseK |
| Volume of phase k. Output with purpose to track the radius of a bubble over time. | |
| double | m_massWanted |
| double | m_alphaWanted |
| Mass and corresponding volume fraction for special output (only for few test cases). | |
| bool | m_recordPsat |
| bool | m_restartMeshMapping |
| Option to set the mesh mapping restart option. | |
| Output * | m_outputMeshMapping |
| Output object containing info from simulation to be mapped (usually the rough mesh). | |
| std::string | m_meshFileMapped |
| Filename of the mesh to be mapped. | |
| double | m_globalVolume |
| Volume of the entire domain. | |
| double | m_globalUiui |
| Volume-weighted uiui (numerator only). | |
| double | m_globalEnstrophy |
| Volume-weighted enstrophy (numerator only). | |
| double | m_globalTT |
| Volume-weighted of temperature squared (numerator only). | |
| double | m_globalT |
| Volume-weighted temperature (numerator only). | |
| double | m_globalThetaTheta |
| Volume-weighted dilatation (numerator only). | |
| double | m_meanTemp |
| Volume-weighted temperature of the domain. | |
| bool | m_warn |
| 1 if at least one MPI process writes a warning file | |
Friends | |
| class | Input |
| class | Output |
| class | OutputVTK |
| class | OutputGNU |
| class | OutputProbeGNU |
| class | OutputCutGNU |
| class | OutputGlobalGNU |
| class | OutputBoundaryGNU |
| class | OutputBoundaryFluxGNU |
| class | OutputBoundaryAllGNU |
| class | Mesh |
Class regrouping all information for a simulation.
| Run::Run | ( | std::string | nameCasTest, |
| const int & | number ) |
| Run::~Run | ( | ) |
|
private |
| void Run::finalize | ( | ) |
Cleaning simulation.
Memory desallocations
|
inline |
| void Run::initialize | ( | ) |
Initialization of the simulation.
|
private |
| void Run::restartSimulationMeshMapping | ( | std::vector< GeometricalDomain * > & | domains, |
| Mesh * | mesh ) |
| void Run::resumeSimulation | ( | ) |
|
private |
|
private |
|
private |
|
private |
| void Run::solver | ( | ) |
Hyperbolic resolution + Relaxations + Source terms integration.
Hyperbolic part is solved using Finite Volume method :
\[ \frac{U^{n+1}_i-U^{n}_i}{\Delta t} = -\sum_{faces} \vec{F}^*_f \cdot \vec{n}_f \]
|
private |
|
private |
|
private |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
Mass and corresponding volume fraction for special output (only for few test cases).
|
private |
Array of vectors (one per level) of interface objects between cells (or between a cell and a physical domain boundary)
|
private |
Array of vectors (one per level) of computational cell objects: Contains physical fluid states.
|
private |
Array of vectors (one per level) of ghost cell objects.
|
private |
CFL criteria (between 0 and 1).
|
private |
dimension 1, 2 or 3
|
private |
Explicit time step.
|
private |
Next time step.
|
private |
Array of Equations of states: Contains fluid EOS parameters.
|
private |
Option to extract cells' reference length.
|
private |
|
private |
Requested number of final time iteration and frequency.
|
private |
Volume-weighted enstrophy (numerator only).
|
private |
Slope limiter type object for second order in space.
|
private |
Vector of output objects for global quantities (mass or total energy).
|
private |
Volume-weighted temperature (numerator only).
|
private |
Volume-weighted dilatation (numerator only).
|
private |
Volume-weighted of temperature squared (numerator only).
|
private |
Volume-weighted uiui (numerator only).
|
private |
Volume of the entire domain.
|
private |
Slope limiter type object for second order in space specific to interface advected variables (alpha, transports)
|
private |
Slope limiter type object for second order in space specific to interface location.
|
private |
Slope limiter type object for second order in space specific to interface advected variables (alpha, transports) and to interface location
|
private |
time iteration number
|
private |
Maximum AMR level (if 0, then no AMR).
|
private |
|
private |
Volume-weighted temperature of the domain.
|
private |
Filename of the mesh to be mapped.
|
private |
source term for Moving Reference Frame computation index(in the list of source term)
|
private |
Vector of phasic variables name.
|
private |
Vector of transport variable names.
|
private |
Vector of names of the quantities of additional physics.
|
private |
Number of total cells during the simulation.
|
private |
|
private |
Number of additional physical effects.
|
private |
Number of equations of states.
|
private |
Number of phases.
|
private |
Number of solid phases.
|
private |
Number of additional source terms.
|
private |
Number of additional transport variables.
|
private |
Number of the simulation.
|
private |
Main output object.
|
private |
Output object containing info from simulation to be mapped (usually the rough mesh).
|
private |
Choice for mesh parallel pre-treatment (needed for first simulation on a new parallel unstructured geometry).
|
private |
Physical time.
|
private |
Maximal pressure found between each written output (only for few test cases).
|
private |
Coordinate of the maximal pressure found between each written output (only for few test cases).
|
private |
Vector of output object for boundaries data recording.
|
private |
Add recording of saturation pressure (valid for a liquid/vapor couple and predominant phase should be first)
|
private |
Option to set the mesh mapping restart option.
|
private |
Frequency at which a save to resume a simulation is done (usefull only for AMR).
|
private |
File number for resuming a simulation.
|
private |
Name of the simulation.
|
private |
1D with smooth cross section variation scheme if active
|
private |
Solid domains (immersed boundaries).
|
private |
Object linked to computational time statistics.
|
private |
Splitting boolean for secondOrder scheme (Godunov splitting or Strang splitting).
|
private |
Specific object for symmetry (cylindrical or spherical) if active.
|
private |
Choice for time control mode (iteration or physical time).
|
private |
Requested final physical time of the simulation and time frequency for output printing.
|
private |
Viscous flow additionnal physic option required to set proper wall boundary condition (false by default).
|
private |
Volume of phase k. Output with purpose to track the radius of a bubble over time.
|
private |
1 if at least one MPI process writes a warning file