optMeshMovementVolumetricBSplines Class Reference

Converts NURBS volume control points update to actual mesh movement. Internal points are also moved based on the movement of the control points. More...

Inheritance diagram for optMeshMovementVolumetricBSplines:
[legend]
Collaboration diagram for optMeshMovementVolumetricBSplines:
[legend]

Public Member Functions

 TypeName ("volumetricBSplines")
 Runtime type information. More...
 
 optMeshMovementVolumetricBSplines (fvMesh &mesh, const dictionary &dict, const labelList &patchIDs)
 Construct from components. More...
 
virtual ~optMeshMovementVolumetricBSplines ()=default
 Destructor. More...
 
void moveMesh ()
 Calculates surface mesh movement. More...
 
virtual void storeDesignVariables ()
 
virtual void resetDesignVariables ()
 Reset to starting point of line search. More...
 
virtual scalar computeEta (const scalarField &correction)
 Compute eta value based on max displacement. More...
 
virtual labelList getActiveDesignVariables () const
 Return active design variables. More...
 
- Public Member Functions inherited from optMeshMovement
 TypeName ("optMeshMovement")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, optMeshMovement, dictionary,(fvMesh &mesh, const dictionary &dict, const labelList &patchIDs),(mesh, dict, patchIDs))
 
 optMeshMovement (fvMesh &mesh, const dictionary &dict, const labelList &patchIDs)
 Construct from components. More...
 
virtual ~optMeshMovement ()=default
 Destructor. More...
 
void setCorrection (const scalarField &correction)
 Set design variable correction. More...
 
virtual void moveMesh ()
 
autoPtr< displacementMethod > & returnDisplacementMethod ()
 Return displacementMethod. More...
 
const labelListgetPatchIDs ()
 Return patchIDs. More...
 
void writeMeshQualityMetrics ()
 Write mesh quality metrics. More...
 
virtual void storeDesignVariables ()
 
virtual void resetDesignVariables ()
 Reset to starting point of line search. More...
 
virtual scalar computeEta (const scalarField &correction)=0
 Compute eta value based on max displacement. More...
 
bool maxAllowedDisplacementSet () const
 Whether maxAllowedDisplacement has been set. More...
 
virtual labelList getActiveDesignVariables () const
 Return active design variables. More...
 

Protected Member Functions

vectorField controlPointMovement (const scalarField &correction)
 
- Protected Member Functions inherited from optMeshMovement
scalar getMaxAllowedDisplacement () const
 Get maxAllowedDisplacement, is set. More...
 

Protected Attributes

volBSplinesBasevolBSplinesBase_
 Reference to underlaying volumetric B-Splines morpher. More...
 
List< vectorFieldcpsInit_
 Backup of initial control points. Useful for line-search. More...
 
- Protected Attributes inherited from optMeshMovement
fvMeshmesh_
 
const dictionarydict_
 
scalarField correction_
 Correction of design variables. More...
 
labelList patchIDs_
 IDs of patches to be moved. More...
 
vectorField pointsInit_
 Fall back points in case line-search is used. More...
 
autoPtr< displacementMethoddisplMethodPtr_
 
bool writeMeshQualityMetrics_
 

Additional Inherited Members

- Static Public Member Functions inherited from optMeshMovement
static autoPtr< optMeshMovementNew (fvMesh &mesh, const dictionary &dict, const labelList &patchIDs)
 

Detailed Description

Converts NURBS volume control points update to actual mesh movement. Internal points are also moved based on the movement of the control points.

Source files

Definition at line 54 of file optMeshMovementVolumetricBSplines.H.

Constructor & Destructor Documentation

◆ optMeshMovementVolumetricBSplines()

optMeshMovementVolumetricBSplines ( fvMesh mesh,
const dictionary dict,
const labelList patchIDs 
)

Construct from components.

Definition at line 72 of file optMeshMovementVolumetricBSplines.C.

References volBSplinesBase::boxesRef(), optMeshMovementVolumetricBSplines::cpsInit_, forAll, List< T >::setSize(), and optMeshMovementVolumetricBSplines::volBSplinesBase_.

Here is the call graph for this function:

◆ ~optMeshMovementVolumetricBSplines()

virtual ~optMeshMovementVolumetricBSplines ( )
virtualdefault

Destructor.

Member Function Documentation

◆ controlPointMovement()

Foam::vectorField controlPointMovement ( const scalarField correction)
protected

Definition at line 50 of file optMeshMovementVolumetricBSplines.C.

References Foam::correction(), optMeshMovement::displMethodPtr_, and Foam::Zero.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "volumetricBSplines"  )

Runtime type information.

◆ moveMesh()

void moveMesh ( )
virtual

Calculates surface mesh movement.

Reimplemented from optMeshMovement.

Definition at line 101 of file optMeshMovementVolumetricBSplines.C.

References optMeshMovement::moveMesh().

Here is the call graph for this function:

◆ storeDesignVariables()

void storeDesignVariables ( )
virtual

Store design variables and mesh, to act as the starting point of line search

Reimplemented from optMeshMovement.

Definition at line 114 of file optMeshMovementVolumetricBSplines.C.

References forAll, and optMeshMovement::storeDesignVariables().

Here is the call graph for this function:

◆ resetDesignVariables()

void resetDesignVariables ( )
virtual

Reset to starting point of line search.

Reimplemented from optMeshMovement.

Definition at line 125 of file optMeshMovementVolumetricBSplines.C.

References DebugInfo, Foam::endl(), forAll, and optMeshMovement::resetDesignVariables().

Here is the call graph for this function:

◆ computeEta()

Foam::scalar computeEta ( const scalarField correction)
virtual

Compute eta value based on max displacement.

Implements optMeshMovement.

Definition at line 142 of file optMeshMovementVolumetricBSplines.C.

References Foam::correction(), Foam::endl(), and Foam::Info.

Here is the call graph for this function:

◆ getActiveDesignVariables()

Foam::labelList getActiveDesignVariables ( ) const
virtual

Return active design variables.

Reimplemented from optMeshMovement.

Definition at line 167 of file optMeshMovementVolumetricBSplines.C.

Member Data Documentation

◆ volBSplinesBase_

volBSplinesBase& volBSplinesBase_
protected

Reference to underlaying volumetric B-Splines morpher.

Definition at line 63 of file optMeshMovementVolumetricBSplines.H.

Referenced by optMeshMovementVolumetricBSplines::optMeshMovementVolumetricBSplines().

◆ cpsInit_

List<vectorField> cpsInit_
protected

Backup of initial control points. Useful for line-search.

Definition at line 66 of file optMeshMovementVolumetricBSplines.H.

Referenced by optMeshMovementVolumetricBSplines::optMeshMovementVolumetricBSplines().


The documentation for this class was generated from the following files: