deltaBoundary Class Reference

Differentiation of the mesh data structure. More...

Collaboration diagram for deltaBoundary:
[legend]

Public Member Functions

 deltaBoundary (const fvMesh &mesh)
 Construct from components. More...
 
 ~deltaBoundary ()=default
 Destructor. More...
 
vectorField makeFaceCentresAndAreas_d (const pointField &p, const pointField &p_d)
 
tensorField makeFaceCentresAndAreas_d (const pointField &p, const tensorField &p_d)
 
template<class pT >
pT makeCellCentres_d (const vectorField &fAreas, const vectorField &fCtrs, const Field< pT > &fAreas_d, const Field< pT > &fCtrs_d)
 
tmp< tensorFieldcellCenters_d (const label pointI)
 

Protected Attributes

const fvMeshmesh_
 Reference to the mesh. More...
 

Detailed Description

Differentiation of the mesh data structure.

Source files

Definition at line 58 of file deltaBoundary.H.

Constructor & Destructor Documentation

◆ deltaBoundary()

deltaBoundary ( const fvMesh mesh)

Construct from components.

Definition at line 63 of file deltaBoundary.C.

◆ ~deltaBoundary()

~deltaBoundary ( )
default

Destructor.

Member Function Documentation

◆ makeFaceCentresAndAreas_d() [1/2]

vectorField makeFaceCentresAndAreas_d ( const pointField p,
const pointField p_d 
)

Given a face and the points to be moved in the normal direction, find faceArea, faceCentre and unitVector changes

Definition at line 71 of file deltaBoundary.C.

References Foam::endl(), Foam::mag(), n, nPoints, p, UList< T >::size(), WarningInFunction, and Foam::Zero.

Referenced by sensitivitySurface::addGeometricSens(), deltaBoundary::cellCenters_d(), NURBS3DVolume::computeControlPointSensitivities(), NURBS3DVolume::dndbBasedSensitivities(), Bezier::dndbBasedSensitivities(), Bezier::dxdbFace(), sensitivitySurfacePoints::finalisePointSensitivities(), and NURBS3DVolume::patchDxDbFace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeFaceCentresAndAreas_d() [2/2]

tensorField makeFaceCentresAndAreas_d ( const pointField p,
const tensorField p_d 
)

Given a face and the points to be moved in an arbitrary direction, find faceArea, faceCentre and unitVector changes

Definition at line 178 of file deltaBoundary.C.

References Foam::endl(), Foam::mag(), n, Foam::nl, nPoints, p, UList< T >::size(), Foam::sqr(), WarningInFunction, and Foam::Zero.

Here is the call graph for this function:

◆ makeCellCentres_d()

pT makeCellCentres_d ( const vectorField fAreas,
const vectorField fCtrs,
const Field< pT > &  fAreas_d,
const Field< pT > &  fCtrs_d 
)

Compute cell center variation wrt given face movement or derivative.

pT (perturbation type) should be a vector in case of known face area and ctr movements or a tensor for gradients

Definition at line 40 of file deltaBoundaryTemplates.C.

References cellVols, forAll, Foam::mag(), UList< T >::size(), and Foam::Zero.

Referenced by deltaBoundary::cellCenters_d().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cellCenters_d()

tmp< tensorField > cellCenters_d ( const label  pointI)

Compute the change of the cell centers of the pointCells of pointI, for a unitary movement of pointI in all three directions

Definition at line 285 of file deltaBoundary.C.

References fvMesh::boundary(), polyMesh::boundaryMesh(), primitiveMesh::cells(), fvMesh::Cf(), polyMesh::faces(), forAll, Tensor< scalar >::I, deltaBoundary::makeCellCentres_d(), deltaBoundary::makeFaceCentresAndAreas_d(), deltaBoundary::mesh_, Time::New(), primitiveMesh::nInternalFaces(), primitiveMesh::pointCells(), primitiveMesh::pointFaces(), points, polyMesh::points(), face::points(), fvMesh::Sf(), UList< T >::size(), polyBoundaryMesh::whichPatch(), and Foam::Zero.

Referenced by NURBS3DVolume::getDxCellsDb().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Reference to the mesh.

Definition at line 65 of file deltaBoundary.H.

Referenced by deltaBoundary::cellCenters_d().


The documentation for this class was generated from the following files: