Go to the documentation of this file.
41 optMeshMovementBezier,
64 for (label iCP = 0; iCP < nBezier; iCP++)
67 if (!confineXmovement[iCP])
72 if (!confineYmovement[iCP])
74 actualMovement[iCP].y() =
correction[iCP + nBezier];
77 if (!confineZmovement[iCP])
79 actualMovement[iCP].z() =
correction[iCP + 2*nBezier];
93 Foam::optMeshMovementBezier::optMeshMovementBezier
116 cumulativeChange_(Bezier_.nBezier(),
Zero)
125 computeBoundaryMovement(correction_);
128 displMethodPtr_->setMotionField(dx_);
142 const scalar maxDisplacement =
gMax(
mag(dx_.primitiveField()));
145 Info<<
"maxAllowedDisplacement/maxDisplacement \t"
146 << getMaxAllowedDisplacement() <<
"/" << maxDisplacement <<
endl;
147 const scalar eta = getMaxAllowedDisplacement()/maxDisplacement;
148 Info<<
"Setting eta value to " << eta <<
endl;
156 return Bezier_.getActiveDesignVariables();
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
autoPtr< displacementMethod > displMethodPtr_
const boolList & confineXmovement() const
static constexpr const zero Zero
Ostream & endl(Ostream &os)
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
const boolList & confineZmovement() const
PtrList< pointTensorField > & dxidXj()
Generic templated field type.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual scalar computeEta(const scalarField &correction)
vectorField cumulativeChange_
Macros for easy insertion into run-time selection tables.
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
Mesh representing a set of points created from polyMesh.
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
virtual labelList getActiveDesignVariables() const
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const boolList & confineYmovement() const
Abstract base class for translating an update of the design variables into mesh movement.
defineTypeNameAndDebug(combustionModel, 0)
void computeBoundaryMovement(const scalarField &correction)
Type gMax(const FieldField< Field, Type > &f)
const dimensionSet dimless