Calculation of adjoint based sensitivities at vol BSplines control points using the FI approach. More...
Public Member Functions  
TypeName ("volumetricBSplinesFI")  
Runtime type information. More...  
sensitivityVolBSplinesFI (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)  
Construct from components. More...  
virtual  ~sensitivityVolBSplinesFI ()=default 
Destructor. More...  
virtual void  assembleSensitivities () 
Assemble sensitivities. More...  
virtual void  clearSensitivities () 
Zero sensitivity fields and their constituents. More...  
virtual void  write (const word &baseName=word::null) 
Write sensitivities to file. More...  
Public Member Functions inherited from FIBase  
TypeName ("volumetricBSplinesFI")  
Runtime type information. More...  
FIBase (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)  
Construct from components. More...  
virtual  ~FIBase ()=default 
Destructor. More...  
virtual bool  readDict (const dictionary &dict) 
Read dict if changed. More...  
virtual void  accumulateIntegrand (const scalar dt) 
Accumulate sensitivity integrands. More...  
Public Member Functions inherited from shapeSensitivities  
TypeName ("shapeSensitivities")  
Runtime type information. More...  
shapeSensitivities (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)  
Construct from components. More...  
virtual  ~shapeSensitivities ()=default 
Destructor. More...  
Public Member Functions inherited from adjointSensitivity  
TypeName ("adjointSensitivity")  
Runtime type information. More...  
declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager),(mesh, dict, primalVars, adjointVars, objectiveManager))  
adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)  
Construct from components. More...  
virtual  ~adjointSensitivity ()=default 
Destructor. More...  
virtual const scalarField &  calculateSensitivities () 
Calculates and returns sensitivity fields. More...  
const scalarField &  getSensitivities () const 
Returns the sensitivity fields. More...  
tmp< volTensorField >  computeGradDxDbMultiplier () 
tmp< volVectorField >  adjointMeshMovementSource () 
Compute source term for adjoint mesh movement equation. More...  
Public Member Functions inherited from sensitivity  
TypeName ("sensitivity")  
Runtime type information. More...  
sensitivity (const fvMesh &mesh, const dictionary &dict)  
Construct from components. More...  
virtual  ~sensitivity ()=default 
Destructor. More...  
const dictionary &  dict () const 
Return the construction dictionary. More...  
virtual void  computeDerivativesSize () 
Compute design variables number. Does nothing in the base. More...  
Additional Inherited Members  
Static Public Member Functions inherited from adjointSensitivity  
static autoPtr< adjointSensitivity >  New (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) 
Return a reference to the selected turbulence model. More...  
Protected Member Functions inherited from FIBase  
void  read () 
Read options and update solver pointers if necessary. More...  
Protected Member Functions inherited from shapeSensitivities  
virtual void  accumulateDirectSensitivityIntegrand (const scalar dt) 
Accumulate direct sensitivities. More...  
virtual void  accumulateBCSensitivityIntegrand (const scalar dt) 
Accumulate sensitivities enamating from the boundary conditions. More...  
tmp< boundaryVectorField >  dvdbMult () const 
Compute multiplier of dv_i/db. More...  
Calculation of adjoint based sensitivities at vol BSplines control points using the FI approach.
Definition at line 57 of file sensitivityVolBSplinesFIIncompressible.H.
sensitivityVolBSplinesFI  (  const fvMesh &  mesh, 
const dictionary &  dict,  
incompressibleVars &  primalVars,  
incompressibleAdjointVars &  adjointVars,  
objectiveManager &  objectiveManager  
) 
Construct from components.
Definition at line 56 of file sensitivityVolBSplinesFIIncompressible.C.
References Foam::mkDir(), and Foam::Zero.

virtualdefault 
Destructor.
TypeName  (  "volumetricBSplinesFI"  ) 
Runtime type information.

virtual 
Assemble sensitivities.
Implements FIBase.
Definition at line 107 of file sensitivityVolBSplinesFIIncompressible.C.
References shapeSensitivities::bcDxDbMult_, sensitivityVolBSplinesFI::bcSens_, volBSplinesBase::boundControlPointMovement(), volBSplinesBase::boxesRef(), adjointSensitivity::derivatives_, sensitivityVolBSplinesFI::distanceSens_, Foam::fvc::div(), FIBase::divDxDbMult_, sensitivityVolBSplinesFI::dndbSens_, shapeSensitivities::dnfdbMult_, sensitivityVolBSplinesFI::dSdbSens_, shapeSensitivities::dSfdbMult_, sensitivityVolBSplinesFI::dVdbSens_, shapeSensitivities::dxdbDirectMult_, sensitivityVolBSplinesFI::dxdbDirectSens_, FIBase::eikonalSolver_, sensitivityVolBSplinesFI::flowSens_, forAll, Foam::fvc::grad(), FIBase::gradDxDbMult_, Foam::gSum(), FIBase::includeDistance_, pointVolInterpolation::interpolate(), sensitivity::mesh_, MeshObject< polyMesh, UpdateableMeshObject, pointMesh >::New(), IOobject::NO_READ, IOobject::NO_WRITE, FIBase::optionsDxDbMult_, sensitivityVolBSplinesFI::optionsSens_, GeometricField< Type, PatchField, GeoMesh >::primitiveField(), FIBase::read(), GeometricField< Type, PatchField, GeoMesh >::replace(), autoPtr< T >::reset(), Foam::T(), fvMesh::time(), Time::timeName(), fvMesh::V(), sensitivityVolBSplinesFI::volBSplinesBase_, VectorSpace< Vector< scalar >, scalar, 3 >::zero, and Foam::Zero.

virtual 
Zero sensitivity fields and their constituents.
Reimplemented from FIBase.
Definition at line 318 of file sensitivityVolBSplinesFIIncompressible.C.
References sensitivityVolBSplinesFI::bcSens_, FIBase::clearSensitivities(), sensitivityVolBSplinesFI::distanceSens_, sensitivityVolBSplinesFI::dndbSens_, sensitivityVolBSplinesFI::dSdbSens_, sensitivityVolBSplinesFI::dVdbSens_, sensitivityVolBSplinesFI::dxdbDirectSens_, sensitivityVolBSplinesFI::flowSens_, sensitivityVolBSplinesFI::optionsSens_, and VectorSpace< Vector< scalar >, scalar, 3 >::zero.

virtual 
Write sensitivities to file.
Reimplemented from shapeSensitivities.
Definition at line 333 of file sensitivityVolBSplinesFIIncompressible.C.
References adjointSensitivity::adjointVars_, sensitivityVolBSplinesFI::bcSens_, volBSplinesBase::boxesRef(), IOstream::defaultPrecision(), adjointSensitivity::derivatives_, sensitivityVolBSplinesFI::derivativesFolder_, sensitivityVolBSplinesFI::distanceSens_, sensitivityVolBSplinesFI::dndbSens_, sensitivityVolBSplinesFI::dSdbSens_, sensitivityVolBSplinesFI::dVdbSens_, sensitivityVolBSplinesFI::dxdbDirectSens_, Foam::endl(), sensitivityVolBSplinesFI::flowSens_, forAll, Foam::Info, UPstream::master(), Foam::max(), sensitivity::mesh_, Foam::name(), sensitivityVolBSplinesFI::optionsSens_, Foam::setw(), variablesSet::solverName(), fvMesh::time(), Time::timeName(), and sensitivityVolBSplinesFI::volBSplinesBase_.

protected 
Reference to underlaying volumetric BSplines morpher.
Definition at line 66 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Flow related term.
Definition at line 69 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on delta(n dS)/delta b.
Definition at line 72 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on delta(n)/delta b.
Definition at line 75 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on delta(x)/delta b for objectives that directly depend on x
Definition at line 79 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on delta(V)/delta b.
Definition at line 82 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on distance differentiation.
Definition at line 85 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on fvOptions.
Definition at line 88 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Term depending on the differentiation of boundary conditions.
Definition at line 91 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

protected 
Definition at line 93 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::write().