Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
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:
Inheritance graph
[legend]
Collaboration diagram for surfaceDisplacementPointPatchVectorField:
Collaboration graph
[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< pointPatchVectorFieldclone () const
 Construct and return a clone. More...
 
 surfaceDisplacementPointPatchVectorField (const surfaceDisplacementPointPatchVectorField &, const DimensionedField< vector, pointMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual autoPtr< pointPatchVectorFieldclone (const DimensionedField< vector, pointMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const searchableSurfacessurfaces () 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...
 

Private Member Functions

void calcProjection (vectorField &displacement) const
 Calculate displacement (w.r.t. points0()) to project onto surface. More...
 
void operator= (const surfaceDisplacementPointPatchVectorField &)
 Disallow default bitwise assignment. More...
 

Private Attributes

const vector velocity_
 Maximum velocity. More...
 
const dictionary surfacesDict_
 Names of surfaces. More...
 
const projectMode projectMode_
 How to project/project onto surface. More...
 
const vector projectDir_
 Direction to project. More...
 
const label wedgePlane_
 Plane for 2D wedge case or -1. More...
 
const word frozenPointsZone_
 pointZone with frozen points More...
 
autoPtr< searchableSurfacessurfacesPtr_
 Demand driven: surface to project. More...
 

Static Private Attributes

static const NamedEnum< projectMode, 3 > projectModeNames_
 Project mode names. 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

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

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

Needs:

Source files

Definition at line 73 of file surfaceDisplacementPointPatchVectorField.H.

Member Enumeration Documentation

◆ projectMode

Enumerator
NEAREST 
POINTNORMAL 
FIXEDNORMAL 

Definition at line 82 of file surfaceDisplacementPointPatchVectorField.H.

Constructor & Destructor Documentation

◆ surfaceDisplacementPointPatchVectorField() [1/5]

Construct from patch and internal field.

Definition at line 305 of file surfaceDisplacementPointPatchVectorField.C.

◆ surfaceDisplacementPointPatchVectorField() [2/5]

Construct from patch, internal field and dictionary.

Definition at line 320 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 347 of file surfaceDisplacementPointPatchVectorField.C.

◆ surfaceDisplacementPointPatchVectorField() [4/5]

Construct as copy.

Definition at line 366 of file surfaceDisplacementPointPatchVectorField.C.

◆ surfaceDisplacementPointPatchVectorField() [5/5]

Construct as copy setting internal field reference.

Definition at line 382 of file surfaceDisplacementPointPatchVectorField.C.

Member Function Documentation

◆ calcProjection()

void calcProjection ( vectorField displacement) const
private

◆ operator=()

void operator= ( const surfaceDisplacementPointPatchVectorField )
private

Disallow default bitwise assignment.

◆ TypeName()

TypeName ( "surfaceDisplacement"  )

Runtime type information.

◆ clone() [1/2]

virtual autoPtr<pointPatchVectorField> clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 166 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 186 of file surfaceDisplacementPointPatchVectorField.H.

◆ surfaces()

const searchableSurfaces & surfaces ( ) const

◆ updateCoeffs()

void updateCoeffs ( )
virtual

◆ write()

void write ( Ostream os) const
virtual

Field Documentation

◆ projectModeNames_

const NamedEnum< surfaceDisplacementPointPatchVectorField::projectMode, 3 > projectModeNames_
staticprivate

Project mode names.

Definition at line 94 of file surfaceDisplacementPointPatchVectorField.H.

Referenced by surfaceDisplacementPointPatchVectorField::write().

◆ velocity_

const vector velocity_
private

◆ surfacesDict_

const dictionary surfacesDict_
private

◆ projectMode_

const projectMode projectMode_
private

How to project/project onto surface.

Definition at line 103 of file surfaceDisplacementPointPatchVectorField.H.

Referenced by surfaceDisplacementPointPatchVectorField::write().

◆ projectDir_

const vector projectDir_
private

Direction to project.

Definition at line 106 of file surfaceDisplacementPointPatchVectorField.H.

Referenced by surfaceDisplacementPointPatchVectorField::write().

◆ wedgePlane_

const label wedgePlane_
private

Plane for 2D wedge case or -1.

Definition at line 109 of file surfaceDisplacementPointPatchVectorField.H.

Referenced by surfaceDisplacementPointPatchVectorField::write().

◆ frozenPointsZone_

const word frozenPointsZone_
private

◆ surfacesPtr_

autoPtr<searchableSurfaces> surfacesPtr_
mutableprivate

Demand driven: surface to project.

Definition at line 115 of file surfaceDisplacementPointPatchVectorField.H.

Referenced by surfaceDisplacementPointPatchVectorField::surfaces().


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