222 #ifndef multiValveEngine_H
223 #define multiValveEngine_H
237 namespace fvMeshMovers
341 const vector& translationVector
425 scalar
position(
const scalar theta)
const;
434 scalar
speed()
const;
455 const scalar minLift_;
486 scalar
lift(
const scalar theta)
const;
492 scalar
speed()
const;
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for fvMesh movers.
const dictionary & dict() const
Return the dynamicMeshDict/mover dict.
fvMesh & mesh()
Return the fvMesh.
labelList pointIDs_
Points to move when cell zone is supplied.
const multiValveEngine & meshMover_
Reference to engine mesh mover.
label executionCount_
Count of the scale_ field updates.
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.
virtual ~movingObject()
Destructor.
dictionary dict_
Coefficients dictionary.
labelHashSet movingPointZones() const
void createStaticPatchSet()
Generate staticPatchSet_ based on patch entries.
movingObject(const word &name, const multiValveEngine &engine, const dictionary &dict)
Construct from dictionary.
pointScalarField scale_
Interpolation scale (1 at moving patches, 0 at far-field)
scalar position0_
Position at last scale update.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
autoPtr< Function1< scalar > > motion_
Piston motion function.
const labelHashSet & patchSet
Object patchSet.
void transformPoints(pointField &newPoints, const vector &translationVector)
wordReList movingPointZones_
labelHashSet patchSet_
Object patchSet.
const scalar travelInterval_
Update the scale_ field when the travel exceeds travelInterval.
labelHashSet staticPointZones() const
const word name
Name of the object.
void initPatchSets()
Patch-set construction.
scalar movingFrozenLayerThickness_
Distance from object within mesh nodes move.
Switch cosine_
Switch to use cosine-based scaling.
scalar staticFrozenLayerThickness_
Distance from static wall patch at domain perimeter.
labelHashSet staticPatchSet_
Patches which must not deform during mesh motion.
wordReList frozenPointZones_
scalar maxMotionDistance_
Distance from object beyond which the mesh does not deform.
pistonObject(const word &name, const multiValveEngine &engine, const dictionary &dict)
Construct from dictionary.
static word pistonBowlName
Name of the piston bowl pointZone.
scalar position() const
Return the current piston position.
scalar clearance() const
Return clearance estimate.
scalar displacement() const
Return piston displacement for current time-step.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
void updatePoints(pointField &)
update points due to piston motion
scalar speed() const
Return piston position for current time-step.
valveList(const multiValveEngine &engine, const dictionary &dict)
Construct from Istream.
bool isOpen() const
Is the valve open?
valveObject(const word &name, const multiValveEngine &engine, const dictionary &dict)
Construct from dictionary.
scalar displacement() const
Return valve displacement for current time-step.
void updatePoints(pointField &)
update points due to valve motion
autoPtr< valveObject > clone() const
Dummy clone function for PtrList.
scalar speed() const
Return current valve speed.
scalar lift() const
Return current valve position.
A mesh mover using explicit node translation based on scaled distance functions per moving object....
TypeName("multiValveEngine")
Runtime type information.
void operator=(const multiValveEngine &)=delete
Disallow default bitwise assignment.
scalar userTime() const
Return current user-time, CAD, s or ...
virtual void topoChange(const polyTopoChangeMap &)
Update corresponding to the given map.
const labelHashSet & staticPatchSet
Static patch set.
virtual void distribute(const polyDistributionMap &)
Update corresponding to the given distribution map.
const labelHashSet & linerPatchSet
User-defined liner patches.
const valveList & valves
Container for all valves.
const pistonObject & piston
Piston object.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
static word cylinderHeadName
Name of the cylinder head pointZone.
virtual bool update()
Update the mesh for both mesh motion and topology change.
const labelHashSet & slidingPatchSet
User-defined patches which the mesh can slide along.
~multiValveEngine()
Destructor.
multiValveEngine(fvMesh &mesh)
Construct from fvMesh.
scalar userDeltaT() const
Return current user-time-step, CAD, s, ...
Mesh data needed to do the Finite Volume discretisation.
Calculates the distance to the specified sets of patch and pointZone points or for all points.
Mesh representing a set of points created from polyMesh.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A class for handling words, derived from string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.