![]() |
|
This class stores statistical values for a given spatial position; to be used in combination with StatisticsVector. More...
#include <StatisticsPoint.h>
Public Member Functions | |
| StatisticsPoint () | |
| Constructor sets sensible values. More... | |
| StatisticsPoint (const StatisticsPoint &other) | |
| Copy constructor; simply copies everything. More... | |
| void | setCGShape (const char *CG_type) |
| see StatisticsVector::setCGShape More... | |
| CG_TYPE | getCGShape () const |
| see StatisticsVector::getCGShape More... | |
| void | setCGWidth2 (Mdouble new_) |
| see StatisticsVector::setCGWidth2 More... | |
| Mdouble | getCGWidthSquared () const |
| see StatisticsVector::getCGWidthSquared More... | |
| Mdouble | getCGWidth () const |
| see StatisticsVector::getCGWidth More... | |
| Mdouble | getCutoff () |
| see StatisticsVector::getCutoff More... | |
| Mdouble | getCutoff2 () |
| see StatisticsVector::getCutoff2 More... | |
| Mdouble | getXMaxStat () |
| see StatisticsVector::getXMaxStat More... | |
| Mdouble | getYMaxStat () |
| see StatisticsVector::getYMaxStat More... | |
| Mdouble | getZMaxStat () |
| see StatisticsVector::getZMaxStat More... | |
| Mdouble | getXMinStat () |
| see StatisticsVector::getXMinStat More... | |
| Mdouble | getYMinStat () |
| see StatisticsVector::getYMinStat More... | |
| Mdouble | getZMinStat () |
| see StatisticsVector::getZMinStat More... | |
| void | getN (int &nx_, int &ny_, int &nz_) |
| see StatisticsVector::get_n More... | |
| Mdouble | evaluatePolynomial (Mdouble r) |
| see StatisticsVector::evaluatePolynomial More... | |
| Mdouble | evaluatePolynomialGradient (Mdouble r) |
| see StatisticsVector::evaluatePolynomialGradient More... | |
| Mdouble | evaluateIntegral (Mdouble n1, Mdouble n2, Mdouble t) |
| see StatisticsVector::evaluateIntegral More... | |
| void | setCGInverseVolume () |
| sets CG_invvolume More... | |
| int | nonaveragedDim () |
| double | averagingVolume () |
| Mdouble | getCGInverseVolume () |
| returns CG_invvolume More... | |
| void | set_Gaussian_invvolume (int dim) |
| sets CG_invvolume if CG_type=Gaussian More... | |
| double | compute_Gaussian_invvolume (int dim) |
| computes CG_invvolume if CG_type=Gaussian More... | |
| void | set_Heaviside_invvolume () |
| sets CG_invvolume if CG_type=HeaviSideSphere More... | |
| void | set_Polynomial_invvolume (int dim) |
| sets CG_invvolume if CG_type=Polynomial More... | |
| void | setPosition (Vec3D new_) |
| sets Position More... | |
| Vec3D | getPosition () const |
| returns Position More... | |
| void | set_zero () |
| Sets all statistical variables to zero. More... | |
| StatisticsPoint< T > | getSquared () |
| Squares all statistical variables; needed for variance. More... | |
| StatisticsPoint< T > & | operator= (const StatisticsPoint< T > &P) |
| Defines a equal operator needed for copy constructor. More... | |
| StatisticsPoint< T > & | operator+= (const StatisticsPoint< T > &P) |
| Defines a plus operator needed to average values ( \( \bar{v} = (\sum_{i=1}^n v_i)/n \) ) More... | |
| StatisticsPoint< T > & | operator-= (const StatisticsPoint< T > &P) |
| Defines a plus operator needed to calculate variance. More... | |
| StatisticsPoint< T > & | operator/= (const Mdouble a) |
| Defines a division operator needed to average values ( \( \bar{v} = (\sum_{i=1}^n v_i)/n \) ) More... | |
| void | firstTimeAverage (const int n) |
| Defines a division operator needed to time-average values (because the displacement does not have a value at the first time step, this is slightly different than /=) More... | |
| Mdouble | getDistanceSquaredNonAveraged (const Vec3D &P) |
| returns the coarse graining distance in the coordinates that are not averaged about More... | |
| Mdouble | dotNonAveraged (const Vec3D &P, const Vec3D &Q) |
| Returns the dot product of two vectors in the coordinates that are not averaged about. More... | |
| Vec3D | clearAveragedDirections (Vec3D P) |
| Returns a vector where the averaged directions are zero. More... | |
| Vec3D | crossNonAveraged (Vec3D P, Vec3D &Q) |
| Returns the cross product of two vectors in the coordinates that are not averaged about. More... | |
| Matrix3D | matrixCrossNonAveraged (Vec3D P, Matrix3D &Q) |
| Returns the cross product of two vectors in the coordinates that are not averaged about. More... | |
| Mdouble | CG_function (const Vec3D &PI) |
| Returns the value of the course graining function phi(P,PI) More... | |
| Mdouble | CG_function_2D (const Vec3D &PI) |
| Mdouble | CG_function_1D (const Vec3D &PI) |
| Vec3D | CG_gradient (const Vec3D &P, const Mdouble phi) |
| Vec3D | CG_integral_gradient (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance) |
| Mdouble | CG_integral_gradient_1D (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance) |
| 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 \( \psi(P,PI,PJ) = \int_0^1 \phi(P - PI + s PJ) ds \). More... | |
| Mdouble | CG_integral_2D (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance, Mdouble &rpsi_scalar) |
| Mdouble | CG_integral_1D (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance, Mdouble &rpsi_scalar) |
| std::string | print () const |
| Outputs statistical variables in human-readable format. More... | |
| std::string | print_sqrt () const |
| Outputs root of statistical variables in human-readable format. More... | |
| std::string | write_variable_names () |
| Outputs names of statistical variables in computer-readable format. More... | |
| std::string | write () const |
| Outputs statistical variables in computer-readable format. More... | |
Static Public Member Functions | |
| static void | set_gb (StatisticsVector< T > *new_gb) |
| see StatisticsVector::setCGShape More... | |
Public Attributes | |
| Mdouble | Nu |
| Particle volume fraction, \(\sum_i m_i/\rho_i \phi_i\). More... | |
| Mdouble | Density |
| Density, \(\sum_i m_i \phi_i\). More... | |
| Vec3D | Momentum |
| Momentum, \(\sum_i m_i v_{ia} \phi_i\). More... | |
| Vec3D | DisplacementMomentum |
| Momentum from linear displacement, \(\sum_i m_i u_{ia} \phi_i\), where \(\vec{u}_i=(\vec{r}_i(t)-\vec{r}_i(t-\tau))/\tau\), with \(\tau=savecount \Delta t\) the time intervall between outputs. More... | |
| MatrixSymmetric3D | Displacement |
| Linear displacement, \(2/(2 \rho_i^2) \sum_{ij} m_i m_j \phi_j (v_{ija} \partial_b \phi_i + v_{ijb} \partial_a \phi_i) \). More... | |
| MatrixSymmetric3D | MomentumFlux |
| Momentum flux, \(\sum_i m_i v_{ia} v_{ib} \phi_i\). More... | |
| MatrixSymmetric3D | DisplacementMomentumFlux |
| Momentum flux from linear displacement, \(\sum_i m_i u_{ia} u_{ib} \phi_i\). More... | |
| Vec3D | EnergyFlux |
| Energy flux, \(2/2 \sum_i m_i v_{ia} v_{ia} v_{ib} \phi_i\). More... | |
| Matrix3D | NormalStress |
| Stress from normal forces, \(\sum_{ij} f^n_{ija} l_{ijb} \psi_{ij}\). More... | |
| Matrix3D | TangentialStress |
| Stress from tangential forces, \(\sum_{ij} f^t_{ija} l_{ijb} \psi_{ij}\). More... | |
| Vec3D | NormalTraction |
| Traction from normal forces, \(\sum_{ij} f^n_{ija} l_{ijb} \phi_i\). More... | |
| Vec3D | TangentialTraction |
| Traction from tangential forces, \(\sum_{ij} f^t_{ija} l_{ijb} \phi_i\). More... | |
| MatrixSymmetric3D | Fabric |
| Fabric tensor, \(\sum_{ij} m_i/\rho_i n_{ija} n_{ijb} \psi_{ij}\). More... | |
| Vec3D | CollisionalHeatFlux |
| Mdouble | Dissipation |
| Mdouble | Potential |
| Vec3D | LocalAngularMomentum |
| Matrix3D | LocalAngularMomentumFlux |
| Matrix3D | ContactCoupleStress |
| Mdouble | CG_invvolume |
| Prefactor of CG function which depends on $w. More... | |
| int | mirrorParticle |
| indicates that a position is a (fake) particles used for periodic walls More... | |
Private Attributes | |
| Vec3D | Position |
| Position at which evaluation occurs. More... | |
Static Private Attributes | |
| static StatisticsVector< T > * | gb |
| Pointer to StatisticsVector (to obtain global parameters) More... | |
Friends | |
| std::ostream & | operator (std::ostream &os, const StatisticsPoint< T > &stat) |
| Outputs statistical variables to ostream. More... | |
This class stores statistical values for a given spatial position; to be used in combination with StatisticsVector.
|
inline |
Constructor sets sensible values.
References StatisticsPoint< T >::mirrorParticle, StatisticsPoint< T >::Position, and Vec3D::setZero().
|
inline |
Copy constructor; simply copies everything.
References StatisticsPoint< T >::mirrorParticle.
| double StatisticsPoint< T >::averagingVolume | ( | ) |
| Mdouble StatisticsPoint< T >::CG_function | ( | const Vec3D & | PI | ) |
Returns the value of the course graining function phi(P,PI)
| Mdouble StatisticsPoint< T >::CG_function_1D | ( | const Vec3D & | PI | ) |
Returns the value of the course graining function phi(P,PI) averaged along a plane
| Mdouble StatisticsPoint< T >::CG_function_2D | ( | const Vec3D & | PI | ) |
returns the value of the course graining function phi(P,PI) averaged along a line
| Vec3D StatisticsPoint< T >::CG_gradient | ( | const Vec3D & | P, |
| const Mdouble | phi | ||
| ) |
gradient of phi
| Mdouble StatisticsPoint< T >::CG_integral | ( | Vec3D & | P1, |
| Vec3D & | P2, | ||
| Vec3D & | P1_P2_normal, | ||
| Mdouble | P1_P2_distance, | ||
| Vec3D & | rpsi | ||
| ) |
Returns the value of the coarse graining integral \( \psi(P,PI,PJ) = \int_0^1 \phi(P - PI + s PJ) ds \).
| Mdouble StatisticsPoint< T >::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 \( \psi(P,PI,PJ) = \int_0^1 \phi(P - PI + s PJ) ds \) averaged along a plane
| Mdouble StatisticsPoint< T >::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 \( \psi(P,PI,PJ) = \int_0^1 \phi(P - PI + s PJ) ds \) averaged along a line
| Vec3D StatisticsPoint< T >::CG_integral_gradient | ( | Vec3D & | P1, |
| Vec3D & | P2, | ||
| Vec3D & | P1_P2_normal, | ||
| Mdouble | P1_P2_distance | ||
| ) |
gradient of phi
| Mdouble StatisticsPoint< T >::CG_integral_gradient_1D | ( | Vec3D & | P1, |
| Vec3D & | P2, | ||
| Vec3D & | P1_P2_normal, | ||
| Mdouble | P1_P2_distance | ||
| ) |
| Vec3D StatisticsPoint< T >::clearAveragedDirections | ( | Vec3D | P | ) |
Returns a vector where the averaged directions are zero.
| double StatisticsPoint< T >::compute_Gaussian_invvolume | ( | int | dim | ) |
computes CG_invvolume if CG_type=Gaussian
| Vec3D StatisticsPoint< T >::crossNonAveraged | ( | Vec3D | P, |
| Vec3D & | Q | ||
| ) |
Returns the cross product of two vectors in the coordinates that are not averaged about.
| Mdouble StatisticsPoint< T >::dotNonAveraged | ( | const Vec3D & | P, |
| const Vec3D & | Q | ||
| ) |
Returns the dot product of two vectors in the coordinates that are not averaged about.
|
inline |
see StatisticsVector::evaluateIntegral
References StatisticsPoint< T >::gb, and plotPSD::t.
|
inline |
see StatisticsVector::evaluatePolynomial
References StatisticsPoint< T >::gb, and UniformPSDSelfTest::r.
|
inline |
see StatisticsVector::evaluatePolynomialGradient
References StatisticsPoint< T >::gb, and UniformPSDSelfTest::r.
|
inline |
Defines a division operator needed to time-average values (because the displacement does not have a value at the first time step, this is slightly different than /=)
|
inline |
returns CG_invvolume
References StatisticsPoint< T >::CG_invvolume.
|
inline |
see StatisticsVector::getCGShape
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getCGWidth
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getCGWidthSquared
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getCutoff
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getCutoff2
References StatisticsPoint< T >::gb.
| Mdouble StatisticsPoint< T >::getDistanceSquaredNonAveraged | ( | const Vec3D & | P | ) |
returns the coarse graining distance in the coordinates that are not averaged about
|
inline |
see StatisticsVector::get_n
References StatisticsPoint< T >::gb.
|
inline |
| StatisticsPoint<T> StatisticsPoint< T >::getSquared | ( | ) |
Squares all statistical variables; needed for variance.
|
inline |
see StatisticsVector::getXMaxStat
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getXMinStat
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getYMaxStat
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getYMinStat
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getZMaxStat
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::getZMinStat
References StatisticsPoint< T >::gb.
| Matrix3D StatisticsPoint< T >::matrixCrossNonAveraged | ( | Vec3D | P, |
| Matrix3D & | Q | ||
| ) |
Returns the cross product of two vectors in the coordinates that are not averaged about.
| int StatisticsPoint< T >::nonaveragedDim | ( | ) |
|
inline |
Defines a plus operator needed to average values ( \( \bar{v} = (\sum_{i=1}^n v_i)/n \) )
|
inline |
Defines a plus operator needed to calculate variance.
|
inline |
Defines a division operator needed to average values ( \( \bar{v} = (\sum_{i=1}^n v_i)/n \) )
|
inline |
Defines a equal operator needed for copy constructor.
| std::string StatisticsPoint< T >::print | ( | ) | const |
Outputs statistical variables in human-readable format.
| std::string StatisticsPoint< T >::print_sqrt | ( | ) | const |
Outputs root of statistical variables in human-readable format.
| void StatisticsPoint< T >::set_Gaussian_invvolume | ( | int | dim | ) |
sets CG_invvolume if CG_type=Gaussian
|
inlinestatic |
| void StatisticsPoint< T >::set_Heaviside_invvolume | ( | ) |
sets CG_invvolume if CG_type=HeaviSideSphere
| void StatisticsPoint< T >::set_Polynomial_invvolume | ( | int | dim | ) |
sets CG_invvolume if CG_type=Polynomial
| void StatisticsPoint< T >::set_zero | ( | ) |
Sets all statistical variables to zero.
| void StatisticsPoint< T >::setCGInverseVolume | ( | ) |
sets CG_invvolume
|
inline |
see StatisticsVector::setCGShape
References StatisticsPoint< T >::gb.
|
inline |
see StatisticsVector::setCGWidth2
References StatisticsPoint< T >::gb.
|
inline |
| std::string StatisticsPoint< T >::write | ( | ) | const |
Outputs statistical variables in computer-readable format.
| std::string StatisticsPoint< T >::write_variable_names | ( | ) |
Outputs names of statistical variables in computer-readable format.
|
friend |
Outputs statistical variables to ostream.
| Mdouble StatisticsPoint< T >::CG_invvolume |
Prefactor of CG function which depends on $w.
Referenced by StatisticsPoint< T >::getCGInverseVolume().
| Vec3D StatisticsPoint< T >::CollisionalHeatFlux |
Heat flux from collisions, \(\sum_{ij} (v_{ia}+v_ja)/2 f_{ija} l_{ijb} \psi_i\)
| Matrix3D StatisticsPoint< T >::ContactCoupleStress |
| Mdouble StatisticsPoint< T >::Density |
Density, \(\sum_i m_i \phi_i\).
| MatrixSymmetric3D StatisticsPoint< T >::Displacement |
Linear displacement, \(2/(2 \rho_i^2) \sum_{ij} m_i m_j \phi_j (v_{ija} \partial_b \phi_i + v_{ijb} \partial_a \phi_i) \).
| Vec3D StatisticsPoint< T >::DisplacementMomentum |
Momentum from linear displacement, \(\sum_i m_i u_{ia} \phi_i\), where \(\vec{u}_i=(\vec{r}_i(t)-\vec{r}_i(t-\tau))/\tau\), with \(\tau=savecount \Delta t\) the time intervall between outputs.
| MatrixSymmetric3D StatisticsPoint< T >::DisplacementMomentumFlux |
Momentum flux from linear displacement, \(\sum_i m_i u_{ia} u_{ib} \phi_i\).
| Mdouble StatisticsPoint< T >::Dissipation |
Dissipation form collisions, \(\sum_{ij} (v_{ia}+v_ja)/2 f_{ija} \psi_i\)
| Vec3D StatisticsPoint< T >::EnergyFlux |
Energy flux, \(2/2 \sum_i m_i v_{ia} v_{ia} v_{ib} \phi_i\).
| MatrixSymmetric3D StatisticsPoint< T >::Fabric |
Fabric tensor, \(\sum_{ij} m_i/\rho_i n_{ija} n_{ijb} \psi_{ij}\).
|
staticprivate |
Pointer to StatisticsVector (to obtain global parameters)
Referenced by StatisticsPoint< T >::evaluateIntegral(), StatisticsPoint< T >::evaluatePolynomial(), StatisticsPoint< T >::evaluatePolynomialGradient(), StatisticsPoint< T >::getCGShape(), StatisticsPoint< T >::getCGWidth(), StatisticsPoint< T >::getCGWidthSquared(), StatisticsPoint< T >::getCutoff(), StatisticsPoint< T >::getCutoff2(), StatisticsPoint< T >::getN(), StatisticsPoint< T >::getXMaxStat(), StatisticsPoint< T >::getXMinStat(), StatisticsPoint< T >::getYMaxStat(), StatisticsPoint< T >::getYMinStat(), StatisticsPoint< T >::getZMaxStat(), StatisticsPoint< T >::getZMinStat(), StatisticsPoint< T >::set_gb(), StatisticsPoint< T >::setCGShape(), and StatisticsPoint< T >::setCGWidth2().
| Vec3D StatisticsPoint< T >::LocalAngularMomentum |
| Matrix3D StatisticsPoint< T >::LocalAngularMomentumFlux |
| int StatisticsPoint< T >::mirrorParticle |
indicates that a position is a (fake) particles used for periodic walls
Referenced by StatisticsPoint< T >::StatisticsPoint().
| Vec3D StatisticsPoint< T >::Momentum |
Momentum, \(\sum_i m_i v_{ia} \phi_i\).
| MatrixSymmetric3D StatisticsPoint< T >::MomentumFlux |
Momentum flux, \(\sum_i m_i v_{ia} v_{ib} \phi_i\).
| Matrix3D StatisticsPoint< T >::NormalStress |
Stress from normal forces, \(\sum_{ij} f^n_{ija} l_{ijb} \psi_{ij}\).
| Vec3D StatisticsPoint< T >::NormalTraction |
Traction from normal forces, \(\sum_{ij} f^n_{ija} l_{ijb} \phi_i\).
| Mdouble StatisticsPoint< T >::Nu |
Particle volume fraction, \(\sum_i m_i/\rho_i \phi_i\).
|
private |
Position at which evaluation occurs.
Referenced by StatisticsPoint< T >::getPosition(), StatisticsPoint< T >::setPosition(), and StatisticsPoint< T >::StatisticsPoint().
| Mdouble StatisticsPoint< T >::Potential |
Elastic energy \(2/4 \sum_{ij} (k \delta_{ij}^2 +k^t {\delta^t_{ij}}^2) \phi_i\)
| Matrix3D StatisticsPoint< T >::TangentialStress |
Stress from tangential forces, \(\sum_{ij} f^t_{ija} l_{ijb} \psi_{ij}\).
| Vec3D StatisticsPoint< T >::TangentialTraction |
Traction from tangential forces, \(\sum_{ij} f^t_{ija} l_{ijb} \phi_i\).