29namespace LargeDeformation
31template <
int DisplacementDim>
39 bool const is_axially_symmetric,
49 unsigned const n_integration_points =
53 for (
unsigned ip = 0; ip < n_integration_points; ++ip)
66 int const integration_order)
68 if (integration_order !=
72 "Setting integration point initial conditions; The integration "
73 "order of the local assembler for element {:d} is different "
74 "from the integration order in the initial condition.",
78 if (name.starts_with(
"material_state_variable_"))
80 name.remove_prefix(24);
82 auto const& internal_variables =
84 if (
auto const iv = std::find_if(
85 begin(internal_variables), end(internal_variables),
86 [&name](
auto const& iv) {
return iv.name == name; });
87 iv != end(internal_variables))
89 DBUG(
"Setting material state variable '{:s}'", name);
94 DisplacementDim>::material_state_variables,
99 "Could not find variable {:s} in solid material model's "
100 "internal variables.",
126 std::function<std::span<double>(
128 MaterialStateVariables&)>
const& get_values_span,
129 int const& n_components)
const
134 get_values_span, n_components);
138 DisplacementDim>::MaterialStateVariables
const&
149 &Self::current_states_, &Self::output_data_);
158 std::vector<typename ConstitutiveRelations::StatefulData<DisplacementDim>>
164 std::vector<typename ConstitutiveRelations::OutputData<DisplacementDim>>
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
void WARN(fmt::format_string< Args... > fmt, Args &&... args)
std::size_t getID() const
Returns the ID of the element.
unsigned getIntegrationOrder() const
unsigned getNumberOfPoints() const
std::size_t reflectSetIPData(std::string_view const name, double const *values, std::vector< IPData > &ip_data_vector)
auto reflectWithoutName(Accessors &&... accessors)
std::size_t setIntegrationPointDataMaterialStateVariables(double const *values, IntegrationPointDataVector &ip_data_vector, MemberType member, std::function< std::span< double >(MaterialStateVariables &)> get_values_span)
std::vector< double > getIntegrationPointDataMaterialStateVariables(IntegrationPointDataVector const &ip_data_vector, MemberType member, std::function< std::span< double >(MaterialStateVariables &)> get_values_span, int const n_components)