FreeFOAM The Cross-Platform CFD Toolkit
coupledFvPatch Class Reference

An abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links. More...

#include <finiteVolume/coupledFvPatch.H>


Detailed Description

An abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links.

Source files

Definition at line 52 of file coupledFvPatch.H.

+ Inheritance diagram for coupledFvPatch:
+ Collaboration diagram for coupledFvPatch:

List of all members.

Public Member Functions

 TypeName (coupledPolyPatch::typeName_())
 Runtime type information.
 coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm)
 Construct from polyPatch.
virtual ~coupledFvPatch ()
virtual bool coupled () const
 Return true because this patch is coupled.
const tensorFieldforwardT () const
 Return face transformation tensor.
const tensorFieldreverseT () const
 Return neighbour-cell transformation tensor.
bool parallel () const
 Are the cyclic planes parallel.
virtual const unallocLabelListfaceCells () const
 Return faceCell addressing.
virtual tmp< vectorFielddelta () const =0
 Return delta (P to N) vectors across coupled patch.
virtual tmp< labelFieldinterfaceInternalField (const unallocLabelList &internalData) const =0
 Return the values of the given internal data adjacent to.
virtual void initTransfer (const Pstream::commsTypes commsType, const unallocLabelList &interfaceData) const
 Initialise interface data transfer.
virtual tmp< labelFieldtransfer (const Pstream::commsTypes commsType, const unallocLabelList &interfaceData) const =0
 Transfer and return neighbour field.
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, unallocLabelList &iF) const
 Initialise neighbour field transfer.
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const unallocLabelList &iF) const =0
 Return neighbour field.
- Public Member Functions inherited from lduInterface
 TypeName ("lduInterface")
 Runtime type information.
 lduInterface ()
 Construct null.
virtual ~lduInterface ()
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const unallocLabelList &iF) const
 Initialise transfer of internal field adjacent to the interface.
- Public Member Functions inherited from fvPatch
 TypeName (polyPatch::typeName_())
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, fvPatch, polyPatch,(const polyPatch &patch, const fvBoundaryMesh &bm),(patch, bm))
 fvPatch (const polyPatch &, const fvBoundaryMesh &)
 Construct from polyPatch.
virtual ~fvPatch ()
const polyPatchpatch () const
 Return the polyPatch.
const wordname () const
 Return name.
virtual label size () const
 Return size.
label index () const
 Return the index of this patch in the fvBoundaryMesh.
const fvBoundaryMeshboundaryMesh () const
 Return boundaryMesh reference.
template<class T >
const List< T >::subList patchSlice (const List< T > &l) const
 Slice list to patch.
const vectorFieldCf () const
 Return face centres.
tmp< vectorFieldCn () const
 Return neighbour cell centres.
const vectorFieldSf () const
 Return face area vectors.
const scalarFieldmagSf () const
 Return face area magnitudes.
tmp< vectorFieldnf () const
 Return face normals.
const scalarFieldweights () const
 Return patch weighting factors.
const scalarFielddeltaCoeffs () const
 Return the face - cell distance coeffient.
template<class Type >
tmp< Field< Type > > patchInternalField (const UList< Type > &) const
 Return given internal field next to patch as patch field.
template<class GeometricField , class Type >
const
GeometricField::PatchFieldType
patchField (const GeometricField &) const
 Return the corresponding patchField of the named field.
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.

Protected Member Functions

virtual void makeWeights (scalarField &) const =0
 Make patch weighting factors.
virtual void makeDeltaCoeffs (scalarField &) const =0
 Make patch face - neighbour cell distances.
- Protected Member Functions inherited from fvPatch
virtual void initMovePoints ()
 Initialise the patches for moving points.
virtual void movePoints ()
 Correct patches after moving points.

Friends

class surfaceInterpolation

Additional Inherited Members

- Public Types inherited from fvPatch
typedef fvBoundaryMesh BoundaryMesh
- Static Public Member Functions inherited from fvPatch
static autoPtr< fvPatchNew (const polyPatch &, const fvBoundaryMesh &)
 Return a pointer to a new patch created on freestore from polyPatch.
static bool constraintType (const word &pt)
 Return true if the given type is a constraint type.
static wordList constraintTypes ()
 Return a list of all the constraint patch types.

Constructor & Destructor Documentation

coupledFvPatch ( const polyPatch patch,
const fvBoundaryMesh bm 
)
inline

Construct from polyPatch.

Definition at line 85 of file coupledFvPatch.H.

~coupledFvPatch ( )
virtual

Definition at line 44 of file coupledFvPatch.C.


Member Function Documentation

virtual void makeWeights ( scalarField ) const
protectedpure virtual

Make patch weighting factors.

Reimplemented from fvPatch.

Implemented in cyclicFvPatch, and processorFvPatch.

virtual void makeDeltaCoeffs ( scalarField ) const
protectedpure virtual

Make patch face - neighbour cell distances.

Reimplemented from fvPatch.

Implemented in cyclicFvPatch, and processorFvPatch.

TypeName ( coupledPolyPatch::  typeName_())

Runtime type information.

virtual bool coupled ( ) const
inlinevirtual

Return true because this patch is coupled.

Reimplemented from fvPatch.

Reimplemented in processorFvPatch.

Definition at line 102 of file coupledFvPatch.H.

References coupledPolyPatch::coupled().

const tensorField& forwardT ( ) const
inline

Return face transformation tensor.

Reimplemented in processorFvPatch, and cyclicFvPatch.

Definition at line 108 of file coupledFvPatch.H.

References coupledPolyPatch::forwardT().

const tensorField& reverseT ( ) const
inline

Return neighbour-cell transformation tensor.

Reimplemented in cyclicFvPatch.

Definition at line 114 of file coupledFvPatch.H.

References coupledPolyPatch::reverseT().

bool parallel ( ) const
inline
virtual const unallocLabelList& faceCells ( ) const
inlinevirtual

Return faceCell addressing.

Reimplemented from fvPatch.

Definition at line 126 of file coupledFvPatch.H.

virtual tmp<vectorField> delta ( ) const
pure virtual

Return delta (P to N) vectors across coupled patch.

Reimplemented from fvPatch.

Implemented in processorFvPatch, and cyclicFvPatch.

virtual tmp<labelField> interfaceInternalField ( const unallocLabelList internalData) const
pure virtual

Return the values of the given internal data adjacent to.

the interface as a field

Implements lduInterface.

Implemented in processorFvPatch, and cyclicFvPatch.

virtual void initTransfer ( const Pstream::commsTypes  commsType,
const unallocLabelList interfaceData 
) const
inlinevirtual

Initialise interface data transfer.

Reimplemented from lduInterface.

Reimplemented in processorFvPatch.

Definition at line 146 of file coupledFvPatch.H.

virtual tmp<labelField> transfer ( const Pstream::commsTypes  commsType,
const unallocLabelList interfaceData 
) const
pure virtual

Transfer and return neighbour field.

Implements lduInterface.

Implemented in processorFvPatch, and cyclicFvPatch.

virtual void initInternalFieldTransfer ( const Pstream::commsTypes  commsType,
unallocLabelList iF 
) const
inlinevirtual

Initialise neighbour field transfer.

Definition at line 161 of file coupledFvPatch.H.

virtual tmp<labelField> internalFieldTransfer ( const Pstream::commsTypes  commsType,
const unallocLabelList iF 
) const
pure virtual

Return neighbour field.

Implements lduInterface.

Implemented in processorFvPatch, and cyclicFvPatch.


Friends And Related Function Documentation

friend class surfaceInterpolation
friend

Reimplemented from fvPatch.

Definition at line 75 of file coupledFvPatch.H.


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