Go to the documentation of this file.
48 objectiveIncompressible,
49 objectivePartialVolume,
60 const word& adjointSolverName,
61 const word& primalSolverName
68 mesh_.boundaryMesh().patchSet
75 if (
dict.found(
"initialVolume"))
77 initVol_ =
dict.get<scalar>(
"initialVolume");
84 label patchI = iter.key();
90 bdxdbDirectMultPtr_.reset(createZeroBoundaryPtr<vector>(mesh_));
91 bdSdbMultPtr_.reset(createZeroBoundaryPtr<vector>(mesh_));
104 label patchI = iter.key();
119 label pI = iter.key();
133 label pI = iter.key();
scalar J()
Return the objective function value.
autoPtr< boundaryVectorField > bdxdbDirectMultPtr_
static constexpr scalar oneThird
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
objectivePartialVolume(const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName)
from components
static constexpr const zero Zero
Global zero.
addToRunTimeSelectionTable(objectiveIncompressible, objectiveForce, dictionary)
List< wordRe > wordReList
A List of wordRe (word or regular expression)
void setObjectiveFilePtr() const
Set the output file ptr.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Type & value() const
Return const reference to value.
Type gSum(const FieldField< Field, Type > &f)
autoPtr< OFstream > objFunctionFilePtr_
File to keep the objective values after the end of the primal solver.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object.
defineTypeNameAndDebug(objectiveForce, 0)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Istream and Ostream manipulators taking arguments.
Abstract base class for objective functions in incompressible flows.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
void update_dSdbMultiplier()
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
Omanip< int > setw(const int i)
autoPtr< boundaryVectorField > bdSdbMultPtr_
Term multiplying delta(n dS)/delta b.
static bool master(const label communicator=0)
Am I the master process.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
void update_dxdbDirectMultiplier()
forAllConstIters(mixture.phases(), phase)
static unsigned int defaultPrecision()
Return the default precision.
const std::string patch
OpenFOAM patch number as a std::string.
A List of wordRe with additional matching capabilities.
const Time & time() const
Return the top-level database.
void write() const
Write objective function history.