70 std::unique_ptr<MaterialLib::Fracture::Permeability::Permeability>
82 for (
int j = 0; j < 3; j++)
90 Eigen::MatrixXd
const global2local_rotation =
92 n = global2local_rotation.row(dim - 1);
94 frac_prop.
R = global2local_rotation.topLeftCorner(dim, dim);
96 DBUG(
"Normal vector of the fracture element {:d}: [{:g}, {:g}, {:g}]",
97 e.
getID(), n[0], n[1], n[2]);
108 Eigen::Vector3d branch_vector =
110 double sign = (branch_vector.dot(master_frac.
normal_vector) < 0) ? -1 : 1;
111 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)
ParameterLib::Parameter< double > const & biot_coefficient
std::unique_ptr< MaterialLib::Fracture::Permeability::Permeability > permeability_model
FracturePropertyHM(int const fracture_id_, int const material_id, ParameterLib::Parameter< double > const &initial_aperture, ParameterLib::Parameter< double > const &specific_storage_, ParameterLib::Parameter< double > const &biot_coefficient_)
ParameterLib::Parameter< double > const & specific_storage
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