![]() |
|
Defines the non-averaged directions on which spatial coarse-graining is applied (the x-direction for R); all other directions are averaged
over homogeneously.
More...
#include <R.h>
Inheritance diagram for CGCoordinates::R:Public Member Functions | |
| void | write (std::ostream &os) const |
| Writes the coordinates in human-readable form to an ostream. More... | |
| Mdouble | getDistanceSquared (const Vec3D &p) const |
| Returns the square of the distance between the particle p and the current CGPoint, in the non-averaged directions. More... | |
| void | setR (Mdouble r) |
| Returns the position of the current CGPoint, in the non-averaged directions. More... | |
| const Mdouble | getR () const |
| Mdouble | getINormal (const BaseInteraction &c, const Vec3D &normal) const |
| For the Interaction between particles/walls P and I, this function returns the dot product between the normal vector of the interaction and the branch vector from the current CGPoint towards I. More... | |
| Mdouble | getPNormal (const BaseInteraction &c, const Vec3D &normal) const |
| For the Interaction between particles/walls P and I, this function returns the dot product between the normal vector of the interaction and the branch vector from the current CGPoint towards P. More... | |
| Mdouble | getCNormal (const BaseInteraction &c, const Vec3D &normal) const |
| For the Interaction between particles/walls P and I, this function returns the dot product between the normal vector of the interaction and the branch vector from the current CGPoint towards the contact point. More... | |
| Mdouble | getWeight () override |
Static Public Member Functions | |
| static void | writeNames (std::ostream &os) |
| Writes the coordinate names in human-readable form to an ostream. More... | |
| static Mdouble | getVolumeOfAveragedDimensions (const Vec3D &min, const Vec3D &max) |
| returns the factor the CGFunction has to be divided by, due to integrating the variables over the averaged dimensions, 1.0 for XYZ. More... | |
| static Mdouble | getLength (const Vec3D &p) |
| Returns the length of the input vector in the non-averaged directions. More... | |
| static void | normalisePolynomialCoefficients (std::vector< Mdouble > &coefficients, Mdouble cutoff) |
| Normalises the coefficients of Polynomial CGFunction such that the integral over all non-averaged dimensions is unity. More... | |
| static Mdouble | getDomainVolume (const Vec3D &min, const Vec3D &max) |
| static bool | isResolvedIn (unsigned i) |
| static std::string | getName () |
Static Public Member Functions inherited from CGCoordinates::Base_X_Y_Z | |
| static Mdouble | getGaussPrefactor (Mdouble width, Mdouble cutoff) |
| Computes the prefactor of the Gauss CGFunction, which is dependent on the number of non-averaged dimensions. More... | |
| static Mdouble | getGaussIntegralPrefactor (Mdouble distance, Mdouble width, Mdouble cutoff) |
| Computes the prefactor of the Gauss line integral, which is dependent on the number of non-averaged dimensions. More... | |
| static void | normalisePolynomialCoefficients (std::vector< Mdouble > &coefficients, Mdouble cutoff) |
| Normalises the coefficients of Polynomial CGFunction such that the integral over all non-averaged dimensions is unity. More... | |
| static const unsigned | countVariables () |
Static Public Member Functions inherited from CGCoordinates::BaseCoordinates | |
| static Mdouble | getDomainVolume (const Vec3D &min, const Vec3D &max) |
Protected Attributes | |
| Mdouble | r_ |
Defines the non-averaged directions on which spatial coarse-graining is applied (the x-direction for R); all other directions are averaged
over homogeneously.
See XYZ for details.
| Mdouble R::getCNormal | ( | const BaseInteraction & | c, |
| const Vec3D & | normal | ||
| ) | const |
For the Interaction between particles/walls P and I, this function returns the dot product between the normal vector of the interaction and the branch vector from the current CGPoint towards the contact point.
References calibrate::c, Vec3D::dot(), getLength(), WallFunction::normal(), and r_.
Returns the square of the distance between the particle p and the current CGPoint, in the non-averaged directions.
References getLength(), p, r_, and mathsFunc::square().
References max, min, and constants::pi.
| Mdouble R::getINormal | ( | const BaseInteraction & | c, |
| const Vec3D & | normal | ||
| ) | const |
For the Interaction between particles/walls P and I, this function returns the dot product between the normal vector of the interaction and the branch vector from the current CGPoint towards I.
References calibrate::c, Vec3D::dot(), getLength(), WallFunction::normal(), and r_.
Returns the length of the input vector in the non-averaged directions.
| [in] | p | vector whose length should be determined |
Referenced by getCNormal(), getDistanceSquared(), getINormal(), and getPNormal().
| Mdouble R::getPNormal | ( | const BaseInteraction & | c, |
| const Vec3D & | normal | ||
| ) | const |
For the Interaction between particles/walls P and I, this function returns the dot product between the normal vector of the interaction and the branch vector from the current CGPoint towards P.
References calibrate::c, Vec3D::dot(), getLength(), WallFunction::normal(), and r_.
|
overridevirtual |
returns the weight function needed in getTotal (required as functions cannot be )
Reimplemented from CGCoordinates::BaseCoordinates.
References r_.
|
static |
Normalises the coefficients of Polynomial CGFunction such that the integral over all non-averaged dimensions is unity.
The volume is computed as
\[volume=\int_0^1\sum_{i=1}^n c_i r^i 2 dr = 2 \sum_{i=1}^n c_i/(i+1) \]
References i.
| void R::setR | ( | Mdouble | r | ) |
Returns the position of the current CGPoint, in the non-averaged directions.
References UniformPSDSelfTest::r, and r_.
| void R::write | ( | std::ostream & | os | ) | const |
|
static |
|
protected |
The x-position of the current CGPoint.
Referenced by getCNormal(), getDistanceSquared(), getINormal(), getPNormal(), getR(), getWeight(), setR(), and write().