28template <
int DisplacementDim>
35 bool const is_axially_symmetric,
45 unsigned const n_integration_points =
53 for (
unsigned ip = 0; ip < n_integration_points; ++ip)
66 std::string_view name,
double const* values,
67 int const integration_order) = 0;
83 std::function<std::span<double>(
85 DisplacementDim>::MaterialStateVariables&)>
const&
87 int const& n_components)
const
92 DisplacementDim>::material_state_variables,
93 get_values_span, n_components);
97 DisplacementDim>::MaterialStateVariables
const&
108 &Self::current_states_, &Self::output_data_);
113 std::vector<typename ConstitutiveRelations::StatefulData<DisplacementDim>>
122 std::vector<ConstitutiveRelations::MaterialStateData<DisplacementDim>>
124 std::vector<ConstitutiveRelations::OutputData<DisplacementDim>>
std::size_t getID() const
Returns the ID of the element.
unsigned getNumberOfPoints() const
auto reflectWithoutName(Accessors &&... accessors)
KV::KelvinVectorType< DisplacementDim > KelvinVector
std::vector< double > getIntegrationPointDataMaterialStateVariables(IntegrationPointDataVector const &ip_data_vector, MemberType member, std::function< std::span< double >(MaterialStateVariables &)> get_values_span, int const n_components)
NumLib::GenericIntegrationMethod const & integration_method_
LocalAssemblerInterface(MeshLib::Element const &e, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, TH2MProcessData< DisplacementDim > &process_data)
std::vector< double > getMaterialStateVariableInternalState(std::function< std::span< double >(typename ConstitutiveRelations::SolidConstitutiveRelation< DisplacementDim >::MaterialStateVariables &)> const &get_values_span, int const &n_components) const
unsigned getNumberOfIntegrationPoints() const
TH2MProcessData< DisplacementDim > & process_data_
virtual std::size_t setIPDataInitialConditions(std::string_view name, double const *values, int const integration_order)=0
ConstitutiveRelations::SolidConstitutiveRelation< DisplacementDim > const & solid_material_
std::vector< typename ConstitutiveRelations::StatefulData< DisplacementDim > > current_states_
int getMaterialID() const
std::vector< typename ConstitutiveRelations::StatefulDataPrev< DisplacementDim > > prev_states_
MeshLib::Element const & element_
static auto getReflectionDataForOutput()
bool const is_axially_symmetric_
ConstitutiveRelations::SolidConstitutiveRelation< DisplacementDim >::MaterialStateVariables const & getMaterialStateVariablesAt(unsigned integration_point) const
std::vector< ConstitutiveRelations::OutputData< DisplacementDim > > output_data_
std::vector< ConstitutiveRelations::MaterialStateData< DisplacementDim > > material_states_