multiValveEngine::movingObject Class Reference
Inheritance diagram for multiValveEngine::movingObject:
Collaboration diagram for multiValveEngine::movingObject:

Public Member Functions

 movingObject (const word &name, const multiValveEngine &engine, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~movingObject ()
 Destructor. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 

Public Attributes

const word name
 Name of the object. More...
 
const vector axis
 Axis. More...
 
const labelHashSet & patchSet
 Object patchSet. More...
 

Protected Member Functions

void calcScale (const pointMesh &pMesh, const scalarField &pDistMoving, const scalarField &pDistStatic, scalar dMoving, scalar dMax, scalar dStatic)
 Scale the mesh point deformation with distance functions. More...
 
void transformPoints (pointField &newPoints, const vector &translationVector)
 
void createStaticPatchSet ()
 Generate staticPatchSet_ based on patch entries. More...
 
void initPatchSets ()
 Patch-set construction. More...
 
labelHashSet movingPointZones () const
 
labelHashSet staticPointZones () const
 

Protected Attributes

const multiValveEngine & meshMover_
 Reference to engine mesh mover. More...
 
autoPtr< Function1< scalar > > motion_
 Piston motion function. More...
 
wordReList patchNames_
 Object patchNames. More...
 
labelHashSet patchSet_
 Object patchSet. More...
 
labelHashSet staticPatchSet_
 Patches which must not deform during mesh motion. More...
 
scalar maxMotionDistance_
 Distance from object beyond which the mesh does not deform. More...
 
scalar movingFrozenLayerThickness_
 Distance from object within mesh nodes move. More...
 
scalar staticFrozenLayerThickness_
 Distance from static wall patch at domain perimeter. More...
 
wordReList movingPointZones_
 
wordReList frozenPointZones_
 
labelList pointIDs_
 Points to move when cell zone is supplied. More...
 
pointScalarField scale_
 Interpolation scale (1 at moving patches, 0 at far-field) More...
 
const scalar cosineScale_
 Cosine scale for the boundary point motion, between 0 and 1. More...
 
const scalar travelInterval_
 Update the scale_ field when the travel exceeds travelInterval. More...
 
label executionCount_
 Count of the scale_ field updates. More...
 
scalar position0_
 Position at last scale update. More...
 

Friends

class multiValveEngine
 

Detailed Description

Definition at line 249 of file multiValveEngine.H.

Constructor & Destructor Documentation

◆ movingObject()

◆ ~movingObject()

virtual ~movingObject ( )
inlinevirtual

Destructor.

Definition at line 367 of file multiValveEngine.H.

Member Function Documentation

◆ calcScale()

void calcScale ( const pointMesh &  pMesh,
const scalarField &  pDistMoving,
const scalarField &  pDistStatic,
scalar  dMoving,
scalar  dMax,
scalar  dStatic 
)
protected

◆ transformPoints()

void transformPoints ( pointField &  newPoints,
const vector &  translationVector 
)
protected

Definition at line 116 of file movingObject.C.

References forAll, Foam::mag(), and Foam::constant::mathematical::pi().

Here is the call graph for this function:

◆ createStaticPatchSet()

void createStaticPatchSet ( )
protected

Generate staticPatchSet_ based on patch entries.

Definition at line 142 of file movingObject.C.

References polyPatch::boundaryMesh(), HashTable< T, Key, Hash >::clear(), polyPatch::constraintType(), forAll, patchIdentifier::index(), and HashSet< Key, Hash >::insert().

Here is the call graph for this function:

◆ initPatchSets()

void initPatchSets ( )
protected

Patch-set construction.

Definition at line 164 of file movingObject.C.

Referenced by multiValveEngine::movingObject::movingObject().

Here is the caller graph for this function:

◆ movingPointZones()

Foam::labelHashSet movingPointZones ( ) const
protected

Definition at line 173 of file movingObject.C.

References Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::name(), and List< T >::size().

Here is the call graph for this function:

◆ staticPointZones()

Foam::labelHashSet staticPointZones ( ) const
protected

Definition at line 205 of file movingObject.C.

References Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), and List< T >::size().

Here is the call graph for this function:

◆ mapMesh()

void mapMesh ( const polyMeshMap &  )
virtual

Update from another mesh using the given map.

Reimplemented in multiValveEngine::pistonObject.

Definition at line 335 of file movingObject.C.

References Foam::Zero.

Referenced by multiValveEngine::pistonObject::mapMesh().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ multiValveEngine

friend class multiValveEngine
friend

Definition at line 251 of file multiValveEngine.H.

Member Data Documentation

◆ meshMover_

const multiValveEngine& meshMover_
protected

Reference to engine mesh mover.

Definition at line 258 of file multiValveEngine.H.

◆ name

◆ axis

const vector axis

Axis.

Definition at line 267 of file multiValveEngine.H.

Referenced by cylinderHeadPoints::generate(), and pistonBowlPoints::generate().

◆ motion_

autoPtr<Function1<scalar> > motion_
protected

Piston motion function.

Definition at line 275 of file multiValveEngine.H.

◆ patchNames_

wordReList patchNames_
protected

Object patchNames.

Definition at line 278 of file multiValveEngine.H.

◆ patchSet_

labelHashSet patchSet_
protected

Object patchSet.

Definition at line 281 of file multiValveEngine.H.

Referenced by multiValveEngine::movingObject::movingObject().

◆ staticPatchSet_

labelHashSet staticPatchSet_
protected

Patches which must not deform during mesh motion.

Definition at line 284 of file multiValveEngine.H.

◆ maxMotionDistance_

scalar maxMotionDistance_
protected

Distance from object beyond which the mesh does not deform.

Definition at line 287 of file multiValveEngine.H.

◆ movingFrozenLayerThickness_

scalar movingFrozenLayerThickness_
protected

Distance from object within mesh nodes move.

along with the patch

Definition at line 291 of file multiValveEngine.H.

◆ staticFrozenLayerThickness_

scalar staticFrozenLayerThickness_
protected

Distance from static wall patch at domain perimeter.

within mesh nodes do not move

Definition at line 295 of file multiValveEngine.H.

◆ movingPointZones_

wordReList movingPointZones_
protected

Definition at line 297 of file multiValveEngine.H.

◆ frozenPointZones_

wordReList frozenPointZones_
protected

Definition at line 299 of file multiValveEngine.H.

◆ pointIDs_

labelList pointIDs_
protected

Points to move when cell zone is supplied.

Definition at line 302 of file multiValveEngine.H.

◆ scale_

pointScalarField scale_
protected

Interpolation scale (1 at moving patches, 0 at far-field)

Definition at line 305 of file multiValveEngine.H.

Referenced by multiValveEngine::movingObject::calcScale().

◆ cosineScale_

const scalar cosineScale_
protected

Cosine scale for the boundary point motion, between 0 and 1.

Definition at line 308 of file multiValveEngine.H.

Referenced by multiValveEngine::movingObject::calcScale().

◆ travelInterval_

const scalar travelInterval_
protected

Update the scale_ field when the travel exceeds travelInterval.

Definition at line 311 of file multiValveEngine.H.

◆ executionCount_

label executionCount_
mutableprotected

Count of the scale_ field updates.

Definition at line 314 of file multiValveEngine.H.

◆ position0_

scalar position0_
mutableprotected

Position at last scale update.

Definition at line 317 of file multiValveEngine.H.

◆ patchSet

const labelHashSet& patchSet

Object patchSet.

Definition at line 354 of file multiValveEngine.H.

Referenced by pistonBowlPoints::generate().


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