24 "zero_for_element_deactivation_approach";
27 std::unique_ptr<MeshLib::Mesh> deactivated_subdomain_mesh_,
28 std::vector<MeshLib::Node*>&& inner_nodes_,
29 std::vector<MeshLib::Node*>&& outer_nodes_)
30 : mesh(std::move(deactivated_subdomain_mesh_)),
31 inner_nodes(std::move(inner_nodes_)),
32 outer_nodes(std::move(outer_nodes_))
38 std::pair<Eigen::Vector3d, Eigen::Vector3d>
40 std::vector<int>&& materialIDs_,
41 std::vector<std::unique_ptr<DeactivatedSubdomainMesh>>&&
42 deactivated_subdomain_meshes_,
44 : time_interval(std::move(time_interval_)),
45 line_segment(line_segment),
47 deactivated_subdomain_meshes(std::move(deactivated_subdomain_meshes_)),
48 boundary_value_parameter(boundary_value_parameter)
59 double const time)
const
65 Eigen::Vector3d
const t = (b - a).normalized();
69 Eigen::Map<Eigen::Vector3d const>
const p{point.
getCoords(), 3};
72 return (p -
r).dot(t) <= 0;
Definition of the Element class.
Definition of the Mesh class.
Definition of the Node class.
double getSupportMin() const
double getSupportMax() const
double getValue(double pnt_to_interpolate) const
Calculates the interpolation value.
const T * getCoords() const
PropertyVector< int > const * materialIDs(Mesh const &mesh)
DeactivatedSubdomainMesh(std::unique_ptr< MeshLib::Mesh > deactivated_subdomain_mesh_, std::vector< MeshLib::Node * > &&inner_nodes_, std::vector< MeshLib::Node * > &&outer_nodes_)
std::pair< Eigen::Vector3d, Eigen::Vector3d > line_segment
MathLib::PiecewiseLinearInterpolation const time_interval
DeactivatedSubdomain(MathLib::PiecewiseLinearInterpolation time_interval_, std::pair< Eigen::Vector3d, Eigen::Vector3d > line_segment, std::vector< int > &&materialIDs_, std::vector< std::unique_ptr< DeactivatedSubdomainMesh >> &&deactivated_subdomain_meshes_, ParameterLib::Parameter< double > const *boundary_value_parameter)
bool isDeactivated(MathLib::Point3d const &point, double const time) const
static const std::string zero_parameter_name
bool isInTimeSupportInterval(double const t) const