Loading...
Searching...
No Matches
surfaceSlipDisplacementPointPatchVectorField Class Reference

Displacement follows a triSurface. Use in a displacementMotionSolver as a bc on the pointDisplacement field. Following is done by calculating the projection onto the surface according to the projectMode. More...

#include <surfaceSlipDisplacementPointPatchVectorField.H>

Inheritance diagram for surfaceSlipDisplacementPointPatchVectorField:
Collaboration diagram for surfaceSlipDisplacementPointPatchVectorField:

Public Types

enum  projectMode { NEAREST , POINTNORMAL , FIXEDNORMAL }
Public Types inherited from pointPatchField< vector >
typedef pointPatch Patch
 The patch type for the patch field.
typedef vector value_type
 The value_type for the patch field.
typedef pTraits< vector >::cmptType cmptType
 The component type for patch field.
typedef DimensionedField< vector, pointMeshInternal
 The internal field type associated with the patch field.
typedef calculatedPointPatchField< vectorCalculated
 Type for a calculated patch.

Public Member Functions

 TypeName ("surfaceSlipDisplacement")
 Runtime type information.
 surfaceSlipDisplacementPointPatchVectorField (const pointPatch &, const DimensionedField< vector, pointMesh > &)
 Construct from patch and internal field.
 surfaceSlipDisplacementPointPatchVectorField (const pointPatch &, const DimensionedField< vector, pointMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary.
 surfaceSlipDisplacementPointPatchVectorField (const surfaceSlipDisplacementPointPatchVectorField &, const pointPatch &, const DimensionedField< vector, pointMesh > &, const pointPatchFieldMapper &)
 Construct by mapping given patch field onto a new patch.
 surfaceSlipDisplacementPointPatchVectorField (const surfaceSlipDisplacementPointPatchVectorField &, const DimensionedField< vector, pointMesh > &)
 Copy construct with internal field reference.
 surfaceSlipDisplacementPointPatchVectorField (const surfaceSlipDisplacementPointPatchVectorField &pfld)
 Copy construct.
virtual autoPtr< pointPatchField< vector > > clone () const
 Return a clone.
virtual autoPtr< pointPatchField< vector > > clone (const DimensionedField< vector, pointMesh > &iF) const
 Construct and return a clone setting internal field reference.
const searchableSurfacessurfaces () const
 Surface to follow. Demand loads surfaceNames.
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field.
virtual void write (Ostream &) const
 Write.
Public Member Functions inherited from pointPatchField< vector >
 declareRunTimeSelectionTable (autoPtr, pointPatchField, patch,(const pointPatch &p, const DimensionedField< vector, pointMesh > &iF),(p, iF))
 declareRunTimeSelectionTable (autoPtr, pointPatchField, patchMapper,(const pointPatchField< vector > &ptf, const pointPatch &p, const DimensionedField< vector, pointMesh > &iF, const pointPatchFieldMapper &m),(dynamic_cast< const pointPatchFieldType & >(ptf), p, iF, m))
 declareRunTimeSelectionTable (autoPtr, pointPatchField, dictionary,(const pointPatch &p, const DimensionedField< vector, pointMesh > &iF, const dictionary &dict),(p, iF, dict))
 pointPatchField (const pointPatch &, const DimensionedField< vector, pointMesh > &)
 Construct from patch and internal field.
 pointPatchField (const pointPatch &, const DimensionedField< vector, pointMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary.
 pointPatchField (const pointPatchField< vector > &, const pointPatch &, const DimensionedField< vector, pointMesh > &, const pointPatchFieldMapper &)
 Construct by mapping given patch field onto a new patch.
 pointPatchField (const pointPatchField< vector > &pfld, const pointPatch &p, const DimensionedField< vector, pointMesh > &iF, const vector &value)
 Copy construct onto a new patch with (unused) value.
 pointPatchField (const pointPatchField< vector > &pfld, const DimensionedField< vector, pointMesh > &iF)
 Copy construct with internal field reference.
 pointPatchField (const pointPatchField< vector > &pfld)
 Copy construct.
virtual ~pointPatchField ()=default
 Destructor.
label size () const noexcept
 Return the patch size.
const DimensionedField< vector, pointMesh > & internalField () const noexcept
 Return const-reference to the dimensioned internal field.
const Field< vector > & primitiveField () const noexcept
 Return const-reference to the internal field values.
void patchInternalField (const UList< Type1 > &internalData, const labelUList &addressing, UList< Type1 > &pfld) const
 Extract field using specified addressing.
tmp< Field< Type1 > > patchInternalField (const UList< Type1 > &internalData, const labelUList &addressing) const
 Return field created from selected internal field values given internal field reference.
tmp< Field< Type1 > > patchInternalField (const UList< Type1 > &internalData) const
 Return field created from appropriate internal field values given internal field reference.
tmp< Field< vector > > patchInternalField () const
 Return field created from appropriate internal field values.
void addToInternalField (Field< Type1 > &iF, const Field< Type1 > &pF) const
 Given the internal field and a patch field, add the patch field to the internal field.
void addToInternalField (Field< Type1 > &iF, const Field< Type1 > &pF, const labelUList &points) const
 Given the internal field and a patch field, add selected elements of the patch field to the internal field.
void setInInternalField (Field< Type1 > &iF, const Field< Type1 > &pF, const labelUList &meshPoints) const
 Given the internal field and a patch field, set the patch field in the internal field.
void setInInternalField (Field< Type1 > &iF, const Field< Type1 > &pF) const
 Given the internal field and a patch field, set the patch field in the internal field.
virtual void autoMap (const pointPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object.
virtual void rmap (const pointPatchField< vector > &, const labelList &)
 Reverse map the given pointPatchField onto this pointPatchField.
virtual void initEvaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
 Initialise evaluation of the patch field (do nothing).
virtual void evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
 Evaluate the patch field, sets updated() to false.
virtual void initEvaluateLocal (const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
 Initialise the evaluation of the patch field after a local operation.
virtual void evaluateLocal (const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
 Evaluate the patch field after a local operation (e.g. *=).
virtual void operator= (const pointPatchField< vector > &)
virtual void operator+= (const pointPatchField< vector > &)
virtual void operator-= (const pointPatchField< vector > &)
virtual void operator*= (const pointPatchField< scalar > &)
virtual void operator/= (const pointPatchField< scalar > &)
virtual void operator= (const Field< vector > &)
virtual void operator+= (const Field< vector > &)
virtual void operator-= (const Field< vector > &)
virtual void operator*= (const Field< scalar > &)
virtual void operator/= (const Field< scalar > &)
virtual void operator= (const vector &)
virtual void operator+= (const vector &)
virtual void operator-= (const vector &)
virtual void operator*= (const scalar)
virtual void operator/= (const scalar)
virtual void operator== (const pointPatchField< vector > &)
virtual void operator== (const Field< vector > &)
virtual void operator== (const vector &)
bool operator!= (const pointPatchField< vector > &) const=delete
bool operator!= (const Field< vector > &) const=delete
bool operator!= (const vector &) const=delete
void negate ()
 Negate the field inplace. Dummy placeholder for FieldField.
void normalise ()
 Normalise the field inplace. Dummy placeholder for FieldField.
Foam::autoPtr< Foam::pointPatchField< vector > > NewCalculatedType (const pointPatchField< AnyType > &pf)
Foam::tmp< Foam::Field< Type1 > > patchInternalField (const UList< Type1 > &internalData, const labelUList &addressing) const
Foam::tmp< Foam::Field< Type1 > > patchInternalField (const UList< Type1 > &internalData) const
Public Member Functions inherited from pointPatchFieldBase
 TypeName ("pointPatchField")
 Runtime type information.
 pointPatchFieldBase (const pointPatch &p)
 Construct from patch.
 pointPatchFieldBase (const pointPatch &p, const word &patchType)
 Construct from patch and patch type.
 pointPatchFieldBase (const pointPatch &p, const dictionary &dict)
 Construct from patch and dictionary.
 pointPatchFieldBase (const pointPatchFieldBase &, const pointPatch &p)
 Copy construct with new patch.
 pointPatchFieldBase (const pointPatchFieldBase &)
 Copy construct.
virtual ~pointPatchFieldBase ()=default
 Destructor.
virtual bool assignable () const
 True if the value of the patch field is altered by assignment.
virtual bool fixesValue () const
 True if the patch field fixes a value.
virtual bool coupled () const
 True if the patch field is coupled.
virtual const wordconstraintType () const
 The constraint type the pointPatchField implements.
const objectRegistrydb () const
 The associated objectRegistry.
const pointPatchpatch () const noexcept
 Return the patch.
const wordpatchType () const noexcept
 The optional patch type.
wordpatchType () noexcept
 The optional patch type.
virtual bool constraintOverride () const
 True if the type does not correspond to the constraint type.
bool updated () const noexcept
 True if the boundary condition has already been updated.
void setUpdated (bool state) noexcept
 Set updated state.
bool manipulatedMatrix () const noexcept
 True if the matrix has already been manipulated. Currently always false for pointPatchField.
void setManipulated (bool state) noexcept
 Set matrix manipulated state. Currently a no-op for pointPatchField.
void checkPatch (const pointPatchFieldBase &rhs) const
 Check that patches are identical.

Additional Inherited Members

Static Public Member Functions inherited from pointPatchField< vector >
static autoPtr< pointPatchField< vector > > Clone (const DerivedPatchField &pf, Args &&... args)
 Clone a patch field, optionally with internal field reference etc.
static autoPtr< pointPatchField< vector > > New (const word &patchFieldType, const pointPatch &p, const DimensionedField< vector, pointMesh > &iF)
 Return a pointer to a new patchField created on freestore given.
static autoPtr< pointPatchField< vector > > New (const word &patchFieldType, const word &actualPatchType, const pointPatch &p, const DimensionedField< vector, pointMesh > &iF)
 Return a pointer to a new patchField created on freestore given.
static autoPtr< pointPatchField< vector > > New (const pointPatchField< vector > &, const pointPatch &, const DimensionedField< vector, pointMesh > &, const pointPatchFieldMapper &)
 Return a pointer to a new patchField created on freestore from.
static autoPtr< pointPatchField< vector > > New (const pointPatch &, const DimensionedField< vector, pointMesh > &, const dictionary &)
 Return a pointer to a new patchField created on freestore.
static autoPtr< pointPatchField< vector > > NewCalculatedType (const pointPatch &p)
 Return a pointer to a new calculatedPointPatchField created on.
static autoPtr< pointPatchField< vector > > NewCalculatedType (const pointPatchField< AnyType > &pf)
 Return a pointer to a new calculatedPointPatchField created on.
Static Public Member Functions inherited from pointPatchFieldBase
static const wordemptyType () noexcept
 The type name for empty patch fields.
static const wordcalculatedType () noexcept
 The type name for calculated patch fields.
static const wordzeroGradientType () noexcept
 The type name for zeroGradient patch fields.
static const wordzeroValueType () noexcept
 The type name for zeroValue patch fields.
Static Public Attributes inherited from pointPatchFieldBase
static int disallowGenericPatchField
 Debug switch to disallow the use of generic pointPatchField.
Protected Member Functions inherited from pointPatchFieldBase
virtual void readDict (const dictionary &dict)
 Read dictionary entries.

Detailed Description

Displacement follows a triSurface. Use in a displacementMotionSolver as a bc on the pointDisplacement field. Following is done by calculating the projection onto the surface according to the projectMode.

  • NEAREST : nearest
  • POINTNORMAL : intersection with point normal
  • FIXEDNORMAL : intersection with fixed vector

Optionally (intersection only) removes a component ("wedgePlane") to stay in 2D.

Needs:

  • geometry : dictionary with searchableSurfaces. (usually triSurfaceMeshes in constant/triSurface)
  • projectMode : see above
  • projectDirection : if projectMode = fixedNormal
  • wedgePlane : -1 or component to knock out of intersection normal
  • frozenPointsZone : empty or name of pointZone containing points that do not move
  • scale : optional scaling factor as PatchFunction1. Note that this is only supported for polyPatch-derived pointPatches ('facePointPatch') and not for stand-alone pointPatches.
Source files

Definition at line 71 of file surfaceSlipDisplacementPointPatchVectorField.H.

Member Enumeration Documentation

◆ projectMode

Enumerator
NEAREST 
POINTNORMAL 
FIXEDNORMAL 

Definition at line 79 of file surfaceSlipDisplacementPointPatchVectorField.H.

Constructor & Destructor Documentation

◆ surfaceSlipDisplacementPointPatchVectorField() [1/5]

surfaceSlipDisplacementPointPatchVectorField ( const pointPatch & p,
const DimensionedField< vector, pointMesh > & iF )

Construct from patch and internal field.

Definition at line 298 of file surfaceSlipDisplacementPointPatchVectorField.C.

References NEAREST, p, and Foam::Zero.

Referenced by surfaceSlipDisplacementPointPatchVectorField(), surfaceSlipDisplacementPointPatchVectorField(), surfaceSlipDisplacementPointPatchVectorField(), and TypeName().

Here is the caller graph for this function:

◆ surfaceSlipDisplacementPointPatchVectorField() [2/5]

surfaceSlipDisplacementPointPatchVectorField ( const pointPatch & p,
const DimensionedField< vector, pointMesh > & iF,
const dictionary & dict )

Construct from patch, internal field and dictionary.

Definition at line 312 of file surfaceSlipDisplacementPointPatchVectorField.C.

References dict, FIXEDNORMAL, Foam::isA(), PatchFunction1< Type >::NewIfPresent(), p, pointPatchFieldBase::patch(), and Foam::Zero.

Here is the call graph for this function:

◆ surfaceSlipDisplacementPointPatchVectorField() [3/5]

surfaceSlipDisplacementPointPatchVectorField ( const surfaceSlipDisplacementPointPatchVectorField & ppf,
const pointPatch & p,
const DimensionedField< vector, pointMesh > & iF,
const pointPatchFieldMapper &  )

Construct by mapping given patch field onto a new patch.

Definition at line 347 of file surfaceSlipDisplacementPointPatchVectorField.C.

References Foam::isA(), p, pointPatchFieldBase::patch(), and surfaceSlipDisplacementPointPatchVectorField().

Here is the call graph for this function:

◆ surfaceSlipDisplacementPointPatchVectorField() [4/5]

surfaceSlipDisplacementPointPatchVectorField ( const surfaceSlipDisplacementPointPatchVectorField & ppf,
const DimensionedField< vector, pointMesh > & iF )

Copy construct with internal field reference.

Definition at line 371 of file surfaceSlipDisplacementPointPatchVectorField.C.

References Foam::isA(), pointPatchFieldBase::patch(), and surfaceSlipDisplacementPointPatchVectorField().

Here is the call graph for this function:

◆ surfaceSlipDisplacementPointPatchVectorField() [5/5]

surfaceSlipDisplacementPointPatchVectorField ( const surfaceSlipDisplacementPointPatchVectorField & pfld)
inline

Copy construct.

Definition at line 199 of file surfaceSlipDisplacementPointPatchVectorField.H.

References pointPatchField< vector >::internalField(), and surfaceSlipDisplacementPointPatchVectorField().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "surfaceSlipDisplacement" )

Runtime type information.

References surfaceSlipDisplacementPointPatchVectorField().

Here is the call graph for this function:

◆ clone() [1/2]

virtual autoPtr< pointPatchField< vector > > clone ( ) const
inlinevirtual

Return a clone.

Implements pointPatchField< vector >.

Definition at line 215 of file surfaceSlipDisplacementPointPatchVectorField.H.

References pointPatchField< Type >::Clone().

Here is the call graph for this function:

◆ clone() [2/2]

virtual autoPtr< pointPatchField< vector > > clone ( const DimensionedField< vector, pointMesh > & iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Implements pointPatchField< vector >.

Definition at line 223 of file surfaceSlipDisplacementPointPatchVectorField.H.

References pointPatchField< Type >::Clone().

Here is the call graph for this function:

◆ surfaces()

const Foam::searchableSurfaces & surfaces ( ) const

Surface to follow. Demand loads surfaceNames.

Definition at line 396 of file surfaceSlipDisplacementPointPatchVectorField.C.

References pointPatchFieldBase::db(), IOobjectOption::MUST_READ, and IOobjectOption::NO_WRITE.

Here is the call graph for this function:

◆ updateCoeffs()

◆ write()

void write ( Ostream & os) const
virtual

Write.

Reimplemented from pointPatchField< vector >.

Definition at line 457 of file surfaceSlipDisplacementPointPatchVectorField.C.

References word::null, os(), pointPatchField< Type >::write(), and Foam::Zero.

Here is the call graph for this function:

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