26 #ifndef STATISTICSPOINT_H
27 #define STATISTICSPOINT_H
42 std::ostream& operator<<(std::ostream& os, const StatisticsPoint<T> &stat);
76 this->
gb->setCGShape(CG_type);
81 return this->
gb->getCGShape();
86 this->
gb->setCGWidth2(new_);
91 return this->
gb->getCGWidthSquared();
96 return this->
gb->getCGWidth();
101 return this->
gb->getCutoff();
106 return this->
gb->getCutoff2();
111 return this->
gb->getXMaxStat();
116 return this->
gb->getYMaxStat();
121 return this->
gb->getZMaxStat();
126 return this->
gb->getXMinStat();
131 return this->
gb->getYMinStat();
136 return this->
gb->getZMinStat();
139 void getN(
int& nx_,
int& ny_,
int& nz_)
141 this->
gb->getN(nx_, ny_, nz_);
146 return gb->evaluatePolynomial(r);
151 return gb->evaluatePolynomialGradient(r);
156 return gb->evaluateIntegral(n1, n2, t);
260 std::string
print()
const;
266 std::string
write()
const;
Vec3D crossNonAveraged(Vec3D P, Vec3D &Q)
Returns the cross product of two vectors in the coordinates that are not averaged about...
Mdouble CG_function(const Vec3D &PI)
Returns the value of the course graining function phi(P,PI)
StatisticsPoint< T > & operator/=(const Mdouble a)
Defines a division operator needed to average values ( )
Mdouble CG_invvolume
Prefactor of CG function which depends on $w.
MatrixSymmetric3D DisplacementMomentumFlux
Momentum flux from linear displacement, .
Mdouble evaluatePolynomial(Mdouble r)
see StatisticsVector::evaluatePolynomial
Matrix3D ContactCoupleStress
Mdouble Dissipation
Dissipation form collisions, .
Mdouble CG_function_1D(const Vec3D &PI)
Returns the value of the course graining function phi(P,PI) averaged along a plane.
void setCGShape(const char *CG_type)
see StatisticsVector::setCGShape
Vec3D CG_integral_gradient(Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance)
gradient of phi
Mdouble CG_function_2D(const Vec3D &PI)
returns the value of the course graining function phi(P,PI) averaged along a line ...
void firstTimeAverage(const int n)
Defines a division operator needed to time-average values (because the displacement does not have a v...
StatisticsPoint< T > & operator-=(const StatisticsPoint< T > &P)
Defines a plus operator needed to calculate variance.
Mdouble evaluateIntegral(Mdouble n1, Mdouble n2, Mdouble t)
see StatisticsVector::evaluateIntegral
void setZero()
Sets all elements to zero.
Mdouble getZMinStat()
see StatisticsVector::getZMinStat
void set_Gaussian_invvolume(int dim)
sets CG_invvolume if CG_type=Gaussian
Matrix3D NormalStress
Stress from normal forces, .
Vec3D getPosition() const
returns Position
Mdouble getCGWidth() const
see StatisticsVector::getCGWidth
Matrix3D matrixCrossNonAveraged(Vec3D P, Matrix3D &Q)
Returns the cross product of two vectors in the coordinates that are not averaged about...
void set_Heaviside_invvolume()
sets CG_invvolume if CG_type=HeaviSideSphere
Vec3D CollisionalHeatFlux
Heat flux from collisions, .
std::string write_variable_names()
Outputs names of statistical variables in computer-readable format.
CG
enum used to store the type of coarse-graining function used
Mdouble Nu
Particle volume fraction, .
Vec3D NormalTraction
Traction from normal forces, .
Mdouble getCutoff()
see StatisticsVector::getCutoff
Mdouble CG_integral_2D(Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance, Mdouble &rpsi_scalar)
Returns the value of the coarse graining integral averaged along a line.
Vec3D DisplacementMomentum
Momentum from linear displacement, , where , with the time intervall between outputs.
MatrixSymmetric3D Fabric
Fabric tensor, .
void setCGInverseVolume()
sets CG_invvolume
std::string print() const
Outputs statistical variables in human-readable format.
StatisticsPoint(const StatisticsPoint &other)
Copy constructor; simply copies everything.
Vec3D LocalAngularMomentum
Vec3D CG_gradient(const Vec3D &P, const Mdouble phi)
gradient of phi
int mirrorParticle
indicates that a position is a (fake) particles used for periodic walls
Vec3D EnergyFlux
Energy flux, .
Mdouble Density
Density, .
Mdouble getYMaxStat()
see StatisticsVector::getYMaxStat
MatrixSymmetric3D Displacement
Linear displacement, .
std::string write() const
Outputs statistical variables in computer-readable format.
void set_zero()
Sets all statistical variables to zero.
Mdouble getCutoff2()
see StatisticsVector::getCutoff2
Mdouble getXMinStat()
see StatisticsVector::getXMinStat
Vec3D TangentialTraction
Traction from tangential forces, .
Mdouble getCGWidthSquared() const
see StatisticsVector::getCGWidthSquared
Matrix3D LocalAngularMomentumFlux
StatisticsPoint< T > getSquared()
Squares all statistical variables; needed for variance.
Mdouble dotNonAveraged(const Vec3D &P, const Vec3D &Q)
Returns the dot product of two vectors in the coordinates that are not averaged about.
Vec3D clearAveragedDirections(Vec3D P)
Returns a vector where the averaged directions are zero.
StatisticsPoint< T > & operator+=(const StatisticsPoint< T > &P)
Defines a plus operator needed to average values ( )
Mdouble Potential
Elastic energy .
Mdouble CG_integral_gradient_1D(Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance)
This class stores statistical values for a given spatial position; to be used in combination with Sta...
MatrixSymmetric3D MomentumFlux
Momentum flux, .
StatisticsPoint()
Constructor sets sensible values.
This class is used to extract statistical data from MD simulations.
Mdouble getZMaxStat()
see StatisticsVector::getZMaxStat
Mdouble getCGInverseVolume()
returns CG_invvolume
void getN(int &nx_, int &ny_, int &nz_)
see StatisticsVector::get_n
double compute_Gaussian_invvolume(int dim)
computes CG_invvolume if CG_type=Gaussian
Mdouble CG_integral(Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance, Vec3D &rpsi)
Returns the value of the coarse graining integral .
Implementation of a 3D matrix.
static void set_gb(StatisticsVector< T > *new_gb)
see StatisticsVector::setCGShape
Implementation of a 3D vector (by Vitaliy).
Vec3D Momentum
Momentum, .
static StatisticsVector< T > * gb
Pointer to StatisticsVector (to obtain global parameters)
Vec3D Position
Position at which evaluation occurs.
Mdouble getXMaxStat()
see StatisticsVector::getXMaxStat
void setPosition(Vec3D new_)
sets Position
Mdouble CG_integral_1D(Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance, Mdouble &rpsi_scalar)
Returns the value of the coarse graining integral averaged along a plane.
Implementation of a 3D symmetric matrix.
Mdouble evaluatePolynomialGradient(Mdouble r)
see StatisticsVector::evaluatePolynomialGradient
Mdouble getYMinStat()
see StatisticsVector::getYMinStat
StatisticsPoint< T > & operator=(const StatisticsPoint< T > &P)
Defines a equal operator needed for copy constructor.
void set_Polynomial_invvolume(int dim)
sets CG_invvolume if CG_type=Polynomial
std::string print_sqrt() const
Outputs root of statistical variables in human-readable format.
CG getCGShape() const
see StatisticsVector::getCGShape
Matrix3D TangentialStress
Stress from tangential forces, .
void setCGWidth2(Mdouble new_)
see StatisticsVector::setCGWidth2
Mdouble getDistanceSquaredNonAveraged(const Vec3D &P)
returns the coarse graining distance in the coordinates that are not averaged about ...