53 [[maybe_unused]]
auto const& bulk_node_ids =
55 [[maybe_unused]]
auto const& bulk_element_ids =
58 auto is_inactive_id = [&](std::size_t
const bulk_element_id)
62 {
return is_inactive_id(bulk_element_ids[e->getID()]); };
64 std::vector<std::size_t> inactive_nodes_in_bc_mesh;
66 back_inserter(inactive_nodes_in_bc_mesh),
67 [&](std::size_t
const n)
69 const auto& connected_elements =
72 return std::all_of(begin(connected_elements),
73 end(connected_elements),
80 back_inserter(inactive_nodes_in_bc_mesh),
81 [&](std::size_t
const n)
83 const auto& connected_elements =
86 return std::all_of(begin(connected_elements),
87 end(connected_elements),
93 for (std::size_t i = 0; i <
_subdomain.outer_nodes.size(); ++i)
95 auto const& connected_elements =
_subdomain.outer_nodes_elements[i];
96 if (std::all_of(begin(connected_elements), end(connected_elements),
99 inactive_nodes_in_bc_mesh.push_back(
_subdomain.outer_nodes[i]);
104 auto time_interval_contains = [&](
double const t)
109 if (time_interval_contains(t))
117 bc_values.
ids.clear();
DeactivatedSubdomainDirichlet(MeshLib::PropertyVector< unsigned char > const &is_active, MathLib::PiecewiseLinearInterpolation time_interval, ParameterLib::Parameter< double > const ¶meter, bool const set_outer_nodes_dirichlet_values, DeactivatedSubdomainMesh const &subdomain, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, int const component_id)
MathLib::PiecewiseLinearInterpolation const _time_interval
void getEssentialBCValues(const double t, GlobalVector const &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override
Writes the values of essential BCs to bc_values.
ParameterLib::Parameter< double > const & _parameter
MeshLib::PropertyVector< unsigned char > const & _is_active
bool const _set_outer_nodes_dirichlet_values
void config(NumLib::LocalToGlobalIndexMap const &dof_table_bulk)
std::unique_ptr< NumLib::LocalToGlobalIndexMap const > _dof_table_boundary
DeactivatedSubdomainMesh const & _subdomain
void getEssentialBCValuesLocal(ParameterLib::Parameter< double > const ¶meter, MeshLib::Mesh const &bc_mesh, std::vector< std::size_t > const &nodes_in_bc_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_boundary, int const variable_id, int const component_id, const double t, GlobalVector const &, NumLib::IndexValueVector< GlobalIndexType > &bc_values)