Base class supporting Shape sensitivity derivatives. More...
#include <ShapeSensitivitiesBase.H>


Public Member Functions | |
| TypeName ("ShapeSensitivitiesBase") | |
| Runtime type information. | |
| ShapeSensitivitiesBase (const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver) | |
| Construct from components. | |
| virtual | ~ShapeSensitivitiesBase ()=default |
| Destructor. | |
| virtual bool | readDict (const dictionary &dict) |
| Read dict if changed. | |
| const labelHashSet & | sensitivityPatchIDs () const |
| Get patch IDs on which sensitivities are computed. | |
| void | setSensitivityPatchIDs (const labelHashSet &sensPatchIDs) |
| Overwrite sensitivityPatchIDs. | |
| virtual const labelHashSet & | geometryVariationIntegrationPatches () const |
| Return set of patches on which to compute direct sensitivities. | |
| virtual void | accumulateIntegrand (const scalar dt) |
| Accumulate sensitivity integrands. | |
| void | clearSensitivities () |
| Zero sensitivity fields and their constituents. | |
| virtual void | write (const word &baseName=word::null) |
| Write sensitivity fields. | |
| tmp< volVectorField > | getWallFaceSensVec () |
| Get wall face sensitivity vectors field. | |
| tmp< volScalarField > | getWallFaceSensNormal () |
| Get wall face sensitivity projected to normal field. | |
| tmp< volVectorField > | getWallFaceSensNormalVec () |
| Get wall face normal sens as vectors field. | |
| tmp< pointVectorField > | getWallPointSensVec () |
| Get wall point sensitivity vectors field. | |
| tmp< pointScalarField > | getWallPointSensNormal () |
| Get wall point sensitivity projected to normal field. | |
| tmp< pointVectorField > | getWallPointSensNormalVec () |
| Get wall point sens as vectors field. | |
| virtual const boundaryVectorField & | getWallFaceSensVecBoundary () const |
| Get wall face sensitivity vectors field. | |
| virtual const boundaryScalarField & | getWallFaceSensNormalBoundary () const |
| Get wall face sensitivity projected to normal field. | |
| virtual const boundaryVectorField & | getWallFaceSensNormalVecBoundary () const |
| Get wall face normal sens as vectors field. | |
| Public Member Functions inherited from adjointSensitivity | |
| TypeName ("adjointSensitivity") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver),(mesh, dict, adjointSolver)) | |
| adjointSensitivity (const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver) | |
| Construct from components. | |
| virtual | ~adjointSensitivity ()=default |
| Destructor. | |
| const adjointSolver & | getAdjointSolver () const |
| Const access to adjoint solver. | |
| adjointSolver & | getAdjointSolver () |
| Non-const access to adjoint solver. | |
| bool | includeDistance () const |
| Should the adjoint eikonal PDE should be solved. | |
| autoPtr< adjointEikonalSolver > & | getAdjointEikonalSolver () |
| Return the adjoint eikonal solver. | |
| autoPtr< adjointMeshMovementSolver > & | getAdjointMeshMovementSolver () |
| Return the adjoint eikonal solver. | |
| void | setSuffix (const word &suffix) |
| Set suffix. | |
| const word & | getSuffix () const |
| Get suffix. | |
| virtual bool | computeDxDbInternalField () const |
| Should the parameterization compute the internalField of dxdb. | |
| virtual void | assembleSensitivities (autoPtr< designVariables > &designVars) |
| Assemble sensitivities. | |
| virtual const scalarField & | calculateSensitivities (autoPtr< designVariables > &designVars) |
| Calculates and returns sensitivity fields. | |
| const scalarField & | getSensitivities () const |
| Returns the sensitivity fields. | |
| const autoPtr< volTensorField > & | gradDxDbMult () const |
| autoPtr< volTensorField > & | gradDxDbMult () |
| const autoPtr< scalarField > & | divDxDbMult () const |
| const autoPtr< boundaryVectorField > & | dxdbMult () const |
| const autoPtr< boundaryVectorField > & | dSfdbMult () const |
| const autoPtr< boundaryVectorField > & | dnfdbMult () const |
| const autoPtr< boundaryVectorField > & | dxdbDirectMult () const |
| const autoPtr< pointBoundaryVectorField > & | pointDxDbDirectMult () const |
| const autoPtr< boundaryVectorField > & | bcDxDbMult () const |
| const autoPtr< vectorField > & | optionsDxDbMult () const |
| Public Member Functions inherited from sensitivity | |
| TypeName ("sensitivity") | |
| Runtime type information. | |
| sensitivity (const fvMesh &mesh, const dictionary &dict) | |
| Construct from components. | |
| virtual | ~sensitivity ()=default |
| Destructor. | |
| const fvMesh & | mesh () const |
| Return reference to mesh. | |
| const dictionary & | dict () const |
| Return the construction dictionary. | |
| const autoPtr< volScalarField > & | fieldSensPtr () const |
| Get the fieldSensPtr. | |
Protected Member Functions | |
| void | allocateEikonalSolver () |
| Allocate the adjoint eikonal solver. | |
| bool | hasMultiplier (bool(objective::*hasFunction)() const) |
| Check if any of the available objective has a certain multiplier, provided through a function object. | |
| template<class Type> | |
| void | constructAndWriteSensitivityField (const autoPtr< typename GeometricField< Type, fvPatchField, volMesh >::Boundary > &sensFieldPtr, const word &name) const |
| Constructs volField based on boundaryField and writes it. | |
| template<class Type> | |
| void | constructAndWriteSensitivtyPointField (const autoPtr< List< Field< Type > > > &sensFieldPtr, const word &name) const |
| Constructs pointField based on boundaryField and writes it. | |
| template<class Type> | |
| tmp< GeometricField< Type, fvPatchField, volMesh > > | constructVolSensitivtyField (const autoPtr< typename GeometricField< Type, fvPatchField, volMesh >::Boundary > &sensFieldPtr, const word &name) const |
| Constructs volField based on boundaryField and writes it. | |
| void | writeFaceBasedSens () const |
| Write face-based sensitivities, if present. | |
| void | writePointBasedSens () const |
| Write point-based sensitivities, if present. | |
| void | clearSurfaceFields () |
| Clear surface/point fields. | |
| void | allocateMultipliers () |
| Allocate multiplier fields. | |
| void | clearMultipliers () |
| Clear multipliers. | |
Protected Attributes | |
| labelHashSet | sensitivityPatchIDs_ |
| Patches on which to compute shape sensitivities. | |
| bool | writeAllSurfaceFiles_ |
| Whether to write all surface sensitivity fields. | |
| autoPtr< boundaryVectorField > | wallFaceSensVecPtr_ |
| Wall face sens w.r.t. (x,y.z). | |
| autoPtr< boundaryScalarField > | wallFaceSensNormalPtr_ |
| Wall face sens projected to normal. | |
| autoPtr< boundaryVectorField > | wallFaceSensNormalVecPtr_ |
| Normal sens as vectors. | |
| autoPtr< pointBoundaryVectorField > | wallPointSensVecPtr_ |
| Wall point sens w.r.t. (x,y.z). | |
| autoPtr< pointBoundaryScalarField > | wallPointSensNormalPtr_ |
| Wall point sens projected to normal. | |
| autoPtr< pointBoundaryVectorField > | wallPointSensNormalVecPtr_ |
| Normal sens as vectors. | |
| Protected Attributes inherited from adjointSensitivity | |
| adjointSolver & | adjointSolver_ |
| Reference to the underlaying adjoint solver. | |
| scalarField | derivatives_ |
| The sensitivity derivative values. | |
| word | suffix_ |
| Append this word to files related to the sensitivities. | |
| bool | includeDistance_ |
| Include distance variation in sensitivity computations. | |
| autoPtr< adjointEikonalSolver > | eikonalSolver_ |
| Adjoint eikonal equation solver. | |
| autoPtr< adjointMeshMovementSolver > | adjointMeshMovementSolver_ |
| Adjoint grid displacement solver. | |
| autoPtr< volTensorField > | gradDxDbMult_ |
| Multiplier of grad(dx/b). | |
| autoPtr< scalarField > | divDxDbMult_ |
| Multiplier of div(dx/db). | |
| autoPtr< boundaryVectorField > | dxdbMult_ |
| Multiplier of face dx/db. | |
| autoPtr< boundaryVectorField > | dSfdbMult_ |
| Multiplier of dSf/db. | |
| autoPtr< boundaryVectorField > | dnfdbMult_ |
| Multiplier of dnf/db. | |
| autoPtr< boundaryVectorField > | dxdbDirectMult_ |
| Multiplier of dCf/db, found in the objective function. | |
| autoPtr< pointBoundaryVectorField > | pointDxDbDirectMult_ |
| Multiplier of dx/db computed at points, found in the objective function. | |
| autoPtr< boundaryVectorField > | bcDxDbMult_ |
| Multiplier of dx/db, coming from boundary conditions that depend on the geometry, like rotatingWallVelocity. | |
| autoPtr< vectorField > | optionsDxDbMult_ |
| dx/db multiplier coming from fvOptions | |
| Protected Attributes inherited from sensitivity | |
| const fvMesh & | mesh_ |
| dictionary | dict_ |
| bool | writeFieldSens_ |
| autoPtr< volScalarField > | fieldSensPtr_ |
Additional Inherited Members | |
| Static Public Member Functions inherited from adjointSensitivity | |
| static autoPtr< adjointSensitivity > | New (const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver) |
| Return a reference to the selected turbulence model. | |
Base class supporting Shape sensitivity derivatives.
Reference:
For the FI formulation see
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
The ESI formulation is derived in a slightly different way than the
one described in this paper, to provide a common mathematical
formulation for both low- and high-Re meshes and to produce numerically
identical results as the FI formulation. In brief, the boundary-bound
part of the sensitivities is the patchInternalField of the tensor
multiplying grad(dxdb) in the FI formulation.
Definition at line 75 of file ShapeSensitivitiesBase.H.
| ShapeSensitivitiesBase | ( | const fvMesh & | mesh, |
| const dictionary & | dict, | ||
| adjointSolver & | adjointSolver ) |
Construct from components.
Definition at line 272 of file ShapeSensitivitiesBase.C.
References allocateEikonalSolver(), allocateMultipliers(), sensitivity::dict(), sensitivity::mesh(), Foam::name(), sensitivityPatchIDs_, wallFaceSensNormalPtr_, wallFaceSensNormalVecPtr_, wallFaceSensVecPtr_, wallPointSensNormalPtr_, wallPointSensNormalVecPtr_, wallPointSensVecPtr_, and writeAllSurfaceFiles_.

|
virtualdefault |
|
protected |
Allocate the adjoint eikonal solver.
Definition at line 39 of file ShapeSensitivitiesBase.C.
References adjointSensitivity::adjointSolver_, sensitivity::dict(), adjointSensitivity::eikonalSolver_, geometryVariationIntegrationPatches(), adjointSensitivity::includeDistance_, and sensitivity::mesh_.
Referenced by readDict(), and ShapeSensitivitiesBase().


|
protected |
Check if any of the available objective has a certain multiplier, provided through a function object.
Definition at line 58 of file ShapeSensitivitiesBase.C.
References adjointSensitivity::adjointSolver_.
Referenced by allocateMultipliers(), and sensitivityShapeESI::sensitivityShapeESI().

|
protected |
Constructs volField based on boundaryField and writes it.
Definition at line 33 of file ShapeSensitivitiesBaseTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), Foam::dimless, sensitivity::mesh_, Foam::name(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, sensitivityPatchIDs_, regIOobject::write(), and Foam::Zero.
Referenced by writeFaceBasedSens().


|
protected |
Constructs pointField based on boundaryField and writes it.
Definition at line 66 of file ShapeSensitivitiesBaseTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Foam::dimless, sensitivity::mesh_, Foam::name(), MeshObject< polyMesh, UpdateableMeshObject, pointMesh >::New(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), sensitivityPatchIDs_, regIOobject::write(), and Foam::Zero.
Referenced by writePointBasedSens().


|
protected |
Constructs volField based on boundaryField and writes it.
Definition at line 105 of file ShapeSensitivitiesBaseTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), forAll, sensitivity::mesh_, Foam::name(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, tmp< T >::ref(), and sensitivityPatchIDs_.
Referenced by getWallFaceSensNormal(), getWallFaceSensNormalVec(), and getWallFaceSensVec().


|
protected |
Write face-based sensitivities, if present.
Definition at line 74 of file ShapeSensitivitiesBase.C.
References constructAndWriteSensitivityField(), adjointSensitivity::suffix_, wallFaceSensNormalPtr_, wallFaceSensNormalVecPtr_, wallFaceSensVecPtr_, and writeAllSurfaceFiles_.
Referenced by write().


|
protected |
Write point-based sensitivities, if present.
Definition at line 111 of file ShapeSensitivitiesBase.C.
References constructAndWriteSensitivtyPointField(), adjointSensitivity::suffix_, wallPointSensNormalPtr_, wallPointSensNormalVecPtr_, wallPointSensVecPtr_, and writeAllSurfaceFiles_.
Referenced by write().


|
protected |
Clear surface/point fields.
Definition at line 151 of file ShapeSensitivitiesBase.C.
References wallFaceSensNormalPtr_, wallFaceSensNormalVecPtr_, wallFaceSensVecPtr_, wallPointSensNormalPtr_, wallPointSensNormalVecPtr_, wallPointSensVecPtr_, and VectorSpace< Form, Cmpt, Ncmpts >::zero.
Referenced by clearSensitivities().

|
protected |
Allocate multiplier fields.
Definition at line 192 of file ShapeSensitivitiesBase.C.
References adjointSensitivity::bcDxDbMult_, Foam::createZeroBoundaryPtr(), Foam::dimLength, Foam::dimTime, adjointSensitivity::divDxDbMult_, adjointSensitivity::dnfdbMult_, adjointSensitivity::dSfdbMult_, adjointSensitivity::dxdbDirectMult_, adjointSensitivity::gradDxDbMult_, objective::hasDivDxDbMult(), objective::hasdndbMult(), objective::hasdSdbMult(), objective::hasdxdbDirectMult(), hasMultiplier(), sensitivity::mesh_, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, adjointSensitivity::optionsDxDbMult_, Foam::pow3(), Foam::sqr(), and Foam::Zero.
Referenced by ShapeSensitivitiesBase().


|
protected |
Clear multipliers.
Definition at line 231 of file ShapeSensitivitiesBase.C.
References adjointSensitivity::bcDxDbMult_, adjointSensitivity::divDxDbMult_, adjointSensitivity::dnfdbMult_, adjointSensitivity::dSfdbMult_, adjointSensitivity::dxdbDirectMult_, adjointSensitivity::dxdbMult_, adjointSensitivity::eikonalSolver_, field(), adjointSensitivity::gradDxDbMult_, adjointSensitivity::optionsDxDbMult_, adjointSensitivity::pointDxDbDirectMult_, and Foam::Zero.
Referenced by clearSensitivities().


| TypeName | ( | "ShapeSensitivitiesBase" | ) |
Runtime type information.
References sensitivity::dict(), and sensitivity::mesh().

|
virtual |
Read dict if changed.
Reimplemented from adjointSensitivity.
Reimplemented in sensitivityShapeESI, and sensitivitySurfacePoints.
Definition at line 307 of file ShapeSensitivitiesBase.C.
References allocateEikonalSolver(), sensitivity::dict(), sensitivity::dict_, adjointSensitivity::eikonalSolver_, adjointSensitivity::includeDistance_, sensitivity::mesh_, adjointSensitivity::readDict(), keyType::REGEX_RECURSIVE, sensitivityPatchIDs_, and writeAllSurfaceFiles_.
Referenced by sensitivityShapeESI::readDict().


|
inline |
Get patch IDs on which sensitivities are computed.
Definition at line 262 of file ShapeSensitivitiesBase.H.
References sensitivityPatchIDs_.
|
inline |
Overwrite sensitivityPatchIDs.
Definition at line 270 of file ShapeSensitivitiesBase.H.
References sensitivityPatchIDs_.
|
virtual |
Return set of patches on which to compute direct sensitivities.
Reimplemented in sensitivitySurfacePoints.
Definition at line 340 of file ShapeSensitivitiesBase.C.
References sensitivityPatchIDs_.
Referenced by accumulateIntegrand(), allocateEikonalSolver(), and sensitivityShapeESI::computeDxDbMult().

|
virtual |
Accumulate sensitivity integrands.
Common function for the FI and E-SI approaches
Implements adjointSensitivity.
Definition at line 346 of file ShapeSensitivitiesBase.C.
References adjointSensitivity::adjointSolver_, adjointSensitivity::bcDxDbMult_, adjointSensitivity::divDxDbMult_, adjointSensitivity::dnfdbMult_, adjointSensitivity::dSfdbMult_, adjointSensitivity::dxdbDirectMult_, adjointSensitivity::eikonalSolver_, geometryVariationIntegrationPatches(), adjointSensitivity::gradDxDbMult_, adjointSensitivity::optionsDxDbMult_, and adjointSensitivity::pointDxDbDirectMult_.

|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from adjointSensitivity.
Definition at line 380 of file ShapeSensitivitiesBase.C.
References clearMultipliers(), adjointSensitivity::clearSensitivities(), and clearSurfaceFields().

|
virtual |
Write sensitivity fields.
If valid, copies boundaryFields to volFields and writes them.
Reimplemented from adjointSensitivity.
Reimplemented in sensitivitySurfacePoints.
Definition at line 388 of file ShapeSensitivitiesBase.C.
References adjointSensitivity::write(), writeFaceBasedSens(), and writePointBasedSens().
Referenced by sensitivitySurfacePoints::write().


| Foam::tmp< Foam::volVectorField > getWallFaceSensVec | ( | ) |
Get wall face sensitivity vectors field.
Definition at line 397 of file ShapeSensitivitiesBase.C.
References constructVolSensitivtyField(), Foam::createZeroFieldPtr(), Foam::dimless, Foam::endl(), sensitivity::mesh_, adjointSensitivity::suffix_, wallFaceSensVecPtr_, and WarningInFunction.
Referenced by getWallPointSensVec().


| Foam::tmp< Foam::volScalarField > getWallFaceSensNormal | ( | ) |
Get wall face sensitivity projected to normal field.
Definition at line 428 of file ShapeSensitivitiesBase.C.
References constructVolSensitivtyField(), Foam::createZeroFieldPtr(), Foam::dimless, Foam::endl(), sensitivity::mesh_, adjointSensitivity::suffix_, wallFaceSensNormalPtr_, and WarningInFunction.
Referenced by getWallPointSensNormal().


| Foam::tmp< Foam::volVectorField > getWallFaceSensNormalVec | ( | ) |
Get wall face normal sens as vectors field.
Definition at line 458 of file ShapeSensitivitiesBase.C.
References constructVolSensitivtyField(), Foam::createZeroFieldPtr(), Foam::dimless, Foam::endl(), sensitivity::mesh_, adjointSensitivity::suffix_, wallFaceSensNormalVecPtr_, and WarningInFunction.
Referenced by getWallPointSensNormalVec().


| Foam::tmp< Foam::pointVectorField > getWallPointSensVec | ( | ) |
Get wall point sensitivity vectors field.
Definition at line 490 of file ShapeSensitivitiesBase.C.
References getWallFaceSensVec(), volPointInterpolation::interpolate(), and sensitivity::mesh_.

| Foam::tmp< Foam::pointScalarField > getWallPointSensNormal | ( | ) |
Get wall point sensitivity projected to normal field.
Definition at line 500 of file ShapeSensitivitiesBase.C.
References getWallFaceSensNormal(), volPointInterpolation::interpolate(), and sensitivity::mesh_.

| Foam::tmp< Foam::pointVectorField > getWallPointSensNormalVec | ( | ) |
Get wall point sens as vectors field.
Definition at line 510 of file ShapeSensitivitiesBase.C.
References getWallFaceSensNormalVec(), volPointInterpolation::interpolate(), and sensitivity::mesh_.

|
virtual |
Get wall face sensitivity vectors field.
Definition at line 520 of file ShapeSensitivitiesBase.C.
References wallFaceSensVecPtr_.
|
virtual |
Get wall face sensitivity projected to normal field.
Definition at line 527 of file ShapeSensitivitiesBase.C.
References wallFaceSensNormalPtr_.
|
virtual |
Get wall face normal sens as vectors field.
Definition at line 534 of file ShapeSensitivitiesBase.C.
References wallFaceSensNormalVecPtr_.
|
protected |
Patches on which to compute shape sensitivities.
Definition at line 87 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurface::assembleSensitivities(), sensitivitySurfacePoints::assembleSensitivities(), sensitivitySurface::computeFaceDerivativesSize(), sensitivitySurfacePoints::computePointDerivativesSize(), constructAndWriteSensitivityField(), constructAndWriteSensitivtyPointField(), constructVolSensitivtyField(), geometryVariationIntegrationPatches(), readDict(), sensitivityPatchIDs(), setSensitivityPatchIDs(), ShapeSensitivitiesBase(), sensitivitySurface::smoothSensitivities(), and sensitivitySurfacePoints::write().
|
protected |
Whether to write all surface sensitivity fields.
Definition at line 92 of file ShapeSensitivitiesBase.H.
Referenced by readDict(), ShapeSensitivitiesBase(), writeFaceBasedSens(), and writePointBasedSens().
|
protected |
Wall face sens w.r.t. (x,y.z).
Definition at line 103 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurface::assembleSensitivities(), clearSurfaceFields(), getWallFaceSensVec(), getWallFaceSensVecBoundary(), sensitivitySurface::sensitivitySurface(), ShapeSensitivitiesBase(), sensitivitySurface::smoothSensitivities(), and writeFaceBasedSens().
|
protected |
Wall face sens projected to normal.
Definition at line 108 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurface::assembleSensitivities(), clearSurfaceFields(), getWallFaceSensNormal(), getWallFaceSensNormalBoundary(), sensitivitySurface::sensitivitySurface(), ShapeSensitivitiesBase(), and writeFaceBasedSens().
|
protected |
Normal sens as vectors.
Definition at line 113 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurface::assembleSensitivities(), clearSurfaceFields(), getWallFaceSensNormalVec(), getWallFaceSensNormalVecBoundary(), sensitivitySurface::sensitivitySurface(), ShapeSensitivitiesBase(), and writeFaceBasedSens().
|
protected |
Wall point sens w.r.t. (x,y.z).
Definition at line 121 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurface::assembleSensitivities(), sensitivitySurfacePoints::assembleSensitivities(), clearSurfaceFields(), sensitivitySurfacePoints::finalisePointSensitivities(), sensitivitySurfacePoints::sensitivitySurfacePoints(), ShapeSensitivitiesBase(), and writePointBasedSens().
|
protected |
Wall point sens projected to normal.
Definition at line 126 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurfacePoints::assembleSensitivities(), clearSurfaceFields(), sensitivitySurfacePoints::sensitivitySurfacePoints(), ShapeSensitivitiesBase(), and writePointBasedSens().
|
protected |
Normal sens as vectors.
Definition at line 131 of file ShapeSensitivitiesBase.H.
Referenced by sensitivitySurfacePoints::assembleSensitivities(), clearSurfaceFields(), sensitivitySurfacePoints::sensitivitySurfacePoints(), ShapeSensitivitiesBase(), and writePointBasedSens().