48 template<
class GeoFieldType>
82 int main(
int argc,
char *argv[])
86 "Extract force/moment information from simulation results that" 87 " use the lumped points movement description." 93 "Create visualization files of the forces" 114 Info<<
"No valid movement found" <<
endl;
121 Info<<
"No point patches with lumped movement found" <<
endl;
140 Info<<
" Read new mesh" <<
nl;
151 if (movement().forcesAndMoments(
mesh, forces, moments))
153 Info<<
"forces per zone: " << forces <<
endl;
154 Info<<
"moments per zone: " << moments <<
endl;
163 movement().writeForcesAndMomentsVTP
178 if (forceSeries.
size())
180 forceSeries.
write(
"forces.vtp");
static void noFunctionObjects(bool addWithOption=false)
Remove '-noFunctionObjects' option and ignore any occurrences.
static void addNote(const string ¬e)
Add extra notes for the usage information.
label size() const noexcept
The number of data sets.
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable, so the various sorted methods should be used if traversing in parallel.
const word & name() const noexcept
Return the object name.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
static void addBoolOption(const word &optName, const string &usage="", bool advanced=false)
Add a bool option to validOptions with usage information.
const Type * findObject(const word &name, const bool recursive=false) const
Return const pointer to the object of the given Type.
#define forAll(list, i)
Loop across all elements in list.
word outputName("finiteArea-edges.obj")
virtual readUpdateState readUpdate()
Update the mesh based on the mesh files saved in time.
Provides a means of accumulating and generating VTK file series.
A class for handling words, derived from Foam::string.
const objectRegistry & db() const noexcept
Return the local objectRegistry.
virtual void setTime(const Time &t)
Reset the time and time-index to those of the given time.
label timeIndex() const noexcept
Return the current time index.
static word printf(const char *fmt, const PrimitiveType &val)
Use a printf-style formatter for a primitive.
static word timeName(const scalar t, const int precision=precision_)
Return a time name for the given scalar time value formatted with the given precision.
static instantList select0(Time &runTime, const argList &args)
Return the set of times selected based on the argList options and also set the runTime to the first i...
const fileName & instance() const noexcept
Read access to instance path component.
const word & headerClassName() const noexcept
Return name of the class name read from header.
static void write(const fileName &base, const UList< instant > &series, const char sep='_')
Write file series (JSON format) to disk, for specified instances.
static bool master(const label communicator=worldComm)
True if process corresponds to the master rank in the communicator.
Automatically write from objectRegistry::writeObject()
static autoPtr< lumpedPointIOMovement > New(const objectRegistry &obr, label ownerId=-1)
Create a movement object in the registry by reading system dictionary.
messageStream Info
Information stream (stdout output on master, null elsewhere)
bool registerObject() const noexcept
Should objects created with this IOobject be registered?
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
const fileName & local() const noexcept
Read access to local path component.
Foam::argList args(argc, argv)
Defines the attributes of an object for which implicit objectRegistry management is supported...
bool found(const word &optName) const
Return true if the named option is found.
static void addOptions(const bool constant=true, const bool withZero=false)
Add timeSelector options to argList::validOptions.
bool append(const fileNameInstant &inst)
Append the specified file instant.
bool isHeaderClass() const
Check if headerClassName() equals Type::typeName.