Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "enginePiston.H"
00027 #include <engine/engineTime.H>
00028 #include <OpenFOAM/polyMesh.H>
00029 #include <OpenFOAM/interpolateXY.H>
00030
00031
00032
00033
00034 Foam::enginePiston::enginePiston
00035 (
00036 const polyMesh& mesh,
00037 const word& pistonPatchName,
00038 const autoPtr<coordinateSystem>& pistonCS,
00039 const scalar minLayer,
00040 const scalar maxLayer
00041 )
00042 :
00043 mesh_(mesh),
00044 engineDB_(refCast<const engineTime>(mesh.time())),
00045 patchID_(pistonPatchName, mesh.boundaryMesh()),
00046 csPtr_(pistonCS),
00047 minLayer_(minLayer),
00048 maxLayer_(maxLayer)
00049 {}
00050
00051
00052
00053 Foam::enginePiston::enginePiston
00054 (
00055 const polyMesh& mesh,
00056 const dictionary& dict
00057 )
00058 :
00059 mesh_(mesh),
00060 engineDB_(refCast<const engineTime>(mesh_.time())),
00061 patchID_(dict.lookup("patch"), mesh.boundaryMesh()),
00062 csPtr_
00063 (
00064 coordinateSystem::New
00065 (
00066 "coordinateSystem",
00067 dict.subDict("coordinateSystem")
00068 )
00069 ),
00070 minLayer_(readScalar(dict.lookup("minLayer"))),
00071 maxLayer_(readScalar(dict.lookup("maxLayer")))
00072 {}
00073
00074
00075
00076
00077
00078
00079
00080 void Foam::enginePiston::writeDict(Ostream& os) const
00081 {
00082 os << nl << token::BEGIN_BLOCK
00083 << "patch " << patchID_.name() << token::END_STATEMENT << nl
00084 << "minLayer " << minLayer_ << token::END_STATEMENT << nl
00085 << "maxLayer " << maxLayer_ << token::END_STATEMENT << nl
00086 << token::END_BLOCK << endl;
00087 }
00088
00089
00090