43#ifndef Foam_patchInjectionBase_H
44#define Foam_patchInjectionBase_H
125 const scalar fraction01,
146 label
whichProc(
const scalar fraction01)
const;
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Mesh data needed to do the Finite Volume discretisation.
const word patchName_
Patch name.
const label patchId_
Patch ID.
virtual ~patchInjectionBase()=default
Destructor.
patchInjectionBase(const polyMesh &mesh, const word &patchName)
Construct from mesh and patch name.
virtual void updateMesh(const polyMesh &mesh)
Update patch geometry and derived info for injection locations.
scalarList triCumulativeMagSf_
Cumulative triangle area per triangle face (processor-local).
label whichProc(const scalar fraction01) const
Return the processor that has the location specified by the fraction.
scalar patchArea_
Patch area - total across all processors.
vectorList patchNormal_
Patch face normal directions.
scalarList sumTriMagSf_
Cumulative area fractions per processor.
labelList cellOwners_
List of cell labels corresponding to injector positions.
label setPositionAndCell(const fvMesh &mesh, const scalar fraction01, Random &rnd, vector &position, label &cellOwner, label &tetFacei, label &tetPti)
Set the injection position and owner cell, tetFace and tetPt.
List< labelledTri > triFace_
The polyPatch faces as triangles, the index of each corresponds to the undecomposed patch face index.
Mesh consisting of general polyhedral cells.
A class for handling words, derived from Foam::string.
List< label > labelList
A List of labels.
List< vector > vectorList
List of vector.
List< scalar > scalarList
List of scalar.