23 const std::string &root_path,
24 const bool non_conforming =
false);
37 const std::string &root_path,
38 const std::vector<std::string> &names = std::vector<std::string>(),
39 const std::vector<Eigen::MatrixXd> &vertices = std::vector<Eigen::MatrixXd>(),
40 const std::vector<Eigen::MatrixXi> &cells = std::vector<Eigen::MatrixXi>(),
41 const bool non_conforming =
false);
46 const json &geometry_selection,
47 const std::string &root_path);
62 const std::string &root_path,
64 Eigen::MatrixXd &vertices,
65 Eigen::VectorXi &codim_vertices,
66 Eigen::MatrixXi &codim_edges,
67 Eigen::MatrixXi &
faces);
82 const std::vector<json> &displacements,
83 const std::vector<json> &dirichlets,
84 const std::string &root_path,
86 const std::vector<std::string> &names = std::vector<std::string>(),
87 const std::vector<Eigen::MatrixXd> &vertices = std::vector<Eigen::MatrixXd>(),
88 const std::vector<Eigen::MatrixXi> &cells = std::vector<Eigen::MatrixXi>(),
89 const bool non_conforming =
false);
100 const double unit_scale,
101 const json &transform,
std::vector< Eigen::VectorXi > faces
void read_obstacle_mesh(const Units &units, const json &j_mesh, const std::string &root_path, const int dim, Eigen::MatrixXd &vertices, Eigen::VectorXi &codim_vertices, Eigen::MatrixXi &codim_edges, Eigen::MatrixXi &faces)
read a obstacle mesh from a geometry JSON
void construct_affine_transformation(const double unit_scale, const json &transform, const VectorNd &mesh_dimensions, MatrixNd &A, VectorNd &b)
Construct an affine transformation .
Obstacle read_obstacle_geometry(const Units &units, const json &geometry, const std::vector< json > &displacements, const std::vector< json > &dirichlets, const std::string &root_path, const int dim, const std::vector< std::string > &_names, const std::vector< Eigen::MatrixXd > &_vertices, const std::vector< Eigen::MatrixXi > &_cells, const bool non_conforming)
read a FEM mesh from a geometry JSON
std::unique_ptr< Mesh > read_fem_geometry(const Units &units, const json &geometry, const std::string &root_path, const std::vector< std::string > &_names, const std::vector< Eigen::MatrixXd > &_vertices, const std::vector< Eigen::MatrixXi > &_cells, const bool non_conforming)
read FEM meshes from a geometry JSON array (or single)
std::unique_ptr< Mesh > read_fem_mesh(const Units &units, const json &j_mesh, const std::string &root_path, const bool non_conforming)
read a FEM mesh from a geometry JSON
void apply_geometry_selection(Mesh &mesh, const json &geometry_selection, const std::string &root_path)
Apply a geometry selection to a FEM mesh.
Eigen::Matrix< double, Eigen::Dynamic, 1, 0, 3, 1 > VectorNd
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor, 3, 3 > MatrixNd