Go to the documentation of this file.
57 Info<<
"void linearValveFvMesh::addZonesAndModifiers() : "
58 <<
"Zones and modifiers already present. Skipping."
65 <<
"Adding zones and modifiers to the mesh" <<
endl;
93 isf[i] = innerSlider.
start() + i;
100 boolList(innerSlider.size(),
false),
113 osf[i] = outerSlider.
start() + i;
120 boolList(outerSlider.size(),
false),
137 Info<<
"Adding point, face and cell zones" <<
endl;
141 Info<<
"Adding topology modifiers" <<
endl;
151 outerSliderName +
"Zone",
152 innerSliderName +
"Zone",
175 if (isA<slidingInterface>(topoChanges[modI]))
177 topoChanges[modI].disable();
182 <<
"Don't know what to do with mesh modifier "
183 << modI <<
" of type " << topoChanges[modI].type()
197 if (isA<slidingInterface>(topoChanges[modI]))
199 topoChanges[modI].enable();
204 <<
"Don't know what to do with mesh modifier "
205 << modI <<
" of type " << topoChanges[modI].type()
220 if (isA<slidingInterface>(topoChanges[modI]))
224 || refCast<const slidingInterface>(topoChanges[modI]).attached();
231 if (isA<slidingInterface>(topoChanges[modI]))
236 != refCast<const slidingInterface>(topoChanges[modI]).attached()
241 <<
" named " << topoChanges[modI].
name()
242 <<
" out of sync: Should be" << result
250 Info<<
"linearValveFvMesh: attached!" <<
endl;
254 Info<<
"linearValveFvMesh: detached!" <<
endl;
280 ).subDict(typeName +
"Coeffs")
301 Info<<
"Decoupling sliding interfaces" <<
endl;
309 msPtr_->updateMesh();
313 Info<<
"Sliding interfaces decoupled" <<
endl;
321 setMorphTimeIndex(3*time().
timeIndex() + 1);
324 msPtr_->updateMesh();
326 if (topoChangeMap.valid())
328 if (topoChangeMap().hasMotionPoints())
330 Info<<
"Topology change; executing pre-motion" <<
endl;
331 movePoints(topoChangeMap().preMotionPoints());
338 movePoints(msPtr_->curPoints());
341 Info<<
"Coupling sliding interfaces" <<
endl;
344 setMorphTimeIndex(3*time().
timeIndex() + 2);
347 Info<<
"Moving points post slider attach" <<
endl;
349 msPtr_->updateMesh();
351 Info<<
"Sliding interfaces coupled: " << attached() <<
endl;
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.
autoPtr< BasicCompressibleTurbulenceModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleTurbulenceModel::transportModel &transport, const word &propertiesName)
List< label > labelList
A List of labels.
#define forAll(list, i)
Loop across all elements in list.
bool attached() const
Return true if sliders are attached.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
void makeSlidersLive()
Make sliding modifiers live.
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.
void addZonesAndModifiers()
Add linearValve zones and modifiers.
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...
void makeSlidersDead()
Make sliding modifiers live.
writeOption writeOpt() const
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 set(const label) const
Is element set.
dictionary motionDict_
Motion dictionary.
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.
const word & name() const
Return name.
label size() const
Return number of elements in table.
Macros for easy insertion into run-time selection tables.
virtual ~linearValveFvMesh()
Destructor.
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.
linearValveFvMesh(const linearValveFvMesh &)
Disallow default bitwise copy construct.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Virtual base class for mesh motion solver.
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.
void setSize(const label)
Reset size of PtrList. If extending the PtrList, new entries are.
const Time & time() const
Return the top-level database.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
defineTypeNameAndDebug(combustionModel, 0)
void addZones(const List< pointZone * > &pz, const List< faceZone * > &fz, const List< cellZone * > &cz)
Add mesh zones.
virtual bool update()
Update the mesh for both mesh motion and topology change.
polyTopoChanger topoChanger_