20template <
int GlobalDim>
25 std::size_t
const source_term_mesh_id,
const int variable_id,
26 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters)
28 DBUG(
"Constructing EmbeddedAnchor from config.");
32 auto const param_name =
35 DBUG(
"Using parameter {:s} as anchor stiffness constant.", param_name);
42 if (element->getNumberOfNodes() != 2)
45 "Every anchor element needs to have precisely two nodes.");
50 "The EmbeddedAnchor source term has not been tested with PETSc yet.");
53 return std::make_unique<EmbeddedAnchor<GlobalDim>>(
54 bulk_mesh, dof_table_bulk, source_term_mesh_id, st_mesh, variable_id,
62 std::size_t
const source_term_mesh_id,
const int variable_id,
63 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const&
70 std::size_t
const source_term_mesh_id,
const int variable_id,
71 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const&
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
T getConfigParameter(std::string const ¶m) const
void checkConfigParameter(std::string const ¶m, std::string_view const value) const
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
OGS_NO_DANGLING Parameter< ParameterDataType > & findParameter(std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase > > const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)
template std::unique_ptr< SourceTermBase > createEmbeddedAnchor< 2 >(BaseLib::ConfigTree const &config, MeshLib::Mesh const &st_mesh, MeshLib::Mesh const &bulk_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, std::size_t const source_term_mesh_id, const int variable_id, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters)
template std::unique_ptr< SourceTermBase > createEmbeddedAnchor< 3 >(BaseLib::ConfigTree const &config, MeshLib::Mesh const &st_mesh, MeshLib::Mesh const &bulk_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, std::size_t const source_term_mesh_id, const int variable_id, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters)
std::unique_ptr< SourceTermBase > createEmbeddedAnchor(BaseLib::ConfigTree const &config, MeshLib::Mesh const &st_mesh, MeshLib::Mesh const &bulk_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, std::size_t const source_term_mesh_id, const int variable_id, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters)