Writes a mesoscale concrete geometry, consisting of a matrix, several aggregates and interfaces around them.
More...
|
static void | Write (std::ostream &out, Box2D box, const Eigen::MatrixX3d &aggregates, Options opt) |
|
static void | Write (std::ostream &out, Box3D box, const Eigen::MatrixX4d &aggregates, Options opt) |
|
static void | Write (std::ostream &out, Cylinder cylinder, const Eigen::MatrixX4d &aggregates, Options opt) |
|
static void | Write (std::string filename, Box2D box, const Eigen::MatrixX3d &aggregates, Options opt) |
|
static void | Write (std::string filename, Box3D box, const Eigen::MatrixX4d &aggregates, Options opt) |
|
static void | Write (std::string filename, Cylinder cylinder, const Eigen::MatrixX4d &aggregates, Options opt) |
|
Writes a mesoscale concrete geometry, consisting of a matrix, several aggregates and interfaces around them.
The interfaces are created by extruding the aggregate mesh. This special feature is not available in the gmsh3 open cascade kernel. Thus, it requires very long and error prone gmsh code and, thus, IMO, worth wrapping in this class.
This class is somehow connected to the concrete geometry. However, for decoupling and easy external use, it will not rely on the other classes in geometryConcrete. So it will not work on a NuTo::Specimen
and a NuTo::ParticleHandler
. It will rather define own simplified boxes and take the aggregates as Eigen::Matrix.
The 2D sphere format is x0 y0 r0 x1 y1 r1 x2 y2 r2 ... ... ...
The 3D sphere format is x0 y0 z0 r0 x1 y1 z1 r1 x2 y2 z2 r2 ... ... ... ...