Calculation of adjoint based sensitivities for Bezier control points using the FI appoach. More...
Public Member Functions | |
TypeName ("BezierFI") | |
Runtime type information. More... | |
sensitivityBezierFI (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager, fv::optionAdjointList &fvOptionsAdjoint) | |
Construct from components. More... | |
virtual | ~sensitivityBezierFI ()=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, fv::optionAdjointList &fvOptionsAdjoint) | |
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 adjointSensitivity | |
TypeName ("adjointSensitivity") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager, fv::optionAdjointList &fvOptionsAdjoint),(mesh, dict, primalVars, adjointVars, objectiveManager, fvOptionsAdjoint)) | |
adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager, fv::optionAdjointList &fvOptionsAdjoint) | |
Construct from components. More... | |
virtual | ~adjointSensitivity ()=default |
Destructor. More... | |
virtual const scalarField & | calculateSensitivities () |
Calculates and returns 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... | |
Protected Member Functions | |
void | read () |
tmp< volVectorField > | solveMeshMovementEqn (const label iCP, const label idir) |
Protected Member Functions inherited from FIBase | |
void | read () |
Read options and update solver pointers if necessary. 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, fv::optionAdjointList &fvOptionsAdjoint) |
Return a reference to the selected turbulence model. More... | |
Calculation of adjoint based sensitivities for Bezier control points using the FI appoach.
Definition at line 64 of file sensitivityBezierFIIncompressible.H.
sensitivityBezierFI | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
incompressibleVars & | primalVars, | ||
incompressibleAdjointVars & | adjointVars, | ||
objectiveManager & | objectiveManager, | ||
fv::optionAdjointList & | fvOptionsAdjoint | ||
) |
Construct from components.
Definition at line 122 of file sensitivityBezierFIIncompressible.C.
References Foam::mkDir(), Foam::read(), and Foam::Zero.
|
virtualdefault |
Destructor.
|
protected |
Definition at line 53 of file sensitivityBezierFIIncompressible.C.
References sensitivity::dict_, dictionary::lookupOrDefault(), sensitivityBezierFI::meshMovementIters_, sensitivityBezierFI::meshMovementResidualLimit_, FIBase::read(), and dictionary::subOrEmptyDict().
|
protected |
Definition at line 67 of file sensitivityBezierFIIncompressible.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), Foam::endl(), Foam::gMax(), Foam::Info, Foam::fvm::laplacian(), Foam::mag(), Foam::read(), tmp< T >::ref(), and fvMatrix< Type >::solve().
Referenced by sensitivityBezierFI::assembleSensitivities().
TypeName | ( | "BezierFI" | ) |
Runtime type information.
|
virtual |
Assemble sensitivities.
Implements FIBase.
Definition at line 174 of file sensitivityBezierFIIncompressible.C.
References sensitivityBezierFI::Bezier_, Bezier::confineXmovement(), Bezier::confineYmovement(), Bezier::confineZmovement(), adjointSensitivity::derivatives_, sensitivityBezierFI::distanceSens_, Foam::fvc::div(), FIBase::divDxDbMult_, Bezier::dndbBasedSensitivities(), sensitivityBezierFI::dndbSens_, FIBase::dnfdbMult_, sensitivityBezierFI::dSdbSens_, FIBase::dSfdbMult_, sensitivityBezierFI::dVdbSens_, FIBase::dxdbDirectMult_, sensitivityBezierFI::dxdbDirectSens_, Bezier::dxdbFace(), FIBase::eikonalSolver_, sensitivityBezierFI::flowSens_, Foam::fvc::grad(), FIBase::gradDxDbMult_, Foam::gSum(), FIBase::includeDistance_, sensitivity::mesh_, Bezier::nBezier(), FIBase::optionsDxDbMult_, sensitivityBezierFI::optionsSens_, GeometricField< Type, PatchField, GeoMesh >::primitiveField(), autoPtr< T >::reset(), sensitivityBezierFI::solveMeshMovementEqn(), Foam::T(), and fvMesh::V().
|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from FIBase.
Definition at line 298 of file sensitivityBezierFIIncompressible.C.
References FIBase::clearSensitivities(), sensitivityBezierFI::distanceSens_, sensitivityBezierFI::dndbSens_, sensitivityBezierFI::dSdbSens_, sensitivityBezierFI::dVdbSens_, sensitivityBezierFI::dxdbDirectSens_, sensitivityBezierFI::flowSens_, sensitivityBezierFI::optionsSens_, and Foam::Zero.
|
virtual |
Write sensitivities to file.
Reimplemented from FIBase.
Definition at line 312 of file sensitivityBezierFIIncompressible.C.
References adjointSensitivity::adjointVars_, sensitivityBezierFI::Bezier_, Bezier::confineMovement(), IOstream::defaultPrecision(), adjointSensitivity::derivatives_, sensitivityBezierFI::derivativesFolder_, sensitivityBezierFI::distanceSens_, sensitivityBezierFI::dndbSens_, sensitivityBezierFI::dSdbSens_, sensitivityBezierFI::dVdbSens_, sensitivityBezierFI::dxdbDirectSens_, Foam::endl(), sensitivityBezierFI::flowSens_, Foam::Info, UPstream::master(), Foam::max(), sensitivity::mesh_, Foam::name(), Bezier::nBezier(), Foam::setw(), variablesSet::solverName(), fvMesh::time(), and Time::timeName().
|
protected |
Definition at line 71 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), and sensitivityBezierFI::write().
|
protected |
Flow related term.
Definition at line 74 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), sensitivityBezierFI::clearSensitivities(), and sensitivityBezierFI::write().
|
protected |
Term depending on delta(n dS)/delta b.
Definition at line 77 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), sensitivityBezierFI::clearSensitivities(), and sensitivityBezierFI::write().
|
protected |
Term depending on delta(n)/delta b.
Definition at line 80 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), sensitivityBezierFI::clearSensitivities(), and sensitivityBezierFI::write().
|
protected |
Term depending on delta(x)/delta b for objectives that directly depend on x
Definition at line 84 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), sensitivityBezierFI::clearSensitivities(), and sensitivityBezierFI::write().
|
protected |
Term depending on delta(V)/delta b.
Definition at line 87 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), sensitivityBezierFI::clearSensitivities(), and sensitivityBezierFI::write().
|
protected |
Term depending on distance differentiation.
Definition at line 90 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), sensitivityBezierFI::clearSensitivities(), and sensitivityBezierFI::write().
|
protected |
Term depending on fvOptions.
Definition at line 93 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::assembleSensitivities(), and sensitivityBezierFI::clearSensitivities().
|
protected |
Definition at line 95 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::write().
|
protected |
Definition at line 97 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::read().
|
protected |
Definition at line 98 of file sensitivityBezierFIIncompressible.H.
Referenced by sensitivityBezierFI::read().
|
protected |
Definition at line 99 of file sensitivityBezierFIIncompressible.H.