|
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>
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 Vec3D::dot(), BaseInteraction::getContactPoint(), getLength(), and r_.
Returns the square of the distance between the particle p and the current CGPoint, in the non-averaged directions.
References getLength(), r_, and mathsFunc::square().
References constants::pi, Vec3D::X, and Vec3D::Z.
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 Vec3D::dot(), BaseInteraction::getContactPoint(), BaseInteraction::getI(), getLength(), BaseInteractable::getPosition(), and r_.
Returns the length of the input vector in the non-averaged directions.
[in] | p | vector whose length should be determined |
References Vec3D::X, and Vec3D::Y.
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 Vec3D::dot(), BaseInteraction::getContactPoint(), getLength(), BaseInteraction::getP(), BaseInteractable::getPosition(), and r_.
|
overridevirtual |
returns the weight function needed in getTotal (required as functions cannot be )
Reimplemented from CGCoordinates::BaseCoordinates.
References r_.
|
inlinestatic |
References constants::i.
|
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 constants::i.
void R::setR | ( | Mdouble | 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().