25 bc_values.
ids.clear();
34 std::back_inserter(bc_values.
ids));
36 std::back_inserter(bc_values.
values));
41 const double , std::vector<GlobalVector*>
const& x,
46 double irreversibleDamage = 0.05;
53 for (
auto const* n : nodes)
55 std::size_t node_id = n->getID();
60 if ((*x[process_id])[node_id] <= irreversibleDamage)
68 std::unique_ptr<PhaseFieldIrreversibleDamageOracleBoundaryCondition>
72 int const variable_id,
int const component_id)
75 "Constructing PhaseFieldIrreversibleDamageOracleBoundaryCondition from "
79 "type",
"PhaseFieldIrreversibleDamageOracleBoundaryCondition");
81 return std::make_unique<
83 dof_table, mesh, variable_id, component_id);
void DBUG(char const *fmt, Args const &... args)
void checkConfigParameter(std::string const ¶m, T const &value) const
Global vector based on Eigen vector.
std::vector< Node * > const & getNodes() const
Get the nodes-vector for the mesh.
std::size_t getID() const
Get id of the mesh.
GlobalIndexType getGlobalIndex(MeshLib::Location const &l, int const variable_id, int const component_id) const
NumLib::IndexValueVector< GlobalIndexType > _bc_values
MeshLib::Mesh const & _mesh
void getEssentialBCValues(const double t, const GlobalVector &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override
Writes the values of essential BCs to bc_values.
NumLib::LocalToGlobalIndexMap const & _dof_table
void preTimestep(const double t, std::vector< GlobalVector * > const &x, int const process_id) override
void copy(PETScVector const &x, PETScVector &y)
std::unique_ptr< PhaseFieldIrreversibleDamageOracleBoundaryCondition > createPhaseFieldIrreversibleDamageOracleBoundaryCondition(BaseLib::ConfigTree const &config, NumLib::LocalToGlobalIndexMap const &dof_table, MeshLib::Mesh const &mesh, int const variable_id, int const component_id)
std::vector< IndexType > ids
std::vector< double > values