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:
[legend]
Collaboration diagram for surfaceDisplacementPointPatchVectorField:
[legend]

Public Types

enum  projectMode { NEAREST, POINTNORMAL, FIXEDNORMAL }
 

Public Member Functions

 TypeName ("surfaceDisplacement")
 Runtime type information. More...
 
 surfaceDisplacementPointPatchVectorField (const pointPatch &, const DimensionedField< vector, pointMesh > &)
 Construct from patch and internal field. 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 pointPatchFieldMapper &)
 Construct by mapping given patchField<vector> onto a new patch. More...
 
 surfaceDisplacementPointPatchVectorField (const surfaceDisplacementPointPatchVectorField &)
 Construct as copy. More...
 
virtual autoPtr< pointPatchVectorField > clone () const
 Construct and return a clone. More...
 
 surfaceDisplacementPointPatchVectorField (const surfaceDisplacementPointPatchVectorField &, const DimensionedField< vector, pointMesh > &)
 Construct as copy 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...
 

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 76 of file surfaceDisplacementPointPatchVectorField.H.

Member Enumeration Documentation

◆ projectMode

Enumerator
NEAREST 
POINTNORMAL 
FIXEDNORMAL 

Definition at line 85 of file surfaceDisplacementPointPatchVectorField.H.

Constructor & Destructor Documentation

◆ surfaceDisplacementPointPatchVectorField() [1/5]

Construct from patch and internal field.

Definition at line 300 of file surfaceDisplacementPointPatchVectorField.C.

◆ surfaceDisplacementPointPatchVectorField() [2/5]

Construct from patch, internal field and dictionary.

Definition at line 315 of file surfaceDisplacementPointPatchVectorField.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.

Here is the call graph for this function:

◆ surfaceDisplacementPointPatchVectorField() [3/5]

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

Definition at line 342 of file surfaceDisplacementPointPatchVectorField.C.

◆ surfaceDisplacementPointPatchVectorField() [4/5]

◆ surfaceDisplacementPointPatchVectorField() [5/5]

Construct as copy setting internal field reference.

Definition at line 377 of file surfaceDisplacementPointPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "surfaceDisplacement"  )

Runtime type information.

◆ clone() [1/2]

virtual autoPtr<pointPatchVectorField> clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 172 of file surfaceDisplacementPointPatchVectorField.H.

◆ clone() [2/2]

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

Construct and return a clone setting internal field reference.

Definition at line 192 of file surfaceDisplacementPointPatchVectorField.H.

◆ surfaces()

const Foam::searchableSurfaces & surfaces ( ) const

Surface to follow. Demand loads surfaceNames.

Definition at line 395 of file surfaceDisplacementPointPatchVectorField.C.

References IOobject::MUST_READ, and IOobject::NO_WRITE.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 422 of file surfaceDisplacementPointPatchVectorField.C.

References TimeState::deltaTValue(), forAll, Foam::max(), mesh, Foam::min(), VectorSpace< Vector< scalar >, scalar, 3 >::nComponents, Foam::operator==(), Foam::foamVersion::patch, and fvMesh::time().

Here is the call graph for this function:

◆ write()

void write ( Ostream &  os) const
virtual

Write.

Definition at line 468 of file surfaceDisplacementPointPatchVectorField.C.

References word::null, Foam::vtk::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

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