Go to the documentation of this file.
45 pistonLayers_(
"pistonLayers",
dimLength, 0.0),
49 engineDB_.engineDict()
66 scalar deltaZ = engineDB_.pistonDisplacement().value();
67 Info<<
"deltaZ = " << deltaZ <<
endl;
70 scalar pistonPlusLayers = pistonPosition_.value() + pistonLayers_.value();
72 scalar pistonSpeed = deltaZ/engineDB_.deltaTValue();
74 motionSolver_.pointMotionU().boundaryField()[pistonIndex_] == pistonSpeed;
82 motionSolver_.pointMotionU().boundaryField()[linerIndex_] ==
83 pistonSpeed*
pos(deckHeight_.value() - linerPoints)
84 *(deckHeight_.value() - linerPoints)
85 /(deckHeight_.value() - pistonPlusLayers);
88 motionSolver_.solve();
102 bool absolutePhi =
false;
109 movePoints(motionSolver_.curPoints());
118 movePoints(motionSolver_.curPoints());
122 pistonPosition_.value() += deltaZ;
124 Info<<
"clearance: " << deckHeight_.value() - pistonPosition_.value() <<
nl
125 <<
"Piston speed = " << pistonSpeed <<
" m/s" <<
endl;
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
faceListList boundary(nPatches)
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< surfaceScalarField > meshPhi(const volVectorField &U)
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedScalar pistonLayers_
Pre-declare SubField and related Field type.
Macros for easy insertion into run-time selection tables.
const IOdictionary & engineDict() const
Return the engine geometry dictionary.
~fvMotionSolverEngineMesh()
Destructor.
fvMotionSolverEngineMesh(const fvMotionSolverEngineMesh &)
Disallow default bitwise copy construct.
Generic GeometricField class.
const engineTime & engineDB_
defineTypeNameAndDebug(combustionModel, 0)
dimensionedScalar pos(const dimensionedScalar &ds)