80 virtual std::string
info()
const;
81 virtual std::ostream&
write_ascii (std::ostream& out)
const;
82 virtual std::istream&
read_ascii (std::istream& in);
90 template<
class Archive>
void serialize(Archive&,
const unsigned int);
102 template<
class Archive>
105 ar & boost::serialization::base_object<PeriodicBoundary>(*
this);
106 ar & boost::serialization::base_object<Core::PropClass<Full3D>>(*this);
126 static Base*
new_object(
const std::string& classID, std::istream& in);
135 GRANOO_CLASS_DECLARE_TPL(DEM::Full3D);
136 extern template class Core::PropClass< DEM::Element >;
Definition: PropClass.hpp:47
Definition: SetOf.hpp:346
a singleton virtual class for representing periodic boundaries
Definition: Full3D.hpp:46
Geom::Vector _b
a vector, representing the length along y
Definition: Full3D.hpp:97
void distort_on_x(double angle)
distort the periodic domain along x
Definition: Full3D.cpp:120
void distort_on_y(double angle)
distort the periodic domain along y
Definition: Full3D.cpp:131
virtual std::ostream & write_ascii(std::ostream &out) const
dump the current state of the periodic boundary in a ascii file (standard *.lgdd format)
Definition: Full3D.cpp:298
double get_ly() const
get the length of the periodic box along y
Definition: Full3D.cpp:160
Full3D(const Full3D &)=delete
virtual void draw()
a pure virtual function to draw the domain
Definition: Full3D.cpp:226
Full3D()
constructor
Definition: Full3D.cpp:60
void serialize(Archive &, const unsigned int)
complete serializing of the periodic boundary in the *.gdd format
Definition: Full3D.hpp:104
void set_length_on_y(double value)
set the length of the periodic box along y
Definition: Full3D.cpp:110
void init_function()
a function that must be triggered to initialize the periodic boundary
Definition: Full3D.cpp:170
double get_lz() const
get the length of the periodic box along z
Definition: Full3D.cpp:165
double get_lx() const
get the length of the periodic box along x
Definition: Full3D.cpp:155
Geom::Vector _a
a vector, representing the length along x
Definition: Full3D.hpp:96
void distort_on_z(double angle)
distort the periodic domain along z
Definition: Full3D.cpp:142
void set_bounding_box(const Shape::Box &box)
set the length of the periodic box
Definition: Full3D.cpp:77
virtual std::string info() const
get some info on the periodic bounday
Definition: Full3D.cpp:286
virtual ~Full3D()
destructor
Definition: Full3D.cpp:71
static Full3D * _me
a pointer to the singleton
Definition: Full3D.hpp:93
friend class boost::serialization::access
Definition: Full3D.hpp:89
Full3D & operator=(const Full3D &)=delete
void set_length_on_x(double value)
set the length of the periodic box along x
Definition: Full3D.cpp:105
void scale_bounding_box(double factor)
apply an expansion factor to the length of the periodic box
Definition: Full3D.cpp:98
void set_length_on_z(double value)
set the length of the periodic box along z
Definition: Full3D.cpp:115
static Full3D & get()
get the singleton instance of the periodic boundaries
Definition: Full3D.cpp:55
virtual std::istream & read_ascii(std::istream &in)
update the current state of periodic boundary from an ascii file format *.lgdd
Definition: Full3D.cpp:307
Geom::Vector _c
a vector, representing the length along z
Definition: Full3D.hpp:98
a singleton virtual class for representing periodic boundaries
Definition: PeriodicBoundary.hpp:49
Definition: Vector.hpp:75
Definition: Common.hpp:198
T value(details::expression_node< T > *n)
Definition: Exprtk.hpp:15070
Definition: SetOfManager.hpp:63
static Base * new_object(const std::string &classID, std::istream &in)
Definition: SetOfManager.hpp:64