38namespace incompressible
65 Info<<
" Writing new mesh points " <<
endl;
127 optMeshMovement_(nullptr),
130 dict.subDict(
"optimisationType").
131 getOrDefault<
bool>(
"writeEachMesh", false)
135 dict.subDict(
"optimisationType").
136 getOrDefault<
bool>(
"updateGeometry", true)
150 <<
"There is no patch on which to compute sensitivities. "
151 <<
"Check optimisationDict \n"
173 <<
"Neither eta (updateMethod) "
174 <<
"nor maxAllowedDisplacement (meshMovement) have been set"
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
A primitive field of type <T> with automated input and output.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
bool empty() const noexcept
True if the list is empty (ie, size() is zero)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for optimisation methods.
autoPtr< updateMethod > updateMethod_
virtual void write()
Write useful quantities to files.
Calculates shape sensitivities using the adjoint approach, computes boundaryMesh movement and propaga...
virtual void resetDesignVariables()
Store design variables, as the starting point for line search.
virtual void computeEta(scalarField &correction)
Compute eta if not set in the first step.
virtual void write()
Write useful quantities to files.
autoPtr< optMeshMovement > optMeshMovement_
virtual void storeDesignVariables()
Store design variables, as the starting point for line search.
virtual void updateDesignVariables()=0
Update design variables.
labelHashSet patchSet(const UList< wordRe > &patchNames, const bool warnNotFound=true, const bool useGroups=true) const
Return the set of patch IDs corresponding to the given names.
const fileName & pointsInstance() const
Return the current instance directory for points.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
virtual const pointField & points() const
Return raw points.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
A List of wordRe with additional matching capabilities.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
const polyBoundaryMesh & patches
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define WarningInFunction
Report a warning using Foam::Warning.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
Shape optimisation support library.
PtrList< adjointSolverManager > & adjointSolverManagers