surfaceDisplacementPointPatchVectorField Class Reference

Displacement fixed by projection onto triSurface. Use in a displacementMotionSolver as a bc on the pointDisplacement field. More...

Inheritance diagram for surfaceDisplacementPointPatchVectorField:
Collaboration diagram for surfaceDisplacementPointPatchVectorField:

Public Types

enum  projectMode { NEAREST , POINTNORMAL , FIXEDNORMAL }
 

Public Member Functions

 TypeName ("surfaceDisplacement")
 Runtime type information. More...
 
 surfaceDisplacementPointPatchVectorField (const pointPatch &, const DimensionedField< vector, pointMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 surfaceDisplacementPointPatchVectorField (const surfaceDisplacementPointPatchVectorField &, const pointPatch &, const DimensionedField< vector, pointMesh > &, const fieldMapper &)
 Construct by mapping given patchField<vector> onto a new patch. More...
 
 surfaceDisplacementPointPatchVectorField (const surfaceDisplacementPointPatchVectorField &)=delete
 Disallow copy without setting internal field reference. More...
 
 surfaceDisplacementPointPatchVectorField (const surfaceDisplacementPointPatchVectorField &, const DimensionedField< vector, pointMesh > &)
 Copy constructor setting internal field reference. More...
 
virtual autoPtr< pointPatchVectorField > clone (const DimensionedField< vector, pointMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const searchableSurfaces & surfaces () const
 Surface to follow. Demand loads surfaceNames. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 
void operator= (const surfaceDisplacementPointPatchVectorField &)=delete
 Disallow default bitwise assignment. More...
 

Detailed Description

Displacement fixed by projection onto triSurface. Use in a displacementMotionSolver as a bc on the pointDisplacement field.

Calculates the projection onto the surface according to the projectMode

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

This displacement is then clipped with the specified velocity * deltaT.

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
Source files

Definition at line 73 of file surfaceDisplacementPointPatchVectorField.H.

Member Enumeration Documentation

◆ projectMode

Enumerator
NEAREST 
POINTNORMAL 
FIXEDNORMAL 

Definition at line 81 of file surfaceDisplacementPointPatchVectorField.H.

Constructor & Destructor Documentation

◆ surfaceDisplacementPointPatchVectorField() [1/4]

Construct from patch, internal field and dictionary.

Definition at line 307 of file surfaceDisplacementPointPatchVectorField.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ surfaceDisplacementPointPatchVectorField() [2/4]

Construct by mapping given patchField<vector> onto a new patch.

Definition at line 334 of file surfaceDisplacementPointPatchVectorField.C.

◆ surfaceDisplacementPointPatchVectorField() [3/4]

Disallow copy without setting internal field reference.

◆ surfaceDisplacementPointPatchVectorField() [4/4]

Copy constructor setting internal field reference.

Definition at line 353 of file surfaceDisplacementPointPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "surfaceDisplacement"  )

Runtime type information.

◆ clone()

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

Construct and return a clone setting internal field reference.

Definition at line 162 of file surfaceDisplacementPointPatchVectorField.H.

◆ surfaces()

const searchableSurfaces & surfaces ( ) const

Surface to follow. Demand loads surfaceNames.

Definition at line 373 of file surfaceDisplacementPointPatchVectorField.C.

References searchableSurface::geometryDir(), IOobject::MUST_READ, and IOobject::NO_WRITE.

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 399 of file surfaceDisplacementPointPatchVectorField.C.

References polyMesh::boundaryMesh(), TimeState::deltaTValue(), forAll, Foam::max(), polyBoundaryMesh::mesh(), Foam::min(), VectorSpace< Form, Cmpt, Ncmpts >::nComponents, Foam::offset(), Foam::operator==(), and objectRegistry::time().

Here is the call graph for this function:

◆ write()

void write ( Ostream &  os) const
virtual

Write.

Definition at line 445 of file surfaceDisplacementPointPatchVectorField.C.

References word::null, Foam::vtkWriteOps::write(), and Foam::writeEntry().

Here is the call graph for this function:

◆ operator=()

void operator= ( const surfaceDisplacementPointPatchVectorField &  )
delete

Disallow default bitwise assignment.


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