51 label nLines = controllers_.size();
58 for (
const word& ctrlName : controllers_.sortedToc())
60 lines[nLines] = controllers_[ctrlName]->pointLabels();
77 writeStateVTP(state(), file);
122 const uint64_t payLoad = vtk::sizeofData<float, 3>(
nPoints);
128 format().writeSize(payLoad);
144 const uint64_t payLoad = vtk::sizeofData<label>(
nPoints);
147 format().writeSize(payLoad);
161 const uint64_t payLoad = vtk::sizeofData<label>(
nPoints);
164 format().writeSize(payLoad);
177 format().beginPointData();
182 const uint64_t payLoad = vtk::sizeofData<float, 3>(
nPoints);
184 format().beginDataArray<float, 3>(
"forces");
185 format().writeSize(payLoad);
196 const uint64_t payLoad = vtk::sizeofData<float, 3>(
nPoints);
198 format().beginDataArray<float, 3>(
"moments");
199 format().writeSize(payLoad);
260 const fileName& file,
261 const polyMesh&
mesh,
294 const pointPatch& ptPatch = ptMesh.boundary()[patchi];
315 = patchControls_[patchi].interp_;
325 intData[i] = interpList[i].nearest();
327 writer.write(
"nearest", intData);
331 intData[i] = interpList[i].next1();
333 writer.write(
"next1", intData);
338 intData[i] = interpList[i].next2();
340 writer.write(
"next2", intData);
349 floatData[i] = interpList[i].weight0();
351 writer.write(
"weight", floatData);
355 floatData[i] = interpList[i].weight1();
357 writer.write(
"weight1", floatData);
361 floatData[i] = interpList[i].weight2();
363 writer.write(
"weight2", floatData);
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
const List< face_type > & localFaces() const
Return patch faces addressing into local point list.
void size(const label n)
Older name for setAddressableSize.
A class for handling file names.
const Field< point_type > & localPoints() const
Return pointField of points in patch.
void resize(const label len)
Adjust allocated size of list.
void writeStateVTP(const lumpedPointState &state, const fileName &file) const
Write state as VTK PolyData format.
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, false)))
autoPtr< vtk::formatter > newFormatter(std::ostream &os, unsigned prec=IOstream::defaultPrecision())
Return a default asciiFormatter.
Write faces/points (optionally with fields) as a vtp file or a legacy vtk file.
T & first()
Access first element of the list, position [0].
virtual bool beginCellData(label nFields=0)
Begin CellData output section for specified number of fields.
void writeZonesVTP(const fileName &file, const polyMesh &mesh, const pointField &points0) const
Write pressure-zones geometry, write as VTK PolyData format.
labelRange range() const noexcept
The face range for all boundary faces.
virtual std::ostream & stdStream()
Access to underlying std::ostream.
static const List< face > & null()
Return a null List.
virtual bool beginPointData(label nFields=0)
Begin PointData for specified number of fields.
XML inline ASCII, asciiFormatter.
Mesh representing a set of points created from polyMesh.
#define forAll(list, i)
Loop across all elements in list.
A list of faces which address into the list of points.
A List obtained as a section of another List.
vectorField pointField
pointField is a vectorField.
labelList identity(const label len, label start=0)
Return an identity map of the given length with (map[i] == i)
A class for handling words, derived from Foam::string.
void writeIdentity(vtk::formatter &fmt, const label len, label start=0)
Write an identity list of labels.
List< scalar > scalarList
A List of scalars.
bool endCellData()
Explicitly end CellData output and switch to PIECE state.
bool endPointData()
Explicitly end PointData output and switch to PIECE state.
void writeVTP(const fileName &file, const polyMesh &mesh, const pointField &points0) const
Write displaced geometry according to the current state,.
virtual const faceList & faces() const
Return raw faces.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO...
void writeList(vtk::formatter &fmt, const UList< uint8_t > &values)
Write a list of uint8_t values.
vtk::internalMeshWriter writer(topoMesh, topoCells, vtk::formatType::INLINE_ASCII, runTime.path()/"blockTopology")
OBJstream os(runTime.globalPath()/outputName)
void writeForcesAndMomentsVTP(const fileName &file, const UList< vector > &forces, const UList< vector > &moments) const
Write forces on points as VTK PolyData format.
word format(conversionProperties.get< word >("format"))
const lumpedPointState & state() const
The current state (positions/rotations)
Basic pointPatch represents a set of points from the mesh.
static const Field< vector > & null()
Return nullObject reference Field.
static bool master(const label communicator=worldComm)
Am I the master rank.
const polyBoundaryMesh & patches
const pointField & points() const
The points corresponding to mass centres.
label size() const
The number of points.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
virtual bool writeGeometry()
Write mesh topology.
void writeUniform(const word &fieldName, const Type &val)
Write a uniform field of Cell or Point values.
void writeVTP(const fileName &outputFile, const labelListList &lines=labelListList(), const labelList &pointIds=labelList::null()) const
Output points/rotations as VTK file for debugging/visualization.
The state of lumped points corresponds to positions and rotations.
A topoSetPointSource to select all points based on usage in given faceSet(s).