64 for (
int j = 0; j < 3; j++)
72 Eigen::MatrixXd
const global2local_rotation =
74 n = global2local_rotation.row(dim - 1);
76 frac_prop.
R = global2local_rotation.topLeftCorner(dim, dim);
78 DBUG(
"Normal vector of the fracture element {:d}: [{:g}, {:g}, {:g}]",
79 e.
getID(), n[0], n[1], n[2]);
90 Eigen::Vector3d branch_vector =
92 double sign = (branch_vector.dot(master_frac.
normal_vector) < 0) ? -1 : 1;
93 branch.normal_vector_branch = sign * master_frac.
normal_vector;
Definition of the Element class.
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
const double * data() const
const RotationMatrix & getRotationMatrixToGlobal() const
return a rotation matrix converting to global coordinates
std::size_t getID() const
Returns the ID of the element.
void setFractureProperty(int const dim, MeshLib::Element const &e, FractureProperty &frac_prop)
BranchProperty createBranchProperty(MeshLib::Node const &branchNode, FractureProperty const &master_frac, FractureProperty const &slave_frac)
virtual ~FractureProperty()=default
Eigen::Vector3d normal_vector
ParameterLib::Parameter< double > const & aperture0
Initial aperture.
std::vector< BranchProperty > branches_slave
FractureProperty(int const fracture_id_, int const material_id, ParameterLib::Parameter< double > const &initial_aperture)
Eigen::MatrixXd R
Rotation matrix from global to local coordinates.
Eigen::Vector3d point_on_fracture
std::vector< BranchProperty > branches_master