Go to the documentation of this file.
42 optMeshMovementVolumetricBSplines,
55 const label nControlPoints(
correction.size()/3);
58 for (label iCP = 0; iCP < nControlPoints; ++iCP)
64 displMethodPtr_->boundControlField(cpMovement);
72 Foam::optMeshMovementVolumetricBSplines::optMeshMovementVolumetricBSplines
84 cpsInit_(volBSplinesBase_.getNumberOfBoxes())
90 cpsInit_[boxI].setSize
92 boxes[boxI].getControlPoints().size()
94 cpsInit_[boxI] = boxes[boxI].getControlPoints();
120 cpsInit_[boxI] = boxes[boxI].getControlPoints();
131 <<
"optMeshMovementVolumetricBSplines:: resetting control points"
137 boxes[boxI].setControlPoints(cpsInit_[boxI]);
148 const scalar maxDisplacement
150 volBSplinesBase_.computeMaxBoundaryDisplacement
157 Info<<
"maxAllowedDisplacement/maxDisplacement of boundary\t"
158 << getMaxAllowedDisplacement() <<
"/" << maxDisplacement <<
endl;
159 scalar eta = getMaxAllowedDisplacement() / maxDisplacement;
160 Info<<
"Setting eta value to " << eta <<
endl;
169 return volBSplinesBase_.getActiveDesignVariables();
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
autoPtr< displacementMethod > displMethodPtr_
virtual scalar computeEta(const scalarField &correction)
Compute eta value based on max displacement.
virtual void resetDesignVariables()
Reset to starting point of line search.
Class constructing a number of volumetric B-Splines boxes, read from dynamicMeshDict....
static constexpr const zero Zero
Global zero (0)
virtual void storeDesignVariables()
virtual void storeDesignVariables()
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
#define forAll(list, i)
Loop across all elements in list.
messageStream Info
Information stream (uses stdout - output is on the master only)
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
vectorField controlPointMovement(const scalarField &correction)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
#define DebugInfo
Report an information message using Foam::Info.
virtual labelList getActiveDesignVariables() const
Return active design variables.
scalarField correction_
Correction of design variables.
Abstract base class for translating an update of the design variables into mesh movement.
defineTypeNameAndDebug(combustionModel, 0)
virtual void resetDesignVariables()
Reset to starting point of line search.
void moveMesh()
Calculates surface mesh movement.