1 #include "../Dem/Xml.h"
45 std::vector<std::vector<double>>
bounds ;
49 std::vector<std::string>
names ;
50 std::vector<std::vector<std::vector<double>>>
data ;
51 std::vector<std::pair<double,std::streampos>>
index ;
70 if (
static_cast<float>(
actualts) !=
static_cast<float>(
index[ts].first)) printf(
"WARN: the timestep read is not the one that was expected %.10g %.10g\n",
actualts,
index[ts].first) ;
76 printf(
"WARN: this file can only read forward. Restarting if from scratch. \n") ;
125 printf(
"[WARN] Inertia InertiaMomentum not guaranteed for dimension > %d\n",
MAXDEFDIM) ;
132 res=pow(boost::math::double_constants::pi,k)*pow(R,
d+2) / boost::math::factorial<double>(k+1) ;
137 unsigned int k=(
d-1)/2 ;
138 res=pow(2,k+2) * pow(boost::math::double_constants::pi, k) * pow(R,
d+2) / boost::math::double_factorial<double> (
d+2) ;
#define MAXDEFDIM
Definition: Reader-NDDEM.h:120
Definition: Reader-NDDEM.h:5
std::string path
Definition: Reader-NDDEM.h:42
std::vector< std::vector< double > > bounds
Definition: Reader-NDDEM.h:45
int build_index()
Definition: Reader-NDDEM.h:37
void clear_tsdata()
Definition: Reader-NDDEM.h:54
int get_dimension()
Definition: Reader-NDDEM.h:28
double actualts
Definition: Reader-NDDEM.h:38
std::vector< double * > reorganised_vel
Definition: Reader-NDDEM.h:57
int get_num_particles()
Definition: Reader-NDDEM.h:34
double * get_data(DataValue datavalue, int dd, std::string name="")
Definition: Reader-NDDEM.h:90
int dimension
Definition: Reader-NDDEM.h:44
std::vector< std::string > names
Definition: Reader-NDDEM.h:49
NDDEMReader(std::string ppath)
Definition: Reader-NDDEM.h:7
std::vector< std::pair< double, std::streampos > > index
Definition: Reader-NDDEM.h:51
std::vector< double * > reorganised_pos
Definition: Reader-NDDEM.h:56
int get_numts()
Definition: Reader-NDDEM.h:30
std::vector< double * > reorganised_omega
Definition: Reader-NDDEM.h:58
int read_timestep(int ts)
Definition: Reader-NDDEM.h:62
XMLReader * XML
Definition: Reader-NDDEM.h:41
int Nparticles
Definition: Reader-NDDEM.h:48
std::streampos startingpoint
Definition: Reader-NDDEM.h:43
std::vector< double > Imom
Definition: Reader-NDDEM.h:47
double InertiaMomentum(int d, double R, double rho)
Definition: Reader-NDDEM.h:121
int Ncontacts
Definition: Reader-NDDEM.h:48
std::vector< std::vector< std::vector< double > > > data
Definition: Reader-NDDEM.h:50
std::vector< double > radius
Definition: Reader-NDDEM.h:46
void post_init()
Definition: Reader-NDDEM.h:20
int get_num_contacts()
Definition: Reader-NDDEM.h:35
std::vector< std::vector< double > > get_bounds()
Definition: Reader-NDDEM.h:29
std::vector< double > mass
Definition: Reader-NDDEM.h:47
~NDDEMReader()
Definition: Reader-NDDEM.h:18
int curts
Definition: Reader.h:135
double get_default_density()
Definition: Reader.h:62
double delta
Definition: Reader.h:138
ifstream fic
Definition: Xml.h:66
void close()
Definition: Xml.h:70
int read_radius(vector< double > &radius)
Definition: Xml.cpp:273
int read_boundaries(vector< vector< double >> &boundaries)
Definition: Xml.cpp:258
std::pair< string, map< string, string > > tags
Definition: Xml.h:86
std::vector< std::pair< double, std::streampos > > read_index()
Definition: Xml.cpp:331
double read_nextts(vector< string > &names, vector< vector< vector< double >>> &data)
Definition: Xml.cpp:281
double Volume(int d, double R)
Compute a sphere volume in dimension D.
Definition: Coarsing.cpp:1785
DataValue
Definition: Typedefs.h:19
@ Imom
Definition: Typedefs.h:19
@ pos
Definition: Typedefs.h:19
@ vel
Definition: Typedefs.h:19
@ omega
Definition: Typedefs.h:19
@ radius
Definition: Typedefs.h:19
@ mass
Definition: Typedefs.h:19