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 labelHashSetpatchSet
 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 multiValveEnginemeshMover_
 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: