45 _args = autoPtr<argList>
47 new argList(argc, argv)
50 if (!
_args->checkRootCase())
52 Foam::FatalError.exit();
55 argList& args =
_args();
73 "The BC method must be set to lift or penalty or none in ITHACAdict");
76 "The flux method must be set to inconsistent or consistent in ITHACAdict");
88 volScalarField&
p =
_p();
89 volVectorField&
U =
_U();
90 surfaceScalarField&
phi =
_phi();
97#include "initContinuityErrs.H"
98 dimensionedScalar
nu =
_nu() * mu_now[0];
100 IOMRFZoneList& MRF =
_MRF();
102 instantList Times =
runTime.times();
112 std::ofstream of(folder + name(
counter) +
"/" +
123#include "readTimeControls.H"
124#include "CourantNo.H"
125#include "setDeltaT.H"
128 Info <<
"Time = " <<
runTime.timeName() << nl << endl;
139#include "initContinuityErrs.H"
140 Info <<
"ExecutionTime = " <<
runTime.elapsedCpuTime() <<
" s"
141 <<
" ClockTime = " <<
runTime.elapsedClockTime() <<
" s"
149 std::ofstream of(folder + name(
counter) +
"/" +
#define M_Assert(Expr, Msg)
Header file of the UnsteadyNSExplicit class.
static ITHACAparameters * getInstance()
Gets an instance of ITHACAparameters, to be used if the instance is already existing.
UnsteadyNSExplicit()
Construct Null.
autoPtr< dimensionedScalar > _dt
dimensionedScalar dt;
autoPtr< dimensionedScalar > _nu
dimensionedScalar nu;
bool checkWrite(Time &timeObject)
Function to check if the solution must be exported.
scalar startTime
Start Time (initial time to start storing the snapshots)
scalar writeEvery
Time step of the writing procedure.
scalar timeStep
Time step of the simulation.
scalar nextWrite
Auxiliary variable to store the next writing instant.
scalar finalTime
Final time (final time of the simulation and consequently of the acquisition of the snapshots)
label counter
Counter used for the output of the full order solutions.
bool offline
Boolean variable, it is 1 if the Offline phase has already been computed, else 0.
IOdictionary * ITHACAdict
dictionary to store input output infos
autoPtr< argList > _args
argList
bool podex
Boolean variable, it is 1 if the POD has already been computed, else 0.
void truthSolve()
Perform a TruthSolve.
bool supex
Boolean variable to check the existence of the supremizer modes.
autoPtr< surfaceScalarField > _phi
Flux.
PtrList< volScalarField > Pfield
List of pointers used to form the pressure snapshots matrix.
autoPtr< Time > _runTime
Time.
PtrList< volVectorField > Ufield
List of pointers used to form the velocity snapshots matrix.
autoPtr< fvMesh > _mesh
Mesh.
autoPtr< singlePhaseTransportModel > _laminarTransport
Laminar transport (used by turbulence model)
PtrList< surfaceScalarField > Phifield
List of pointers used to form the flux snapshots matrix.
word fluxMethod
Flux Method.
autoPtr< IOMRFZoneList > _MRF
MRF variable.
autoPtr< volVectorField > _U
Velocity field.
word bcMethod
Boundary Method.
autoPtr< volScalarField > _p
Pressure field.
void exportSolution(GeometricField< Type, PatchField, GeoMesh > &s, fileName subfolder, fileName folder, word fieldName)
Export a field to file in a certain folder and subfolder.
bool check_pod()
Check if the POD data folder "./ITHACAoutput/POD" exists.
bool check_off()
Check if the offline data folder "./ITHACAoutput/Offline" exists.
bool check_sup()
Check if the supremizer folder exists.
singlePhaseTransportModel & laminarTransport