Go to the documentation of this file.
46 lumpedPointDisplacementPointPatchVectorField
65 if (isA<patchType>(bf[patchi]))
67 patchLst.append(patchi);
72 return patchLst.shrink();
107 this->
patch().index()
176 movement().coupler().shutdown();
194 const bool masterPatch = (movement().ownerId() == this->
patch().index());
207 if (!movement().hasMapping())
217 this->internalField()
227 movement().coupler().initialized()
228 || !movement().coupler().slaveFirst()
233 movement().forcesAndMoments(
mesh, forces, moments);
237 Pout<<
"gatherForces: " << forces <<
" called from patch "
242 Pout<<
"output forces to file: "
243 << movement().locations() <<
" called from patch "
245 <<
"# " << forces.size() <<
" force entries" <<
nl
247 <<
"output forces to file: "
248 << forces <<
" called from patch "
255 movement().writeData(forces, moments, &(db().time()));
258 movement().coupler().useSlave();
264 action = movement().coupler().waitForSlave();
273 this->
patch().meshPoints()
283 action != this->db().time().stopAt()
284 && action != Time::stopAtControls::saUnknown
287 this->db().time().stopAt(action);
296 writeEntry(
"value", os);
int debug
Static debugging option.
IO-registered version of lumpedPointMovement.
A class for managing temporary objects.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Basic pointPatch represents a set of points from the mesh.
prefixOSstream Pout
An Ostream wrapper for parallel output to std::cout.
label ownerId() const
An owner Id, if needed for bookkeeping purposes.
static labelList patchIds(const pointVectorField &pvf)
The ids for all patches of this type.
This is the point-patch responsible for managing the force integration on a 'lumped-point' basis,...
Mesh consisting of general polyhedral cells.
const pointPatch & patch() const
Return patch.
Foam::pointPatchFieldMapper.
#define forAll(list, i)
Loop across all elements in list.
const objectRegistry & db() const
Return the local objectRegistry.
Registry of regIOobjects.
makePointPatchTypeField(pointPatchVectorField, solidBodyMotionDisplacementPointPatchVectorField)
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void write(Ostream &) const
Write.
static const lumpedPointIOMovement * lookupInRegistry(const objectRegistry &obr)
Lookup pointer to object in the object-registry,.
const Type & lookupObject(const word &name, const bool recursive=false) const
const pointMesh & mesh() const
Return the mesh reference.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Virtual base class for displacement motion solver.
Macros for easy insertion into run-time selection tables.
virtual ~lumpedPointDisplacementPointPatchVectorField()
Destructor. De-register movement if in use and managed by this patch.
static bool master(const label communicator=0)
Am I the master process.
lumpedPointDisplacementPointPatchVectorField(const pointPatch &p, const DimensionedField< vector, pointMesh > &iF)
Construct from patch and internal field.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, false)))
void store()
Transfer ownership of this object to its registry.
const std::string patch
OpenFOAM patch number as a std::string.
virtual void write(Ostream &os) const
Write.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
The movement driver that describes initial point locations, the segmentation for pressure integration...
const pointBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
const pointField & points0() const
The starting locations (obtained from the motionSolver).
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
pointPatchField< vector > pointPatchVectorField
const lumpedPointMovement & movement() const
The auto-vivifying singleton for movement.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
static autoPtr< lumpedPointIOMovement > New(const objectRegistry &obr, label ownerId=-1)
Create a new object in the registry by reading system dictionary.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...