Mdouble tmaxStat
Statistical output will only be created if t
Mdouble get_xminStat()
Functions to acces and change the domain of statistics.
void set_n(int nx_, int ny_, int nz_)
Mdouble get_dt()
Allows the time step dt to be accessed.
std::vector< Vec3D > VelocityProfile
std::vector< StatisticsPoint< T > > dz
A vector that stores the gradient in z of all statistical variables at a given position.
Mdouble cutoff
The distance from the origin at which the cg function vanishes; cutoff=w for HeavisideSphere or Polyn...
void gather_force_statistics_from_p3w(int version, std::vector< int > &index)
get force statistics from particle collisions
std::vector< StatisticsPoint< T > > dy
A vector that stores the gradient in y of all statistical variables at a given position.
Mdouble xminStat
By default the points of evaluation are placed in an grid on the domain [xminStat,xmaxStat]x[yminStat,ymaxStat]x[zminStat,zmaxStat].
void constructor()
Sets up all basic things.
StatisticsVector(std::string name)
Vec3D P1
Position of first contact point.
bool loadVelocityProfile(const char *filename)
Mdouble w2
coarse graining width squared; for HeavisideSphere and Gaussian
Mdouble tintStat
Statistical output will only be created if tmaxStat-tintStat< t< tmaxStat.
void set_zmaxStat(Mdouble zmaxStat_)
void set_ignoreFixedParticles(bool new_)
void write_statistics()
Writes regular statistics.
void jump_p3c()
get force statistics from particle collisions
Mdouble P1_P2_Dissipation
not yet working
int get_dim()
Allows the dimension of the simulation to be accessed.
std::vector< StatisticsPoint< T > > dx
A vector that stores the gradient in x of all statistical variables at a given position.
Mdouble P1_P2_distance
Length of contact line.
void set_infiniteStressForFixedParticles(bool new_)
void set_tmaxStat(Mdouble t)
void evaluate_wall_force_statistics(Vec3D P, int wp=0)
get force statistics (i.e. first particle is a wall particle)
void set_doublePoints(bool new_)
int nx
Grid size nx,ny,nz (by default the points of evaluation are placed in an grid on the domain [xminStat...
void set_CG_type(const char *new_)
Mdouble get_ymax()
Gets ymax.
void set_StressTypeForFixedParticles(int new_)
Mdouble evaluatePolynomial(Mdouble r)
bool read_next_from_p3p_file()
void set_xminStat(Mdouble xminStat_)
CG
enum used to store the type of coarse-graining function used
void set_w2(Mdouble new_)
Set CG variables w2 and CG_invvolume.
void set_Positions()
Set position of StatisticsPoint points and set variables to 0.
int nTimeAverage
A counter needed to average over time.
void get_n(int &nx_, int &ny_, int &nz_)
void set_doTimeAverage(bool new_)
int nTimeAverageReset
Determines after how many timesteps the time average is reset.
std::vector< StatisticsPoint< T > > dxTimeAverage
a vector used to sum up all statistical gradients in dx for time-averaging
std::string print()
Outputs member variable values to a std::string.
std::vector< StatisticsPoint< T > > dzTimeAverage
a vector used to sum up all statistical gradients in dz for time-averaging
void set_tminStat(Mdouble t)
void set_mirrorAtDomainBoundary(Mdouble new_)
Mdouble get_t()
Access function for the time.
Mdouble indSpecies
defines the species for which statistics are extracted (-1 for all species)
Mdouble get_ymin()
Gets ymin.
void evaluate_force_statistics(int wp=0)
get force statistics
void statistics_from_p3()
this is a modified version of statistics_from_fstat_and_data. It is used to read p3d files ...
Mdouble tminStat
Statistical output will only be created if t>tminStat.
void set_ymaxStat(Mdouble ymaxStat_)
Mdouble t
This stores the current time.
Mdouble rmin
defines the minimum radius of the particles for which statistics are extracted
Mdouble get_xmin()
Get xmin.
void set_xmaxStat(Mdouble xmaxStat_)
Vec3D getVelocityProfile(Vec3D Position)
void set_rmax(Mdouble new_)
NORMALIZED_POLYNOMIAL< T > CGPolynomial
Stores the Polynomial, if the cg function is an axisymmetric function Polynomial in r...
std::vector< StatisticsPoint< T > > get_Points()
void statistics_from_fstat_and_data()
get StatisticsPoint
void evaluate_particle_statistics(std::vector< BaseParticle * >::iterator P, int wp=0)
Calculates statistics for a single Particle.
Vec3D P1_P2_normal
Direction of contact.
void set_periodicWalls(bool new_)
void set_doVariance(bool new_)
Mdouble get_tmax()
Allows the upper time limit to be accessed.
bool doTimeAverage
Determines if output is averaged over time.
void process_statistics(bool usethese)
Processes all gathered statistics and resets them afterwards. (Processing means either calculating ti...
void set_Polynomial(std::vector< Mdouble > new_coefficients, unsigned int new_dim)
Mdouble get_w_over_rmax()
void set_doGradient(bool new_)
void set_superexact(bool new_)
std::vector< StatisticsPoint< T > > timeVariance
a vector used to sum up the variance in time of all statistical values
Mdouble mirrorAtDomainBoundary
bool doVariance
Determines if variance is outputted.
bool get_TimeAverageReset()
MatrixSymmetric3D P1_P2_Fabric
Fabric.
std::string get_PolynomialName()
bool get_ignoreFixedParticles()
void set_hmax(Mdouble new_)
Matrix3D P1_P2_NormalStress
Contact stress from normal forces along the line of contact.
Vec3D P1_P2_CollisionalHeatFlux
not yet working
std::vector< StatisticsPoint< T > > Points
A vector that stores the values of the statistical variables at a given position. ...
A class that defines and solves a MD problem.
void set_tintStat(Mdouble t)
This class stores statistical values for a given spatial position; to be used in combination with Sta...
int verbosity
0 no output 1 basic output (timesteps) 2 full output (number of forces and particles, md and stat parameters)
void gather_statistics_collision(int index1, int index2, Vec3D Contact, Mdouble delta, Mdouble ctheta, Mdouble fdotn, Mdouble fdott, Vec3D P1_P2_normal_, Vec3D P1_P2_tangential)
Calculates statistics for one collision (can be any kind of collision)
CG CG_type
coarse graining type (Gaussian, Heaviside, Polynomial)
Mdouble hmax
defines the maximum height of the particles for which statistics are extracted
This class is used to extract statistical data from MD simulations.
Matrix3D P1_P2_ContactCoupleStress
void set_PolynomialName(const char *new_name)
void set_verbosity(int new_)
std::vector< StatisticsPoint< T > > timeAverage
A vector used to sum up all statistical values in Points for time-averaging.
This class is used to define polynomial axisymmetric coarse-graining functions.
Mdouble setInfinitelyLongDistance()
bool superexact
If true, cutoff radius for Gaussian is set to 5*w (from 3*w)
virtual void reset_statistics()
Set all statistical variables to zero.
void set_Polynomial(Mdouble *new_coefficients, unsigned int num_coeff, unsigned int new_dim)
Mdouble get_xmax()
Get xmax.
bool ignoreFixedParticles
Determines if fixed particles contribute to particle statistics (density, ...)
Implementation of a 3D matrix.
Implementation of a 3D vector (by Vitaliy).
Mdouble get_mirrorAtDomainBoundary()
int StressTypeForFixedParticles
0 no Stress from fixed particles 1 Stress from fixed particles distributed between Contact and flowin...
Mdouble P1_P2_Potential
not yet working
Mdouble evaluateIntegral(Mdouble n1, Mdouble n2, Mdouble t)
Mdouble rmax
defines the maximum radius of the particles for which statistics are extracted
Mdouble get_zmax()
Gets zmax.
void set_rmin(Mdouble new_)
Implementation of a 3D symmetric matrix.
void readStatArguments(unsigned int argc, char *argv[])
std::string print_CG()
Output coarse graining variables.
Matrix3D P1_P2_TangentialStress
Contact stress from tangential forces along the line of contact.
bool doGradient
Determines if gradient is outputted.
Vec3D P1_P2_NormalTraction
Traction from normal forces at contact of flow with fixed particles or walls.
void set_w(Mdouble w)
Set CG variables w2 and CG_invvolume.
void gather_force_statistics_from_p3c(int version)
get force statistics from particle collisions
void set_w_over_rmax(Mdouble new_)
void set_walls(bool new_)
int nxMirrored
extension of grid size from mirrored points