38#ifndef SIMPLEControl_H
39#define SIMPLEControl_H
79 SIMPLEControl(
const SIMPLEControl&) =
delete;
82 void operator=(
const SIMPLEControl&) =
delete;
116 const word& managerType,
131 const word& managerType,
158 virtual bool write(
const bool valid =
true)
const = 0;
163 virtual bool loop() = 0;
label pRefCell_
Pressure reference cell.
virtual bool converged()
Is the solver converged.
declareRunTimeSelectionTable(autoPtr, SIMPLEControl, dictionary,(fvMesh &mesh, const word &managerType, const solver &solver),(mesh, managerType, solver))
static autoPtr< SIMPLEControl > New(fvMesh &mesh, const word &managerType, const solver &solver)
Return a reference to the selected turbulence model.
virtual void incrementIter()
Increment iteration counter.
label nIters_
Number of SIMPLE iterations.
TypeName("SIMPLEControl")
Run-time type information.
label & pRefCell()
Return pressure reference cell.
scalar & pRefValue()
Return pressure reference value.
virtual bool write(const bool valid=true) const =0
Whether to call time.write() or not.
virtual const dictionary dict() const
Return the solution dictionary.
const word & managerType_
Optimisation type.
scalar pRefValue_
Pressure reference value.
void checkMeanSolution() const
virtual ~SIMPLEControl()=default
Destructor.
virtual bool loop()=0
Loop.
virtual bool performIter()
Perform this iteration?
virtual bool read()
Read controls from optimisationDict.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
A class for handling words, derived from Foam::string.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.