Go to the documentation of this file.
43 linearValveLayersFvMesh,
63 Info<<
"void linearValveLayersFvMesh::addZonesAndModifiers() : "
64 <<
"Zones and modifiers already present. Skipping."
71 <<
"Adding zones and modifiers to the mesh" <<
endl;
100 isf[i] = innerSlider.
start() + i;
107 boolList(innerSlider.size(),
false),
120 osf[i] = outerSlider.
start() + i;
127 boolList(outerSlider.size(),
false),
143 const word layerPatchName
154 lpf[i] = layerPatch.
start() + i;
167 Info<<
"Adding point and face zones" <<
endl;
179 outerSliderName +
"Zone",
180 innerSliderName +
"Zone",
207 Info<<
"Adding topology modifiers" <<
endl;
208 addTopologyModifiers(tm);
222 if (isA<layerAdditionRemoval>(topoChanges[modI]))
224 topoChanges[modI].enable();
226 else if (isA<slidingInterface>(topoChanges[modI]))
228 topoChanges[modI].disable();
233 <<
"Don't know what to do with mesh modifier "
234 << modI <<
" of type " << topoChanges[modI].type()
248 if (isA<layerAdditionRemoval>(topoChanges[modI]))
250 topoChanges[modI].disable();
252 else if (isA<slidingInterface>(topoChanges[modI]))
254 topoChanges[modI].enable();
259 <<
"Don't know what to do with mesh modifier "
260 << modI <<
" of type " << topoChanges[modI].type()
275 if (isA<slidingInterface>(topoChanges[modI]))
279 || refCast<const slidingInterface>(topoChanges[modI]).attached();
286 if (isA<slidingInterface>(topoChanges[modI]))
291 != refCast<const slidingInterface>(topoChanges[modI]).attached()
295 <<
"Slider " << modI <<
" named "
296 << topoChanges[modI].
name()
297 <<
" out of sync: Should be" << result
316 const word layerPatchName
318 motionDict_.subDict(
"layer").lookup(
"patch")
327 motionDict_.lookup(
"pistonVelocity")
332 np[patchPoints[ppI]] += vel*time().deltaTValue();
359 ).subDict(typeName +
"Coeffs")
378 Info<<
"Decoupling sliding interfaces" <<
endl;
388 Info<<
"Sliding interfaces decoupled" <<
endl;
396 setMorphTimeIndex(3*time().
timeIndex() + 1);
399 if (topoChangeMap.valid())
401 if (topoChangeMap().hasMotionPoints())
403 Info<<
"Topology change; executing pre-motion" <<
endl;
404 movePoints(topoChangeMap().preMotionPoints());
409 movePoints(newPoints());
412 Info<<
"Coupling sliding interfaces" <<
endl;
417 setMorphTimeIndex(3*time().
timeIndex() + 2);
420 Info<<
"Moving points post slider attach" <<
endl;
424 Info<<
"Sliding interfaces coupled: " << attached() <<
endl;
void makeLayersLive()
Make layering modifiers live.
vectorField pointField
pointField is a vectorField.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A class for handling words, derived from string.
List< label > labelList
A List of labels.
Cell layer addition mesh modifier.
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
virtual ~linearValveLayersFvMesh()
Destructor.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
List of mesh modifiers defining the mesh dynamics.
A subset of mesh points. The labels of points in the zone can be obtained from the addressing() list.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const cellZoneMesh & cellZones() const
Return cell zone mesh.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Sliding interface mesh modifier. Given two face zones, couple the master and slave side using a cutti...
Constant dispersed-phase particle diameter model.
const faceZoneMesh & faceZones() const
Return face zone mesh.
virtual bool write() const
Write mesh using IO settings from time.
bool attached() const
Return true if sliders are attached.
dictionary motionDict_
Motion dictionary.
Pre-declare SubField and related Field type.
A subset of mesh faces organised as a primitive patch.
A patch is a list of labels that address the faces in the global face list.
const pointZoneMesh & pointZones() const
Return point zone mesh.
void addZonesAndModifiers()
Add linearValveLayers zones and modifiers.
const word & name() const
Return name.
label size() const
Return number of elements in table.
Macros for easy insertion into run-time selection tables.
errorManip< error > abort(error &err)
List< bool > boolList
Bool container classes.
label start() const
Return start label of this patch in the polyMesh face list.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
linearValveLayersFvMesh(const linearValveLayersFvMesh &)
Disallow default bitwise copy construct.
virtual bool update()
Update the mesh for both mesh motion and topology change.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Abstract base class for a topology changing fvMesh.
label size() const
Return the number of elements in the PtrList.
const Time & time() const
Return the top-level database.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
const labelList & meshPoints() const
Return labelList of mesh points in patch.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
void makeSlidersLive()
Make sliding modifiers live.
defineTypeNameAndDebug(combustionModel, 0)
void addZones(const List< pointZone * > &pz, const List< faceZone * > &fz, const List< cellZone * > &cz)
Add mesh zones.
tmp< pointField > newPoints() const
Return new point field.
polyTopoChanger topoChanger_