40#ifndef sensitivitySurfacePoints_H
41#define sensitivitySurfacePoints_H
54class sensitivitySurfacePoints
56 public sensitivityShapeESI
109 sensitivitySurfacePoints(
const sensitivitySurfacePoints&) =
delete;
112 void operator=(
const sensitivitySurfacePoints&) =
delete;
124 sensitivitySurfacePoints
Base class for adjoint solvers.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
void computePointDerivativesSize()
Allocate the proper size for the point-based sensitivities.
void constructGlobalPointNormalsAndAreas(vectorField &pointNormals, scalarField &pointMagSf)
Construct globally correct point normals and point areas.
void setSuffixName()
Set suffix name for sensitivity fields.
virtual bool readDict(const dictionary &dict)
Read dict if changed.
bool includeSurfaceArea_
Include surface area in sens computation.
bool writeGeometricInfo_
Write geometric info for use by external programs.
void read()
Read controls and update solver pointers if necessary.
virtual ~sensitivitySurfacePoints()=default
Destructor.
boolList isSymmetryPoint_
Is point belonging to a symmetry{Plane}.
labelHashSet extendedPatchIDs_
Extended patchIDs.
labelHashSet populateExtendedIDs() const
Set suffix name for sensitivity fields.
vectorField symmPointNormal_
Local point normal per symmetry point.
void finalisePointSensitivities()
Converts face sensitivities to point sensitivities and adds the ones directly computed in points (i....
virtual const labelHashSet & geometryVariationIntegrationPatches() const
Return set of patches on which to compute direct sensitivities.
TypeName("surfacePoints")
Runtime type information.
virtual void assembleSensitivities(autoPtr< designVariables > &designVars)
Assemble sensitivities.
A class for handling words, derived from Foam::string.
static const word null
An empty word.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
List< bool > boolList
A List of bools.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.