![]() |
ECOGEN 4.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 | restartSimulation () |
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 () const |
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) | |
std::string | m_order |
Precision scheme order (firstorder or secondOrder) | |
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 |
Array of vectors (one per level) of interface objects between cells (or between a cell and a physical domain boundary) | |
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 |
Slope limiter type object for second order in space specific to interface advected variables (alpha, transports) | |
Limiter * | m_interfaceVolumeFractionLimiter |
Slope limiter type object for second order in space specific to interface advected variables (alpha, transports) and to interface location. | |
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_restartSimulation |
File number for restarting a simulation. | |
int | m_restartAMRsaveFreq |
Frequency at which a save to restart 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 |
Add recording of saturation pressure (valid for a liquid/vapor couple and predominant phase should be first) | |
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. | |
Friends | |
class | Input |
class | Output |
class | OutputXML |
class | OutputGNU |
class | OutputProbeGNU |
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::restartSimulation | ( | ) |
void Run::restartSimulationMeshMapping | ( | std::vector< GeometricalDomain * > & | domains, |
Mesh * | mesh | ||
) |
|
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 |
|
private |
Vector of Additional physics.
|
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 |
Vector of output objects for cuts.
|
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 |
Slope limiter type object for second order in space.
|
private |
Vector of output objects for global quantities (mass or total energy)
|
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 |
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 |
Precision scheme order (firstorder or secondOrder)
|
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 objects for probes.
|
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 |
Frequency at which a save to restart a simulation is done (usefull only for AMR)
|
private |
Option to set the mesh mapping restart option.
|
private |
File number for restarting a simulation.
|
private |
Name of the simulation.
|
private |
1D with smooth cross section variation scheme if active
|
private |
Solid domains (immersed boundaries)
|
private |
Vector of source terms.
|
private |
Object linked to computational time statistics.
|
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.