Differentiation of the mesh data structure. More...
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) |
Given a face and the points to be moved in the normal direction, find faceArea, faceCentre and unitVector changes. More... | |
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. More... | |
template<class pT > | |
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. More... | |
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. More... | |
Protected Attributes | |
const fvMesh & | mesh_ |
Reference to the mesh. More... | |
Differentiation of the mesh data structure.
Definition at line 54 of file deltaBoundary.H.
deltaBoundary | ( | const fvMesh & | mesh | ) |
Construct from components.
Definition at line 56 of file deltaBoundary.C.
|
default |
Destructor.
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 65 of file deltaBoundary.C.
References Foam::constant::universal::c, Foam::endl(), Foam::mag(), n, nPoints, p, Foam::constant::mathematical::pi(), UList< T >::size(), WarningInFunction, and Foam::Zero.
Referenced by deltaBoundary::cellCenters_d(), NURBS3DVolume::computeControlPointSensitivities(), Bezier::dndbBasedSensitivities(), NURBS3DVolume::dndbBasedSensitivities(), Bezier::dxdbFace(), sensitivitySurfacePoints::finalisePointSensitivities(), and NURBS3DVolume::patchDxDbFace().
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 172 of file deltaBoundary.C.
References Foam::constant::universal::c, Foam::endl(), Foam::mag(), n, Foam::nl, nPoints, p, Foam::constant::mathematical::pi(), UList< T >::size(), Foam::sqr(), WarningInFunction, and Foam::Zero.
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 34 of file deltaBoundaryTemplates.C.
References cellVols, forAll, Foam::mag(), UList< T >::size(), and Foam::Zero.
Referenced by deltaBoundary::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 278 of file deltaBoundary.C.
References fvMesh::boundary(), polyMesh::boundaryMesh(), primitiveMesh::cells(), fvMesh::Cf(), polyMesh::faces(), forAll, Foam::I, deltaBoundary::makeCellCentres_d(), deltaBoundary::makeFaceCentresAndAreas_d(), deltaBoundary::mesh_, tmp< T >::New(), primitiveMesh::nInternalFaces(), Foam::foamVersion::patch, primitiveMesh::pointCells(), primitiveMesh::pointFaces(), points, face::points(), polyMesh::points(), fvMesh::Sf(), UList< T >::size(), polyBoundaryMesh::whichPatch(), and Foam::Zero.
Referenced by NURBS3DVolume::getDxCellsDb().
|
protected |
Reference to the mesh.
Definition at line 63 of file deltaBoundary.H.
Referenced by deltaBoundary::cellCenters_d().