Abstract base class for adjoint-based sensitivities in incompressible flows. More...
Static Public Member Functions | |
static autoPtr< adjointSensitivity > | New (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) |
Protected Attributes | |
scalarField | derivatives_ |
incompressibleVars & | primalVars_ |
incompressibleAdjointVars & | adjointVars_ |
objectiveManager & | objectiveManager_ |
![]() | |
const fvMesh & | mesh_ |
dictionary | dict_ |
autoPtr< volScalarField > | fieldSensPtr_ |
Abstract base class for adjoint-based sensitivities in incompressible flows.
For the FI and ESI formulations Kavvadias, I., Papoutsis-Kiachagias, E., & Giannakoglou, K. (2015). On the proper treatment of grid sensitivities in continuous adjoint methods for shape optimization. Journal of Computational Physics, 301, 1–18. http://doi.org/10.1016/j.jcp.2015.08.012 For the SI formulation Papoutsis-Kiachagias, E. M., & Giannakoglou, K. C. (2014). Continuous Adjoint Methods for Turbulent Flows, Applied to Shape and Topology Optimization: Industrial Applications. Archives of Computational Methods in Engineering, 23(2), 255–299. http://doi.org/10.1007/s11831-014-9141-9
Definition at line 71 of file adjointSensitivityIncompressible.H.
adjointSensitivity | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
incompressibleVars & | primalVars, | ||
incompressibleAdjointVars & | adjointVars, | ||
objectiveManager & | objectiveManager | ||
) |
Definition at line 46 of file adjointSensitivityIncompressible.C.
|
virtualdefault |
TypeName | ( | "adjointSensitivity" | ) |
declareRunTimeSelectionTable | ( | autoPtr | , |
adjointSensitivity | , | ||
dictionary | , | ||
(const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) | , | ||
(mesh, dict, primalVars, adjointVars, objectiveManager) | |||
) |
|
static |
Definition at line 65 of file adjointSensitivityIncompressible.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, Foam::Info, and mesh.
Referenced by adjointSimple::adjointSimple(), and sensitivityMultiple::sensitivityMultiple().
|
pure virtual |
Implemented in shapeSensitivities, sensitivitySurface, sensitivitySurfacePoints, FIBase, SIBase, and sensitivityMultiple.
|
pure virtual |
Implemented in FIBase, SIBase, shapeSensitivities, sensitivitySurface, sensitivitySurfacePoints, sensitivityBezierFI, sensitivityVolBSplinesFI, sensitivityVolBSplines, sensitivityBezier, and sensitivityMultiple.
Referenced by adjointSensitivity::calculateSensitivities().
|
virtual |
Implements sensitivity.
Reimplemented in sensitivityMultiple.
Definition at line 106 of file adjointSensitivityIncompressible.C.
References adjointSensitivity::assembleSensitivities(), adjointSensitivity::derivatives_, Foam::type(), and adjointSensitivity::write().
const scalarField & getSensitivities | ( | ) | const |
Definition at line 114 of file adjointSensitivityIncompressible.C.
References adjointSensitivity::derivatives_.
|
virtual |
Reimplemented in sensitivitySurface, sensitivitySurfacePoints, sensitivityBezierFI, sensitivityVolBSplinesFI, FIBase, sensitivityVolBSplines, SIBase, shapeSensitivities, sensitivityBezier, and sensitivityMultiple.
Definition at line 120 of file adjointSensitivityIncompressible.C.
References adjointSensitivity::derivatives_, and sensitivity::fieldSensPtr_.
Referenced by shapeSensitivities::clearSensitivities(), sensitivitySurfacePoints::clearSensitivities(), and sensitivitySurface::clearSensitivities().
|
virtual |
Reimplemented from sensitivity.
Reimplemented in sensitivitySurface, sensitivitySurfacePoints, sensitivityBezierFI, sensitivityVolBSplinesFI, sensitivityVolBSplines, SIBase, shapeSensitivities, sensitivityBezier, and sensitivityMultiple.
Definition at line 130 of file adjointSensitivityIncompressible.C.
References sensitivity::write().
Referenced by adjointSensitivity::calculateSensitivities(), shapeSensitivities::write(), sensitivitySurfacePoints::write(), and sensitivitySurface::write().
tmp< volTensorField > computeGradDxDbMultiplier | ( | ) |
Definition at line 136 of file adjointSensitivityIncompressible.C.
References objectiveManager::adjointSolverName(), incompressibleAdjointVars::adjointTurbulence(), adjointSensitivity::adjointVars_, fvMesh::boundary(), GeometricField::boundaryField(), GeometricField::boundaryFieldRef(), GeometricField::component(), GeometricField::correctBoundaryConditions(), Foam::dimLength, Foam::dimTime, forAll, ATCModel::getFISensitivityTerm(), objectiveManager::getObjectiveFunctions(), Foam::fvc::grad(), objectRegistry::lookupObject(), sensitivity::mesh_, IOobject::NO_READ, IOobject::NO_WRITE, adjointSensitivity::objectiveManager_, p, incompressibleVars::p(), incompressibleAdjointMeanFlowVars::pa(), Foam::foamVersion::patch, Foam::pow3(), adjointSensitivity::primalVars_, tmp::ref(), Foam::sqr(), Foam::T(), GeometricField::T(), fvMesh::time(), Time::timeName(), U, incompressibleVars::U(), incompressibleAdjointMeanFlowVars::Ua(), and Foam::Zero.
Referenced by FIBase::accumulateIntegrand(), and adjointSensitivity::adjointMeshMovementSource().
tmp< volVectorField > adjointMeshMovementSource | ( | ) |
Definition at line 300 of file adjointSensitivityIncompressible.C.
References adjointSensitivity::adjointVars_, adjointSensitivity::computeGradDxDbMultiplier(), Foam::dimLength, Foam::fvc::div(), sensitivity::mesh_, options::New(), IOobject::NO_READ, IOobject::NO_WRITE, optionList::postProcessSens(), GeometricField::primitiveFieldRef(), tmp::ref(), variablesSet::solverName(), GeometricField::T(), fvMesh::time(), Time::timeName(), and Foam::Zero.
Referenced by adjointMeshMovementSolver::accumulateIntegrand().
|
protected |
Definition at line 79 of file adjointSensitivityIncompressible.H.
Referenced by sensitivityBezier::assembleSensitivities(), sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), sensitivitySurfacePoints::assembleSensitivities(), sensitivitySurface::assembleSensitivities(), sensitivityMultiple::calculateSensitivities(), adjointSensitivity::calculateSensitivities(), adjointSensitivity::clearSensitivities(), sensitivitySurface::computeDerivativesSize(), adjointSensitivity::getSensitivities(), sensitivityBezier::write(), sensitivityVolBSplines::write(), sensitivityVolBSplinesFI::write(), and sensitivityBezierFI::write().
|
protected |
Definition at line 80 of file adjointSensitivityIncompressible.H.
Referenced by sensitivitySurfacePoints::accumulateIntegrand(), sensitivitySurface::accumulateIntegrand(), adjointSensitivity::computeGradDxDbMultiplier(), shapeSensitivities::dvdbMult(), FIBase::read(), sensitivitySurfacePoints::read(), and sensitivitySurface::read().
|
protected |
Definition at line 81 of file adjointSensitivityIncompressible.H.
Referenced by shapeSensitivities::accumulateBCSensitivityIntegrand(), FIBase::accumulateIntegrand(), sensitivitySurfacePoints::accumulateIntegrand(), sensitivitySurface::accumulateIntegrand(), adjointSensitivity::adjointMeshMovementSource(), adjointSensitivity::computeGradDxDbMultiplier(), shapeSensitivities::dvdbMult(), FIBase::read(), sensitivitySurfacePoints::read(), sensitivitySurface::read(), sensitivitySurfacePoints::setSuffixName(), sensitivitySurface::setSuffixName(), sensitivityBezier::write(), sensitivityVolBSplines::write(), sensitivityVolBSplinesFI::write(), and sensitivityBezierFI::write().
|
protected |
Definition at line 82 of file adjointSensitivityIncompressible.H.
Referenced by shapeSensitivities::accumulateDirectSensitivityIntegrand(), FIBase::accumulateIntegrand(), sensitivitySurfacePoints::accumulateIntegrand(), sensitivitySurface::accumulateIntegrand(), sensitivitySurface::addGeometricSens(), and adjointSensitivity::computeGradDxDbMultiplier().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.