Calculation of adjoint based sensitivities at vol B-Splines control points using the FI approach. More...


Public Member Functions | |
| TypeName ("volumetricBSplinesFI") | |
| Runtime type information. More... | |
| sensitivityVolBSplinesFI (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) | |
| 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, incompressibleAdjointSolver &adjointSolver) | |
| 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, incompressibleAdjointSolver &adjointSolver) | |
| 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, incompressibleAdjointSolver &adjointSolver),(mesh, dict, adjointSolver)) | |
| adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) | |
| Construct from components. More... | |
| virtual | ~adjointSensitivity ()=default |
| Destructor. More... | |
| const incompressibleVars & | primalVars () const |
| Get primal variables. More... | |
| const incompressibleAdjointVars & | adjointVars () const |
| Get adjoint variables. More... | |
| const incompressibleAdjointSolver & | adjointSolver () const |
| Get adjoint solver. More... | |
| virtual const scalarField & | calculateSensitivities () |
| Calculates and returns sensitivity fields. More... | |
| const scalarField & | getSensitivities () const |
| Returns the sensitivity fields. More... | |
| tmp< volTensorField > | computeGradDxDbMultiplier () |
| Compute the volTensorField multiplying grad(dxdb) for the volume-based approach to compute shape sensitivity derivatives. More... | |
| 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, incompressibleAdjointSolver &adjointSolver) |
| 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 B-Splines control points using the FI approach.
Definition at line 53 of file sensitivityVolBSplinesFIIncompressible.H.
| sensitivityVolBSplinesFI | ( | const fvMesh & | mesh, |
| const dictionary & | dict, | ||
| incompressibleAdjointSolver & | adjointSolver | ||
| ) |
Construct from components.
Definition at line 49 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 91 of file sensitivityVolBSplinesFIIncompressible.C.
References shapeSensitivities::bcDxDbMult_, sensitivityVolBSplinesFI::bcSens_, volBSplinesBase::boundControlPointMovement(), volBSplinesBase::boxesRef(), Field< Type >::component(), adjointSensitivity::derivatives_, Foam::dimless, 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(), tmp< T >::New(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, FIBase::optionsDxDbMult_, sensitivityVolBSplinesFI::optionsSens_, GeometricField< Type, PatchField, GeoMesh >::primitiveField(), FIBase::read(), GeometricField< Type, PatchField, GeoMesh >::ref(), autoPtr< T >::reset(), Foam::T(), fvMesh::time(), Time::timeName(), Foam::unzipCol(), fvMesh::V(), sensitivityVolBSplinesFI::volBSplinesBase_, and Foam::Zero.

|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from FIBase.
Definition at line 285 of file sensitivityVolBSplinesFIIncompressible.C.
References sensitivityVolBSplinesFI::bcSens_, FIBase::clearSensitivities(), sensitivityVolBSplinesFI::distanceSens_, sensitivityVolBSplinesFI::dndbSens_, sensitivityVolBSplinesFI::dSdbSens_, sensitivityVolBSplinesFI::dVdbSens_, sensitivityVolBSplinesFI::dxdbDirectSens_, sensitivityVolBSplinesFI::flowSens_, and sensitivityVolBSplinesFI::optionsSens_.

|
virtual |
Write sensitivities to file.
Reimplemented from shapeSensitivities.
Definition at line 300 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(), UList< T >::size(), UPtrList< T >::size(), variablesSet::solverName(), fvMesh::time(), Time::timeName(), and sensitivityVolBSplinesFI::volBSplinesBase_.

|
protected |
Reference to underlaying volumetric B-Splines morpher.
Definition at line 64 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 74 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().
|
protected |
Term depending on delta(n)/delta b.
Definition at line 79 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 85 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().
|
protected |
Term depending on delta(V)/delta b.
Definition at line 90 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().
|
protected |
Term depending on distance differentiation.
Definition at line 95 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().
|
protected |
Term depending on fvOptions.
Definition at line 100 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 105 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().
|
protected |
Definition at line 107 of file sensitivityVolBSplinesFIIncompressible.H.
Referenced by sensitivityVolBSplinesFI::write().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.