86 void write(std::ostream& os)
const;
188 typename std::enable_if<std::is_base_of<CGCoordinates::XYZ, typename T::CoordinatesType>::value,
void>::type
191 Vec3D delta = max - min;
195 Vec3D start = min + 0.5 * delta;
196 points.resize(
n[0] *
n[1] *
n[2]);
197 for (std::size_t
i = 0;
i <
n[0];
i++)
199 for (std::size_t j = 0; j <
n[1]; j++)
201 for (std::size_t k = 0; k <
n[2]; k++)
203 points[(
i *
n[1] + j) *
n[2] + k].coordinates.
204 setXYZ({start.
X + delta.
X *
i,
205 start.
Y + delta.
Y * j,
206 start.
Z + delta.
Z * k});
const unsigned n
Definition: CG3DPackingUnitTest.cpp:32
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:60
Definition: BaseParticle.h:54
Contains common member functions of the X, Y, and Z classes.
Definition: BaseCoordinates.h:39
Defines the position of the CGPoint, in the non-averaged directions, i.e. all directions on which spa...
Definition: XYZ.h:75
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 th...
Definition: XYZ.cc:114
Vec3D p_
Definition: XYZ.h:171
static void writeNames(std::ostream &os)
Writes the coordinate names in human-readable form to an ostream.
Definition: XYZ.cc:32
void setXYZ(Vec3D p)
Returns the position of the current CGPoint, in the non-averaged directions.
Definition: XYZ.cc:61
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 d...
Definition: XYZ.cc:157
static std::string getName()
Definition: XYZ.cc:195
static Mdouble getLength(const Vec3D &p)
Returns the length of the input vector in the non-averaged directions.
Definition: XYZ.cc:83
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 th...
Definition: XYZ.cc:104
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 th...
Definition: XYZ.cc:94
static const unsigned countVariables()
Definition: XYZ.cc:190
static void normalisePolynomialCoefficients(std::vector< Mdouble > &coefficients, Mdouble cutoff)
Normalises the coefficients of Polynomial CGFunction such that the integral over all non-averaged dim...
Definition: XYZ.cc:180
static Mdouble getGaussPrefactor(Mdouble width, Mdouble cutoff)
Computes the prefactor of the Gauss CGFunction, which is dependent on the number of non-averaged dime...
Definition: XYZ.cc:138
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 ave...
Definition: XYZ.cc:53
Mdouble getDistanceSquared(const Vec3D &p) const
Returns the square of the distance between the particle p and the current CGPoint,...
Definition: XYZ.cc:73
Mdouble getTangentialSquared(const BaseInteraction &c, Mdouble pNormal) const
For the Interaction between particles/walls P and I, this function returns the square of the minimum ...
Definition: XYZ.cc:126
static bool isResolvedIn(unsigned i)
Definition: XYZ.h:162
void write(std::ostream &os) const
Writes the coordinates in human-readable form to an ostream.
Definition: XYZ.cc:40
The DPMBase header includes quite a few header files, defining all the handlers, which are essential....
Definition: DPMBase.h:77
Mdouble Y
Definition: Vector.h:66
Mdouble Z
Definition: Vector.h:66
Mdouble X
the vector components
Definition: Vector.h:66
The class in this namespace contain the position of a CGPoint, in the non-averaged directions,...
Definition: Base_X_Y_Z.h:41
std::enable_if< std::is_base_of< CGCoordinates::O, typename T::CoordinatesType >::value, void >::type spaceEvenly(Vec3D min, Vec3D max, std::vector< std::size_t > nAll, std::vector< T > &points)
Definition: O.h:101
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51