Immersed boundary FV patch. More...
Public Member Functions | |
TypeName (immersedBoundaryPolyPatch::typeName_()) | |
Runtime type information. More... | |
immersedBoundaryFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm) | |
Construct from polyPatch. More... | |
virtual | ~immersedBoundaryFvPatch () |
Destructor. More... | |
const immersedBoundaryPolyPatch & | ibPolyPatch () const |
Return reference to immersed boundary polyPatch. More... | |
const triSurfaceMesh & | ibMesh () const |
Return immersed boundary surface mesh. More... | |
bool | internalFlow () const |
bool | movingIb () const |
Is the immersed boundary patch moving? More... | |
const volScalarField & | gamma () const |
Get fluid cells indicator, marking only live fluid cells. More... | |
const volScalarField & | gammaExt () const |
Get extended flud cells indicator, including live and IB cells. More... | |
const surfaceScalarField & | sGamma () const |
Get fluid faces indicator, marking faces between live cells. More... | |
const labelList & | ibCells () const |
Return list of fluid cells next to immersed boundary (IB cells) More... | |
const labelList & | ibFaces () const |
Return list of faces for which one neighbour is an IB cell. More... | |
const labelList & | ibFaceCells () const |
Return list of IB cell index for each ibFace. More... | |
const boolList & | ibFaceFlips () const |
Return list of IB face flip: More... | |
const labelList & | ibInsideFaces () const |
Return list of fluid faces for which one neighbour is an. More... | |
const labelList & | ibInternalFaces () const |
Return list of internal faces in the region bounded by IB faces. More... | |
const vectorField & | ibPoints () const |
Return IB points. More... | |
const vectorField & | ibNormals () const |
Return IB normals. More... | |
const labelList & | hitFaces () const |
Return list of triangles in IB mesh nearest. More... | |
const vectorField & | ibSamplingPoints () const |
Return IB sampling points. More... | |
const scalarListList & | ibSamplingWeights () const |
Interpolation weights for sampling points. More... | |
const scalarListList & | ibSamplingProcWeights () const |
Processor interpolation weights for sampling points. More... | |
const labelListList & | cellsToTriAddr () const |
Interpolation addressing from IB points to tri faces. More... | |
const scalarListList & | cellsToTriWeights () const |
Interpolation weights from IB points to tri faces. More... | |
const labelListList & | ibCellCells () const |
Return IB cell extended stencil. More... | |
const FieldField< Field, vector > & | ibProcCentres () const |
Return neighbour proc centres. More... | |
const FieldField< Field, scalar > & | ibProcGamma () const |
Return neighbour proc gamma. More... | |
const List< List< labelPair > > & | ibCellProcCells () const |
Return neighbour cell addressing. More... | |
const labelListList & | ibProcCells () const |
Return neighbour proc cells. More... | |
const labelList & | deadCells () const |
Return dead cells. More... | |
const labelList & | deadCellsExt () const |
Return extended dead cells. More... | |
const labelList & | deadFaces () const |
Return dead faces. More... | |
const labelList & | liveCells () const |
Return live cells. More... | |
const scalarField & | ibCellSizes () const |
Return immersed boundary cell sizes. More... | |
const PtrList< scalarRectangularMatrix > & | invDirichletMatrices () const |
Get inverse Dirichlet interpolation matrix. More... | |
const PtrList< scalarRectangularMatrix > & | invNeumannMatrices () const |
Get inverse Neumann interpolation matrix. More... | |
const vectorField & | ibSf () const |
Return IB face area vectors. More... | |
const scalarField & | ibMagSf () const |
Return IB face area vector magnitudes. More... | |
const scalarField & | ibDelta () const |
Return distance to IB. More... | |
const scalarField & | ibSamplingPointDelta () const |
Return distance to IB. More... | |
const vectorField & | triSf () const |
Return triangular surface face area vectors. More... | |
const vectorField & | triCf () const |
Return triangular surface face centres. More... | |
const dynamicLabelList & | triFacesInMesh () const |
Return labels of triangular faces which are inside the mesh. More... | |
template<class Type > | |
tmp< FieldField< Field, Type > > | sendAndReceive (const Field< Type > &psi) const |
Send and receive. More... | |
template<class Type > | |
tmp< Field< Type > > | toIbPoints (const Field< Type > &triValues) const |
Collect ibPoint values: from tri face fields onto intersection. More... | |
template<class Type > | |
tmp< Field< Type > > | toIbPoints (const tmp< Field< Type > > &ttriValues) const |
Collect ibPoint values: from tri face fields onto intersection. More... | |
template<class Type > | |
tmp< Field< Type > > | toTriFaces (const Field< Type > &ibValues) const |
triFace values: collect data from IB fields onto intersection More... | |
template<class Type > | |
tmp< Field< Type > > | toTriFaces (const tmp< Field< Type > > &tibValues) const |
triFace values: collect data from IB fields onto intersection More... | |
template<class Type > | |
tmp< Field< Type > > | toSamplingPoints (const Field< Type > &cellValues) const |
Interpolation functions to sampling points from mesh cell centres. More... | |
template<class Type > | |
const tmp< Field< Type > > | renumberField (const Field< Type > &f) const |
Renumber Field to corespond to triangular faces contained. More... | |
template<class Type > | |
Foam::tmp< Foam::FieldField< Foam::Field, Type > > | sendAndReceive (const Field< Type > &psi) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | toIbPoints (const Field< Type > &triValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | toIbPoints (const tmp< Field< Type > > &ttriValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | toTriFaces (const Field< Type > &ibValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | toTriFaces (const tmp< Field< Type > > &tibValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | toSamplingPoints (const Field< Type > &cellValues) const |
template<class Type > | |
const Foam::tmp< Foam::Field< Type > > | renumberField (const Field< Type > &f) const |
![]() | |
TypeName (polyPatch::typeName_()) | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, fvPatch, polyPatch,(const polyPatch &patch, const fvBoundaryMesh &bm),(patch, bm)) | |
fvPatch (const polyPatch &, const fvBoundaryMesh &) | |
Construct from polyPatch and fvBoundaryMesh. More... | |
virtual | ~fvPatch () |
Destructor. More... | |
const polyPatch & | patch () const |
Return the polyPatch. More... | |
const word & | name () const |
Return name. More... | |
label | start () const |
Return start label of this patch in the polyMesh face list. More... | |
virtual label | size () const |
Return size. More... | |
virtual bool | coupled () const |
Return true if this patch is coupled. More... | |
label | index () const |
Return the index of this patch in the fvBoundaryMesh. More... | |
const fvBoundaryMesh & | boundaryMesh () const |
Return boundaryMesh reference. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const List< T > &l) const |
Slice list to patch. More... | |
virtual const labelUList & | faceCells () const |
Return faceCells. More... | |
const vectorField & | Cf () const |
Return face centres. More... | |
tmp< vectorField > | Cn () const |
Return neighbour cell centres. More... | |
const vectorField & | Sf () const |
Return face area vectors. More... | |
const scalarField & | magSf () const |
Return face area magnitudes. More... | |
tmp< vectorField > | nf () const |
Return face normals. More... | |
virtual tmp< vectorField > | delta () const |
Return cell-centre to face-centre vector. More... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
const scalarField & | deltaCoeffs () const |
Return the face - cell distance coeffient. More... | |
template<class Type > | |
tmp< Field< Type > > | patchInternalField (const UList< Type > &) const |
Return given internal field next to patch as patch field. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &, Field< Type > &) const |
Return given internal field next to patch as patch field. More... | |
template<class GeometricField , class Type > | |
const GeometricField::PatchFieldType & | patchField (const GeometricField &) const |
Return the corresponding patchField of the named field. More... | |
template<class GeometricField , class Type > | |
const GeometricField::PatchFieldType & | lookupPatchField (const word &name, const GeometricField *=NULL, const Type *=NULL) const |
Lookup and return the patchField of the named field from the. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f) const |
Protected Member Functions | |
virtual void | initMovePoints () |
Initialise the patches for moving points. More... | |
virtual void | movePoints () |
Correct patches after moving points. More... | |
![]() | |
virtual void | makeWeights (scalarField &) const |
Make patch weighting factors. More... | |
Private Member Functions | |
void | clearOut () |
Clear all demand-driven data. More... | |
void | makeGamma () const |
Make fluid cells indicator, marking only live fluid cells. More... | |
void | makeGammaExt () const |
Make extended fluid cells indicator, marking live and IB cells. More... | |
void | makeSGamma () const |
Make fluid faces indicator. More... | |
void | makeIbCells () const |
Make list of cells next to immersed boundary. More... | |
void | addIbCornerCells () const |
Add corner points to IB cells list. More... | |
void | makeIbFaces () const |
Make IB faces. More... | |
void | makeTriAddressing () const |
Make tri addressing. More... | |
void | makeIbInsideFaces () const |
Make inside IB faces. More... | |
void | makeIbInternalFaces () const |
Make internal IB faces. More... | |
void | makeIbPointsAndNormals () const |
Make immersed boundary points and normals. More... | |
void | makeIbSamplingWeights () const |
Make sampling point weights. More... | |
void | makeIbCellCells () const |
Make extended IB cells stencils. More... | |
void | makeDeadCells () const |
Make list of dead cells. More... | |
void | makeDeadCellsExt () const |
Make extended list of dead cells. More... | |
void | makeDeadFaces () const |
Make list of dead faces. More... | |
void | makeLiveCells () const |
Make list of live cells. More... | |
void | makeIbCellSizes () const |
Make immersed boundary cell sizes. More... | |
void | makeIbSf () const |
Make face area vectors and magnitudes. More... | |
void | makeIbDelta () const |
Make distance between IB cell centres. More... | |
void | makeIbSamplingPointDelta () const |
Make distance between IB cell centres. More... | |
void | makeTriSf () const |
Make triangular surface face area vectors. More... | |
label | findNearestCell (const point &location) const |
Find nearest cell. More... | |
void | findCellCells (const vector &pt, const label cellID, labelList &cellCells) const |
Return extended cell-cell addressing. More... | |
scalar | cellSize (label cellID) const |
Calc cell size. More... | |
scalar | cellProjection (label cellID, const vector &dir) const |
Calc cell projection area. More... | |
void | makeInvDirichletMatrices () const |
Make inverse Dirichlet interpolation matrices. More... | |
void | makeInvNeumannMatrices () const |
Make inverse Neumann interpolation matrices. More... | |
Private Attributes | |
const immersedBoundaryPolyPatch & | ibPolyPatch_ |
Reference to processor patch. More... | |
const fvMesh & | mesh_ |
Finite volume mesh reference. More... | |
label | ibUpdateTimeIndex_ |
Time index for last update of mesh or moving boundary. More... | |
volScalarField * | gammaPtr_ |
Fluid cells indicator, marking only live fluid cells. More... | |
volScalarField * | gammaExtPtr_ |
Fluid cells indicator, marking live and IB cells. More... | |
surfaceScalarField * | sGammaPtr_ |
Fluid faces indicator, marking faces between live cells. More... | |
labelList * | ibCellsPtr_ |
List of fluid cells next to immersed boundary (IB cells) More... | |
labelList * | ibFacesPtr_ |
List of faces for which one neighbour is an IB cell. More... | |
labelList * | ibFaceCellsPtr_ |
List of IB cell index for each ibFace. More... | |
boolList * | ibFaceFlipsPtr_ |
List of IB face flip: More... | |
labelList * | ibInsideFacesPtr_ |
List of fluid faces for which one neighbour is an IB cell. More... | |
labelList * | ibInternalFacesPtr_ |
List of internal faces in the region bounded by IB faces. More... | |
vectorField * | ibPointsPtr_ |
Points at the immersed boundary (IB points) More... | |
vectorField * | ibNormalsPtr_ |
Normals at IB points. More... | |
labelList * | hitFacesPtr_ |
List of faces (triangles) which are part of IB mesh. More... | |
vectorField * | ibSamplingPointsPtr_ |
Sampling points for IB cells. More... | |
scalarListList * | ibSamplingWeightsPtr_ |
Interpolation weights for sampling weights. More... | |
scalarListList * | ibSamplingProcWeightsPtr_ |
Interpolation weights for sampling processor weights. More... | |
labelListList * | cellsToTriAddrPtr_ |
Interpolation addressing from IB points to tri faces. More... | |
scalarListList * | cellsToTriWeightsPtr_ |
Interpolation weights from IB points to tri faces. More... | |
labelListList * | ibCellCellsPtr_ |
Neighbour cells for immersed boundary cells. More... | |
labelListList * | ibProcCellsPtr_ |
List of cells needed by neighbour processors. More... | |
FieldField< Field, vector > * | ibProcCentresPtr_ |
Centres of cells from neighbour processors. More... | |
FieldField< Field, scalar > * | ibProcGammaPtr_ |
Gamma of cells from neighbour processors. More... | |
List< List< labelPair > > * | ibCellProcCellsPtr_ |
Cell-proc-cell addressing. More... | |
labelList * | deadCellsPtr_ |
Dead cells list. More... | |
labelList * | deadCellsExtPtr_ |
Extended dead cells list (dead cells + IB cells) More... | |
labelList * | deadFacesPtr_ |
Dead faces list. More... | |
labelList * | liveCellsPtr_ |
List of live cells. More... | |
scalarField * | ibCellSizesPtr_ |
Average IB cell sizes. More... | |
PtrList< scalarRectangularMatrix > * | invDirichletMatricesPtr_ |
Inverse interpolation matrices for Dirichlet BC at the IB. More... | |
PtrList< scalarRectangularMatrix > * | invNeumannMatricesPtr_ |
Inverse interpolation matrices for Neumann BC at the IB. More... | |
vectorField * | ibSfPtr_ |
IB face area vectors. More... | |
scalarField * | ibMagSfPtr_ |
IB face area vector magnitudess. More... | |
scalarField * | ibDeltaPtr_ |
IB cell centre distances to IB. More... | |
scalarField * | ibSamplingPointDeltaPtr_ |
IB cell centre distances to IB. More... | |
vectorField * | triSfPtr_ |
Tri surface face area vectors. More... | |
dynamicLabelList | triFacesInMesh_ |
Tri surface face labels contained in this mesh. More... | |
Static Private Attributes | |
static const debug::tolerancesSwitch | angleFactor_ |
Fitting angle rejection factor (deg) More... | |
static const debug::tolerancesSwitch | radiusFactor_ |
Fitting radius factor. More... | |
static const debug::optimisationSwitch | maxCellCellRows_ |
Maximum number of rows in cell-cell search. More... | |
static const debug::tolerancesSwitch | distFactor_ |
Sampling point distance factor. More... | |
Additional Inherited Members | |
![]() | |
typedef fvBoundaryMesh | BoundaryMesh |
![]() | |
static autoPtr< fvPatch > | New (const polyPatch &, const fvBoundaryMesh &) |
Return a pointer to a new patch created on freestore from polyPatch. More... | |
static bool | constraintType (const word &pt) |
Return true if the given type is a constraint type. More... | |
static wordList | constraintTypes () |
Return a list of all the constraint patch types. More... | |
Immersed boundary FV patch.
Author Zeljko Tukovic Reorganisation by Hrvoje Jasak
Definition at line 66 of file immersedBoundaryFvPatch.H.
immersedBoundaryFvPatch | ( | const polyPatch & | patch, |
const fvBoundaryMesh & | bm | ||
) |
Construct from polyPatch.
Definition at line 2209 of file immersedBoundaryFvPatch.C.
|
inlinevirtual |
Destructor.
Definition at line 352 of file immersedBoundaryFvPatch.H.
|
private |
Clear all demand-driven data.
Definition at line 2149 of file immersedBoundaryFvPatch.C.
References Foam::deleteDemandDrivenData().
|
private |
Make fluid cells indicator, marking only live fluid cells.
Definition at line 83 of file immersedBoundaryFvPatch.C.
References Foam::abort(), GeometricField::boundaryField(), Foam::dimless, Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, immersedBoundaryFvPatch::gammaExt(), immersedBoundaryFvPatch::gammaPtr_, immersedBoundaryFvPatch::ibCells(), InfoIn, GeometricField::internalField(), immersedBoundaryFvPatch::mesh_, fvPatch::name(), IOobject::NO_READ, IOobject::NO_WRITE, fvMesh::time(), and Time::timeName().
|
private |
Make extended fluid cells indicator, marking live and IB cells.
Definition at line 145 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::dimless, Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, Foam::Info, InfoIn, Foam::name(), IOobject::NO_READ, and IOobject::NO_WRITE.
|
private |
Make fluid faces indicator.
Definition at line 217 of file immersedBoundaryFvPatch.C.
References Foam::abort(), GeometricField::boundaryField(), Foam::dimless, Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, g, InfoIn, GeometricField::internalField(), Foam::name(), IOobject::NO_READ, and IOobject::NO_WRITE.
|
private |
Make list of cells next to immersed boundary.
Definition at line 371 of file immersedBoundaryFvPatch.C.
References Foam::abort(), GeometricField::boundaryField(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, HashTable::found(), InfoIn, HashSet< Key, Hash >::insert(), GeometricField::internalField(), Foam::mag(), Foam::name(), Foam::Pout, UList::size(), Foam::sort(), and HashTable::toc().
|
private |
Add corner points to IB cells list.
Definition at line 476 of file immersedBoundaryFvPatch.C.
References Foam::deleteDemandDrivenData(), delta, Foam::endl(), Foam::findIndex(), forAll, HashTable::found(), PointIndexHit< Point >::hit(), PointIndexHit< Point >::hitPoint(), PointIndexHit< Point >::index(), InfoIn, HashSet< Key, Hash >::insert(), Foam::mag(), n, Foam::name(), triSurfaceSearch::nearest(), List::size(), triSurfaceTools::surfaceNormal(), and HashTable::toc().
|
private |
Make IB faces.
Definition at line 642 of file immersedBoundaryFvPatch.C.
References Foam::abort(), DynamicList::append(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, InfoIn, Foam::mag(), Foam::name(), DynamicList::shrink(), List::size(), and DynamicList::xfer().
|
private |
Make tri addressing.
Definition at line 30 of file immersedBoundaryFvPatchTriAddressing.C.
References Foam::abort(), LList::append(), immersedBoundaryFvPatch::cellsToTriAddrPtr_, immersedBoundaryFvPatch::cellsToTriWeightsPtr_, Foam::endl(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceCentres(), Foam::FatalError, FatalErrorIn, forAll, HashTable::found(), immersedBoundaryFvPatch::hitFaces(), immersedBoundaryPolyPatch::ibMesh(), immersedBoundaryFvPatch::ibPoints(), immersedBoundaryFvPatch::ibPolyPatch_, InfoIn, HashSet< Key, Hash >::insert(), LList::insert(), Foam::mag(), fvPatch::name(), Foam::nl, PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces(), LList::removeHead(), List::setSize(), List::size(), fvPatch::size(), HashTable::size(), HashTable::toc(), immersedBoundaryFvPatch::triFacesInMesh(), w(), and WarningIn.
|
private |
Make inside IB faces.
Definition at line 765 of file immersedBoundaryFvPatch.C.
References Foam::abort(), GeometricField::boundaryField(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, HashTable::found(), InfoIn, HashSet< Key, Hash >::insert(), GeometricField::internalField(), Foam::mag(), Foam::name(), Foam::sort(), and HashTable::toc().
|
private |
Make internal IB faces.
Definition at line 852 of file immersedBoundaryFvPatch.C.
References Foam::abort(), GeometricField::boundaryField(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, HashTable::found(), InfoIn, HashSet< Key, Hash >::insert(), GeometricField::internalField(), Foam::sort(), and HashTable::toc().
|
private |
Make immersed boundary points and normals.
Definition at line 946 of file immersedBoundaryFvPatch.C.
References Foam::abort(), C::C(), delta, Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, PointIndexHit< Point >::hit(), PointIndexHit< Point >::hitPoint(), PointIndexHit< Point >::index(), InfoIn, Foam::mag(), Foam::name(), triSurfaceSearch::nearest(), Foam::nl, List::size(), triSurfaceTools::surfaceNormal(), WarningIn, and Vector< scalar >::zero.
|
private |
Make sampling point weights.
Definition at line 32 of file immersedBoundaryFvPatchSamplingWeights.C.
References Foam::abort(), fvMesh::C(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, immersedBoundaryFvPatch::gamma(), immersedBoundaryFvPatch::ibCellCells(), immersedBoundaryFvPatch::ibCellProcCells(), immersedBoundaryFvPatch::ibCells(), immersedBoundaryFvPatch::ibProcCentres(), immersedBoundaryFvPatch::ibProcGamma(), immersedBoundaryFvPatch::ibSamplingPoints(), immersedBoundaryFvPatch::ibSamplingProcWeightsPtr_, immersedBoundaryFvPatch::ibSamplingWeightsPtr_, Foam::Info, InfoIn, GeometricField::internalField(), Foam::mag(), immersedBoundaryFvPatch::mesh_, Foam::nl, List::setSize(), List::size(), and fvPatch::size().
|
private |
Make extended IB cells stencils.
Definition at line 1065 of file immersedBoundaryFvPatch.C.
References Foam::abort(), UPstream::blocking, Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, HashTable::found(), InfoIn, HashSet< Key, Hash >::insert(), Foam::mag(), UPstream::myProcNo(), UPstream::nProcs(), UPstream::parRun(), R, List::setSize(), List::size(), Foam::sort(), HashTable::toc(), and Vector< scalar >::zero.
|
private |
Make list of dead cells.
Definition at line 1592 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, InfoIn, and Foam::sum().
|
private |
Make extended list of dead cells.
Definition at line 1627 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, InfoIn, and Foam::sum().
|
private |
Make list of dead faces.
Definition at line 1661 of file immersedBoundaryFvPatch.C.
References Foam::abort(), GeometricField::boundaryField(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, InfoIn, GeometricField::internalField(), and List::setSize().
|
private |
Make list of live cells.
Definition at line 1745 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, InfoIn, and Foam::sum().
|
private |
Make immersed boundary cell sizes.
Definition at line 1779 of file immersedBoundaryFvPatch.C.
References Foam::abort(), delta, Foam::endl(), Foam::FatalError, FatalErrorIn, InfoIn, Foam::pow(), and Foam::sqrt().
|
private |
Make face area vectors and magnitudes.
Definition at line 1842 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, InfoIn, and Foam::mag().
|
private |
Make distance between IB cell centres.
and corresponding IB points
Definition at line 1868 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, InfoIn, and Foam::mag().
|
private |
Make distance between IB cell centres.
and corresponding sample IB points
Definition at line 1894 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, InfoIn, and Foam::mag().
|
private |
Make triangular surface face area vectors.
Definition at line 1922 of file immersedBoundaryFvPatch.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, InfoIn, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), and List::size().
|
private |
Find nearest cell.
Definition at line 1962 of file immersedBoundaryFvPatch.C.
References Foam::magSqr().
Return extended cell-cell addressing.
Definition at line 1992 of file immersedBoundaryFvPatch.C.
References HashTable::erase(), forAll, HashTable::found(), SortableList::indices(), HashSet< Key, Hash >::insert(), Foam::mag(), List::size(), and HashTable::toc().
|
private |
Calc cell size.
Definition at line 2086 of file immersedBoundaryFvPatch.C.
References delta, Foam::pow(), and Foam::sqrt().
Calc cell projection area.
Definition at line 2115 of file immersedBoundaryFvPatch.C.
References forAll.
|
private |
Make inverse Dirichlet interpolation matrices.
Definition at line 32 of file immersedBoundaryFvPatchLeastSquaresFit.C.
References Foam::abort(), Foam::DelaunayMeshTools::allPoints(), fvMesh::C(), coeff, Foam::cos(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, Foam::gMax(), immersedBoundaryFvPatch::ibCellCells(), immersedBoundaryFvPatch::ibCellProcCells(), immersedBoundaryFvPatch::ibCells(), immersedBoundaryFvPatch::ibPoints(), immersedBoundaryFvPatch::ibProcCentres(), Foam::Info, InfoIn, GeometricField::internalField(), immersedBoundaryFvPatch::invDirichletMatricesPtr_, k, Matrix::m(), M, Foam::mag(), Foam::max(), immersedBoundaryFvPatch::mesh_, Matrix::n(), polyMesh::nGeometricD(), Foam::constant::mathematical::pi(), PtrList::set(), List::size(), Foam::sqr(), Vector< Cmpt >::x(), Y, Vector< Cmpt >::y(), Vector< Cmpt >::z(), and Vector< scalar >::zero.
|
private |
Make inverse Neumann interpolation matrices.
Definition at line 268 of file immersedBoundaryFvPatchLeastSquaresFit.C.
References Foam::abort(), Foam::DelaunayMeshTools::allPoints(), C::C(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, Foam::gMax(), Foam::Info, InfoIn, k, Matrix::m(), M, Foam::mag(), Foam::max(), Matrix::n(), Foam::nl, PtrList::set(), List::size(), Foam::sort(), Foam::sqr(), Vector< Cmpt >::x(), Y, Vector< Cmpt >::y(), Vector< Cmpt >::z(), and Vector< scalar >::zero.
|
protectedvirtual |
Initialise the patches for moving points.
Reimplemented from fvPatch.
Definition at line 2196 of file immersedBoundaryFvPatch.C.
|
protectedvirtual |
Correct patches after moving points.
Reimplemented from fvPatch.
Definition at line 2200 of file immersedBoundaryFvPatch.C.
TypeName | ( | immersedBoundaryPolyPatch::typeName_() | ) |
Runtime type information.
|
inline |
Return reference to immersed boundary polyPatch.
Definition at line 361 of file immersedBoundaryFvPatch.H.
References immersedBoundaryFvPatch::ibPolyPatch_.
|
inline |
Return immersed boundary surface mesh.
Definition at line 367 of file immersedBoundaryFvPatch.H.
References immersedBoundaryPolyPatch::ibMesh(), and immersedBoundaryFvPatch::ibPolyPatch_.
|
inline |
Definition at line 372 of file immersedBoundaryFvPatch.H.
References immersedBoundaryFvPatch::ibPolyPatch_, and immersedBoundaryPolyPatch::internalFlow().
|
inline |
Is the immersed boundary patch moving?
Definition at line 378 of file immersedBoundaryFvPatch.H.
References immersedBoundaryFvPatch::ibPolyPatch_, and immersedBoundaryPolyPatch::movingIb().
Referenced by immersedBoundaryVelocityWallFunctionFvPatchVectorField::tauWall(), immersedBoundaryWallFunctionFvPatchField< Type >::wallMask(), immersedBoundaryVelocityWallFunctionFvPatchVectorField::wallMask(), immersedBoundaryVelocityWallFunctionFvPatchVectorField::wallTangentialValue(), and immersedBoundaryWallFunctionFvPatchField< Type >::wallValue().
const Foam::volScalarField & gamma | ( | ) | const |
Get fluid cells indicator, marking only live fluid cells.
Definition at line 2256 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights().
const Foam::volScalarField & gammaExt | ( | ) | const |
Get extended flud cells indicator, including live and IB cells.
Definition at line 2267 of file immersedBoundaryFvPatch.C.
Referenced by refineImmersedBoundaryMesh::addIbCellCellFaces(), and immersedBoundaryFvPatch::makeGamma().
const Foam::surfaceScalarField & sGamma | ( | ) | const |
Get fluid faces indicator, marking faces between live cells.
Definition at line 2278 of file immersedBoundaryFvPatch.C.
const Foam::labelList & ibCells | ( | ) | const |
Return list of fluid cells next to immersed boundary (IB cells)
Definition at line 2289 of file immersedBoundaryFvPatch.C.
Referenced by refineImmersedBoundaryMesh::addIbCells(), immersedBoundaryFvPatch::makeGamma(), immersedBoundaryFvPatch::makeIbSamplingWeights(), and immersedBoundaryFvPatch::makeInvDirichletMatrices().
const Foam::labelList & ibFaces | ( | ) | const |
Return list of faces for which one neighbour is an IB cell.
and another neighbour is a live fluid cell (IB faces)
Definition at line 2300 of file immersedBoundaryFvPatch.C.
Referenced by Foam::immersedBoundaryAdjustPhi().
const Foam::labelList & ibFaceCells | ( | ) | const |
Return list of IB cell index for each ibFace.
Definition at line 2311 of file immersedBoundaryFvPatch.C.
const Foam::boolList & ibFaceFlips | ( | ) | const |
Return list of IB face flip:
false if IB face points into IB cell (out of the live cell) true if IB face points into a live cell
Definition at line 2322 of file immersedBoundaryFvPatch.C.
Referenced by Foam::immersedBoundaryAdjustPhi().
const Foam::labelList & ibInsideFaces | ( | ) | const |
Return list of fluid faces for which one neighbour is an.
IB cell and another neighbour is a dead cell (inside IB faces)
Definition at line 2333 of file immersedBoundaryFvPatch.C.
Referenced by refineImmersedBoundaryMesh::addIbCellCellFaces().
const Foam::labelList & ibInternalFaces | ( | ) | const |
Return list of internal faces in the region bounded by IB faces.
Definition at line 2344 of file immersedBoundaryFvPatch.C.
const Foam::vectorField & ibPoints | ( | ) | const |
Return IB points.
Definition at line 2355 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeInvDirichletMatrices(), and immersedBoundaryFvPatch::makeTriAddressing().
const Foam::vectorField & ibNormals | ( | ) | const |
Return IB normals.
Definition at line 2366 of file immersedBoundaryFvPatch.C.
const Foam::labelList & hitFaces | ( | ) | const |
Return list of triangles in IB mesh nearest.
nearest to IB cell centres
Definition at line 2377 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeTriAddressing().
const Foam::vectorField & ibSamplingPoints | ( | ) | const |
Return IB sampling points.
Definition at line 2389 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights().
const Foam::scalarListList & ibSamplingWeights | ( | ) | const |
Interpolation weights for sampling points.
Definition at line 184 of file immersedBoundaryFvPatchSamplingWeights.C.
const Foam::scalarListList & ibSamplingProcWeights | ( | ) | const |
Processor interpolation weights for sampling points.
Definition at line 196 of file immersedBoundaryFvPatchSamplingWeights.C.
const Foam::labelListList & cellsToTriAddr | ( | ) | const |
Interpolation addressing from IB points to tri faces.
Definition at line 211 of file immersedBoundaryFvPatchTriAddressing.C.
const Foam::scalarListList & cellsToTriWeights | ( | ) | const |
Interpolation weights from IB points to tri faces.
Definition at line 223 of file immersedBoundaryFvPatchTriAddressing.C.
const Foam::labelListList & ibCellCells | ( | ) | const |
Return IB cell extended stencil.
Definition at line 2400 of file immersedBoundaryFvPatch.C.
Referenced by refineImmersedBoundaryMesh::addIbCellCells(), immersedBoundaryFvPatch::makeIbSamplingWeights(), and immersedBoundaryFvPatch::makeInvDirichletMatrices().
const Foam::FieldField< Foam::Field, Foam::vector > & ibProcCentres | ( | ) | const |
Return neighbour proc centres.
These are centres from neighbouring processors the local processor needs to receive
Definition at line 2412 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights(), and immersedBoundaryFvPatch::makeInvDirichletMatrices().
const Foam::FieldField< Foam::Field, Foam::scalar > & ibProcGamma | ( | ) | const |
Return neighbour proc gamma.
These are gamma values from neighbouring processors the local processor needs to receive
Definition at line 2424 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights().
const Foam::List< Foam::List< Foam::labelPair > > & ibCellProcCells | ( | ) | const |
Return neighbour cell addressing.
Definition at line 2436 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights(), and immersedBoundaryFvPatch::makeInvDirichletMatrices().
const Foam::labelListList & ibProcCells | ( | ) | const |
Return neighbour proc cells.
These are cell data that other processors need from local processor
Definition at line 2447 of file immersedBoundaryFvPatch.C.
const Foam::labelList & deadCells | ( | ) | const |
Return dead cells.
Definition at line 2458 of file immersedBoundaryFvPatch.C.
const Foam::labelList & deadCellsExt | ( | ) | const |
Return extended dead cells.
Definition at line 2469 of file immersedBoundaryFvPatch.C.
const Foam::labelList & deadFaces | ( | ) | const |
Return dead faces.
Definition at line 2480 of file immersedBoundaryFvPatch.C.
const Foam::labelList & liveCells | ( | ) | const |
Return live cells.
Definition at line 2491 of file immersedBoundaryFvPatch.C.
const Foam::scalarField & ibCellSizes | ( | ) | const |
Return immersed boundary cell sizes.
Definition at line 2502 of file immersedBoundaryFvPatch.C.
const Foam::PtrList< Foam::scalarRectangularMatrix > & invDirichletMatrices | ( | ) | const |
Get inverse Dirichlet interpolation matrix.
Definition at line 570 of file immersedBoundaryFvPatchLeastSquaresFit.C.
const Foam::PtrList< Foam::scalarRectangularMatrix > & invNeumannMatrices | ( | ) | const |
Get inverse Neumann interpolation matrix.
Definition at line 582 of file immersedBoundaryFvPatchLeastSquaresFit.C.
const Foam::vectorField & ibSf | ( | ) | const |
Return IB face area vectors.
Definition at line 2513 of file immersedBoundaryFvPatch.C.
const Foam::scalarField & ibMagSf | ( | ) | const |
Return IB face area vector magnitudes.
Definition at line 2524 of file immersedBoundaryFvPatch.C.
const Foam::scalarField & ibDelta | ( | ) | const |
Return distance to IB.
Definition at line 2535 of file immersedBoundaryFvPatch.C.
const Foam::scalarField & ibSamplingPointDelta | ( | ) | const |
Return distance to IB.
Definition at line 2547 of file immersedBoundaryFvPatch.C.
const Foam::vectorField & triSf | ( | ) | const |
Return triangular surface face area vectors.
Definition at line 2558 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryForces::calcForcesMoment(), and Foam::immersedBoundaryAdjustPhi().
const Foam::vectorField & triCf | ( | ) | const |
Return triangular surface face centres.
Definition at line 2569 of file immersedBoundaryFvPatch.C.
Referenced by immersedBoundaryForces::calcForcesMoment().
const Foam::dynamicLabelList & triFacesInMesh | ( | ) | const |
Return labels of triangular faces which are inside the mesh.
Definition at line 2576 of file immersedBoundaryFvPatch.C.
References forAll.
Referenced by immersedBoundaryFvPatch::makeTriAddressing().
tmp<FieldField<Field, Type> > sendAndReceive | ( | const Field< Type > & | psi | ) | const |
Send and receive.
Collect ibPoint values: from tri face fields onto intersection.
points on the IB surface
Collect ibPoint values: from tri face fields onto intersection.
points on the IB surface with tmp
triFace values: collect data from IB fields onto intersection
points on the IB surface
Referenced by immersedBoundaryForces::calcForcesMoment().
triFace values: collect data from IB fields onto intersection
points on the IB surface with tmp
Interpolation functions to sampling points from mesh cell centres.
Renumber Field to corespond to triangular faces contained.
inside the mesh
Referenced by immersedBoundaryForces::calcForcesMoment().
Foam::tmp<Foam::FieldField<Foam::Field, Type> > sendAndReceive | ( | const Field< Type > & | psi | ) | const |
Definition at line 34 of file immersedBoundaryFvPatchTemplates.C.
Foam::tmp<Foam::Field<Type> > toIbPoints | ( | const Field< Type > & | triValues | ) | const |
Definition at line 111 of file immersedBoundaryFvPatchTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorIn, forAll, Foam::name(), Foam::nl, and List::size().
Foam::tmp<Foam::Field<Type> > toIbPoints | ( | const tmp< Field< Type > > & | ttriValues | ) | const |
Definition at line 171 of file immersedBoundaryFvPatchTemplates.C.
Foam::tmp<Foam::Field<Type> > toTriFaces | ( | const Field< Type > & | ibValues | ) | const |
Definition at line 185 of file immersedBoundaryFvPatchTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorIn, forAll, Foam::name(), Foam::nl, and List::size().
Foam::tmp<Foam::Field<Type> > toTriFaces | ( | const tmp< Field< Type > > & | tibValues | ) | const |
Definition at line 234 of file immersedBoundaryFvPatchTemplates.C.
Foam::tmp<Foam::Field<Type> > toSamplingPoints | ( | const Field< Type > & | cellValues | ) | const |
Definition at line 248 of file immersedBoundaryFvPatchTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorIn, forAll, Foam::name(), Foam::nl, and List::size().
const Foam::tmp<Foam::Field<Type> > renumberField | ( | const Field< Type > & | f | ) | const |
Definition at line 326 of file immersedBoundaryFvPatchTemplates.C.
|
private |
Reference to processor patch.
Definition at line 73 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::ibMesh(), immersedBoundaryFvPatch::ibPolyPatch(), immersedBoundaryFvPatch::internalFlow(), immersedBoundaryFvPatch::makeTriAddressing(), and immersedBoundaryFvPatch::movingIb().
|
private |
Finite volume mesh reference.
Definition at line 76 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeGamma(), immersedBoundaryFvPatch::makeIbSamplingWeights(), and immersedBoundaryFvPatch::makeInvDirichletMatrices().
|
mutableprivate |
Time index for last update of mesh or moving boundary.
Definition at line 79 of file immersedBoundaryFvPatch.H.
|
staticprivate |
Fitting angle rejection factor (deg)
Cells within the the radius will be used for the fitting function
Definition at line 86 of file immersedBoundaryFvPatch.H.
|
staticprivate |
Fitting radius factor.
Cells within the the radius will be used for the fitting function
Definition at line 90 of file immersedBoundaryFvPatch.H.
|
staticprivate |
Maximum number of rows in cell-cell search.
Definition at line 93 of file immersedBoundaryFvPatch.H.
|
staticprivate |
Sampling point distance factor.
Sampling point is located distFactor further away from the wall from the immersed boundary cell centre
Definition at line 98 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Fluid cells indicator, marking only live fluid cells.
Definition at line 106 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeGamma().
|
mutableprivate |
Fluid cells indicator, marking live and IB cells.
Definition at line 109 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Fluid faces indicator, marking faces between live cells.
Definition at line 112 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of fluid cells next to immersed boundary (IB cells)
Definition at line 115 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of faces for which one neighbour is an IB cell.
and another neighbour is a live fluid cell (IB faces)
Definition at line 119 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of IB cell index for each ibFace.
Definition at line 122 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of IB face flip:
false if IB face points into IB cell (out of the live cell) true if IB face points into a live cell
Definition at line 127 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of fluid faces for which one neighbour is an IB cell.
and another neighbour is a dead cell (inside IB faces)
Definition at line 131 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of internal faces in the region bounded by IB faces.
Definition at line 134 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Points at the immersed boundary (IB points)
nearest to the IB cell centres
Definition at line 138 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Normals at IB points.
Definition at line 141 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of faces (triangles) which are part of IB mesh.
nearest to the IB cell centres
Definition at line 145 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Sampling points for IB cells.
Definition at line 148 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Interpolation weights for sampling weights.
Definition at line 151 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights().
|
mutableprivate |
Interpolation weights for sampling processor weights.
Definition at line 154 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeIbSamplingWeights().
|
mutableprivate |
Interpolation addressing from IB points to tri faces.
Definition at line 157 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeTriAddressing().
|
mutableprivate |
Interpolation weights from IB points to tri faces.
Definition at line 160 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeTriAddressing().
|
mutableprivate |
Neighbour cells for immersed boundary cells.
(extended stencil)
Definition at line 164 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of cells needed by neighbour processors.
Definition at line 167 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Centres of cells from neighbour processors.
Definition at line 170 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Gamma of cells from neighbour processors.
Definition at line 173 of file immersedBoundaryFvPatch.H.
Cell-proc-cell addressing.
Definition at line 176 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Dead cells list.
Definition at line 179 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Extended dead cells list (dead cells + IB cells)
Definition at line 182 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Dead faces list.
Definition at line 185 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
List of live cells.
Definition at line 188 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Average IB cell sizes.
Definition at line 191 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Inverse interpolation matrices for Dirichlet BC at the IB.
Definition at line 194 of file immersedBoundaryFvPatch.H.
Referenced by immersedBoundaryFvPatch::makeInvDirichletMatrices().
|
mutableprivate |
Inverse interpolation matrices for Neumann BC at the IB.
Definition at line 197 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
IB face area vectors.
Definition at line 200 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
IB face area vector magnitudess.
Definition at line 203 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
IB cell centre distances to IB.
Definition at line 206 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
IB cell centre distances to IB.
Definition at line 209 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Tri surface face area vectors.
Definition at line 215 of file immersedBoundaryFvPatch.H.
|
mutableprivate |
Tri surface face labels contained in this mesh.
Definition at line 218 of file immersedBoundaryFvPatch.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.