26 #ifndef MERCURYDPM_ORIENTATIONFIELD_H
27 #define MERCURYDPM_ORIENTATIONFIELD_H
60 static void writeNames(std::ostream& os,
unsigned countVariables);
65 void write(std::ostream& os)
const;
70 void output(std::ostream& os)
const;
IntegralType
Specifies the two points between which a line integral is computed.
Definition: IntegralType.h:34
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:60
Definition: BaseParticle.h:54
Contains the computed field values, like density, momentum and stress.
Definition: OrientationField.h:52
void addParticleStatistics(Mdouble phi, const OrientationField ¤tInteraction)
This function should be called from within a loop over all particles to compute all the fields that a...
Definition: OrientationField.cc:92
void setFields(const BaseInteraction &c, IntegralType type)
Definition: OrientationField.h:145
~OrientationField()=default
static bool evaluateFixedParticles()
Definition: OrientationField.h:126
void addInteractionStatistics(Mdouble psi, const OrientationField ¤tInteraction)
Definition: OrientationField.h:154
OrientationField & operator=(const OrientationField &P)
Copies all field values.
OrientationField(const OrientationField &other)=default
void setCylindricalFields(const BaseParticle &p)
Definition: OrientationField.cc:110
OrientationField & operator+=(const OrientationField &P)
Adds the field values on the RHS to the LHS of the equation.
Definition: OrientationField.cc:67
void addParticleDifferentialStatistics(Vec3D &dphi, const OrientationField ¤tInteraction)
Definition: OrientationField.h:151
static bool isDifferentialField()
Definition: OrientationField.h:140
void setCylindricalFields(const BaseInteraction &c, IntegralType type)
Definition: OrientationField.h:148
static void writeNames(std::ostream &os, unsigned countVariables)
Definition: OrientationField.cc:38
static bool doInteractionStatistics()
Definition: OrientationField.h:131
void write(std::ostream &os) const
Writes class content into an output stream, typically a stat file.
Definition: OrientationField.cc:43
MatrixSymmetric3D getOrientation() const
Definition: OrientationField.h:120
void setFields(const BaseParticle &p)
Definition: OrientationField.cc:97
OrientationField getSquared() const
Returns the square of all field values (to calculate standard deviation).
Definition: OrientationField.cc:58
void setZero()
Sets all fields to zero.
Definition: OrientationField.cc:53
OrientationField & operator/=(Mdouble a)
Divides the field values on the LHS by the RHS of the equation.
Definition: OrientationField.cc:79
OrientationField operator*(Mdouble a) const
Multiplies the field values on the left of the '*' by the scalar value on the right of the '*' and re...
Definition: OrientationField.cc:85
void output(std::ostream &os) const
Writes human-readable class content into an output stream, typically a stat file.
Definition: OrientationField.cc:48
void addContactPointStatistics(Mdouble phi, const OrientationField ¤tInteraction)
Definition: OrientationField.h:157
OrientationField()
Definition: OrientationField.cc:32
MatrixSymmetric3D orientation_
Definition: OrientationField.h:161
OrientationField & operator-=(const OrientationField &P)
Subtracts the field values on the RHS from the LHS of the equation.
Definition: OrientationField.cc:73
Implementation of a 3D symmetric matrix.
Definition: MatrixSymmetric.h:37
Definition: GradVelocityField.cc:30
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:73