Bezier Class Reference

Calculation of adjoint based sensitivities for Bezier control points. More...

Collaboration diagram for Bezier:
[legend]

Public Member Functions

 TypeName ("Bezier")
 Runtime type information. More...
 
 Bezier (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~Bezier ()=default
 Destructor. More...
 
label nBezier () const
 Number of Bezier control points. More...
 
PtrList< pointTensorField > & dxidXj ()
 dx/db tensor for all control points More...
 
const boolListconfineXmovement () const
 Confine x movement. More...
 
const boolListconfineYmovement () const
 Confine y movement. More...
 
const boolListconfineZmovement () const
 Confine z movement. More...
 
const boolListListconfineMovement () const
 Info about confining movement in all directions. More...
 
tmp< tensorFielddndbBasedSensitivities (const label patchI, const label cpI, bool returnDimensionedNormalSens=true) const
 
tmp< vectorFielddndbBasedSensitivities (const label patchI, const label cpI, const label idir, bool returnDimensionedNormalSens=true) const
 
tmp< tensorFielddxdbFace (const label patchI, const label cpI, bool useChainRule=true) const
 dxdb tensor for a Bezier parameterized patch More...
 
tmp< vectorFielddxdbFace (const label patchI, const label cpI, const label idir, bool useChainRule=true) const
 dxdb vector for a Bezier parameterized patch and a specific control point component More...
 
tensorField facePoints_d (const label globalFaceI, const label cpI) const
 For a given (global) face ID, return the change of the face points. More...
 
vectorField facePoints_d (const label globalFaceI, const label cpI, const label idir) const
 
const labelListgetActiveDesignVariables () const
 Return active design variables. More...
 

Protected Attributes

const fvMeshmesh_
 
const dictionarydict_
 
label nBezier_
 
PtrList< pointTensorFielddxidXj_
 
boolList confineXmovement_
 
boolList confineYmovement_
 
boolList confineZmovement_
 
boolListList confineMovement_
 
labelList activeDesignVariables_
 

Detailed Description

Calculation of adjoint based sensitivities for Bezier control points.

Source files

Definition at line 59 of file Bezier.H.

Constructor & Destructor Documentation

◆ Bezier()

Bezier ( const fvMesh mesh,
const dictionary dict 
)

Construct from components.

Definition at line 47 of file Bezier.C.

References Bezier::activeDesignVariables_, IOobject::AUTO_WRITE, Bezier::confineMovement_, Bezier::confineXmovement_, Bezier::confineYmovement_, Bezier::confineZmovement_, Bezier::dxidXj_, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Bezier::mesh_, IOobject::MUST_READ, Foam::name(), Bezier::nBezier_, Time::New(), List< T >::setSize(), UList< T >::size(), fvMesh::time(), and Time::timeName().

Here is the call graph for this function:

◆ ~Bezier()

virtual ~Bezier ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "Bezier"  )

Runtime type information.

◆ nBezier()

label nBezier ( ) const

Number of Bezier control points.

Definition at line 127 of file Bezier.C.

References Bezier::nBezier_.

Referenced by sensitivityBezier::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), optMeshMovementBezier::computeBoundaryMovement(), sensitivityBezier::sensitivityBezier(), sensitivityBezierFI::sensitivityBezierFI(), sensitivityBezier::write(), and sensitivityBezierFI::write().

Here is the caller graph for this function:

◆ dxidXj()

PtrList< pointTensorField > & dxidXj ( )

dx/db tensor for all control points

Definition at line 133 of file Bezier.C.

References Bezier::dxidXj_.

Referenced by optMeshMovementBezier::computeBoundaryMovement().

Here is the caller graph for this function:

◆ confineXmovement()

const boolList & confineXmovement ( ) const

Confine x movement.

Definition at line 139 of file Bezier.C.

References Bezier::confineXmovement_.

Referenced by sensitivityBezier::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), and optMeshMovementBezier::computeBoundaryMovement().

Here is the caller graph for this function:

◆ confineYmovement()

const boolList & confineYmovement ( ) const

Confine y movement.

Definition at line 145 of file Bezier.C.

References Bezier::confineYmovement_.

Referenced by sensitivityBezier::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), and optMeshMovementBezier::computeBoundaryMovement().

Here is the caller graph for this function:

◆ confineZmovement()

const boolList & confineZmovement ( ) const

Confine z movement.

Definition at line 151 of file Bezier.C.

References Bezier::confineZmovement_.

Referenced by sensitivityBezier::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), and optMeshMovementBezier::computeBoundaryMovement().

Here is the caller graph for this function:

◆ confineMovement()

const boolListList & confineMovement ( ) const

Info about confining movement in all directions.

Definition at line 157 of file Bezier.C.

References Bezier::confineMovement_.

Referenced by sensitivityBezier::write(), and sensitivityBezierFI::write().

Here is the caller graph for this function:

◆ dndbBasedSensitivities() [1/2]

tmp< tensorField > dndbBasedSensitivities ( const label  patchI,
const label  cpI,
bool  returnDimensionedNormalSens = true 
) const

Compute derivative of the normal vector for a Bezier parameterized patch

Definition at line 163 of file Bezier.C.

References fvMesh::boundary(), Bezier::dxidXj_, polyMesh::faces(), forAll, deltaBoundary::makeFaceCentresAndAreas_d(), Bezier::mesh_, Time::New(), polyMesh::points(), face::points(), UList< T >::size(), polyPatch::start(), and Foam::Zero.

Referenced by sensitivityBezier::assembleSensitivities(), and sensitivityBezierFI::assembleSensitivities().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dndbBasedSensitivities() [2/2]

tmp< vectorField > dndbBasedSensitivities ( const label  patchI,
const label  cpI,
const label  idir,
bool  returnDimensionedNormalSens = true 
) const

Compute derivative of the normal vector for a Bezier parameterized patch wrt a given component (direction) of the Bezier control point

Definition at line 219 of file Bezier.C.

References fvMesh::boundary(), Bezier::dxidXj_, polyMesh::faces(), forAll, deltaBoundary::makeFaceCentresAndAreas_d(), Bezier::mesh_, Time::New(), polyMesh::points(), face::points(), UList< T >::size(), polyPatch::start(), Foam::unzipRow(), and Foam::Zero.

Here is the call graph for this function:

◆ dxdbFace() [1/2]

tmp< tensorField > dxdbFace ( const label  patchI,
const label  cpI,
bool  useChainRule = true 
) const

dxdb tensor for a Bezier parameterized patch

Definition at line 278 of file Bezier.C.

References fvMesh::boundary(), Bezier::dxdbFace(), Bezier::dxidXj_, polyMesh::faces(), forAll, deltaBoundary::makeFaceCentresAndAreas_d(), Bezier::mesh_, Time::New(), polyMesh::points(), face::points(), PrimitivePatchInterpolation< Patch >::pointToFaceInterpolate(), UList< T >::size(), and Foam::Zero.

Referenced by sensitivityBezier::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), Bezier::dxdbFace(), and sensitivityBezierFI::solveMeshMovementEqn().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dxdbFace() [2/2]

tmp< vectorField > dxdbFace ( const label  patchI,
const label  cpI,
const label  idir,
bool  useChainRule = true 
) const

dxdb vector for a Bezier parameterized patch and a specific control point component

Definition at line 330 of file Bezier.C.

References fvMesh::boundary(), Field< Type >::component(), Foam::component(), Bezier::dxdbFace(), Bezier::dxidXj_, polyMesh::faces(), forAll, deltaBoundary::makeFaceCentresAndAreas_d(), Bezier::mesh_, Time::New(), polyMesh::points(), face::points(), PrimitivePatchInterpolation< Patch >::pointToFaceInterpolate(), Field< Type >::replace(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ facePoints_d() [1/2]

tensorField facePoints_d ( const label  globalFaceI,
const label  cpI 
) const

For a given (global) face ID, return the change of the face points.

Definition at line 392 of file Bezier.C.

References Bezier::dxidXj_, polyMesh::faces(), forAll, Bezier::mesh_, UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ facePoints_d() [2/2]

vectorField facePoints_d ( const label  globalFaceI,
const label  cpI,
const label  idir 
) const

For a given (global) face ID, return the change of the face points if a given component of the CP changes

Definition at line 408 of file Bezier.C.

References VectorSpace< Form, Cmpt, Ncmpts >::component(), Bezier::dxidXj_, polyMesh::faces(), forAll, Bezier::mesh_, UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ getActiveDesignVariables()

const labelList & getActiveDesignVariables ( ) const

Return active design variables.

Definition at line 428 of file Bezier.C.

References Bezier::activeDesignVariables_.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

◆ dict_

const dictionary& dict_
protected

Definition at line 77 of file Bezier.H.

◆ nBezier_

label nBezier_
protected

Definition at line 79 of file Bezier.H.

Referenced by Bezier::Bezier(), and Bezier::nBezier().

◆ dxidXj_

◆ confineXmovement_

boolList confineXmovement_
protected

Definition at line 82 of file Bezier.H.

Referenced by Bezier::Bezier(), and Bezier::confineXmovement().

◆ confineYmovement_

boolList confineYmovement_
protected

Definition at line 83 of file Bezier.H.

Referenced by Bezier::Bezier(), and Bezier::confineYmovement().

◆ confineZmovement_

boolList confineZmovement_
protected

Definition at line 84 of file Bezier.H.

Referenced by Bezier::Bezier(), and Bezier::confineZmovement().

◆ confineMovement_

boolListList confineMovement_
protected

Definition at line 85 of file Bezier.H.

Referenced by Bezier::Bezier(), and Bezier::confineMovement().

◆ activeDesignVariables_

labelList activeDesignVariables_
protected

Definition at line 86 of file Bezier.H.

Referenced by Bezier::Bezier(), and Bezier::getActiveDesignVariables().


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