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;
71 std::vector<GlobalVector*>
const& x,
72 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
73 std::vector<double>& cache)
const = 0;
77 std::vector<GlobalVector*>
const& x,
78 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
79 std::vector<double>& cache)
const = 0;
83 std::vector<GlobalVector*>
const& x,
84 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
85 std::vector<double>& cache)
const = 0;
89 std::vector<GlobalVector*>
const& x,
90 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
91 std::vector<double>& cache)
const = 0;
95 std::vector<GlobalVector*>
const& x,
96 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
97 std::vector<double>& cache)
const = 0;
101 std::vector<GlobalVector*>
const& x,
102 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
103 std::vector<double>& cache)
const = 0;
107 std::vector<GlobalVector*>
const& x,
108 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_table,
109 std::vector<double>& cache)
const = 0;
125 std::function<std::span<double>(
127 DisplacementDim>::MaterialStateVariables&)>
const&
129 int const& n_components)
const
134 DisplacementDim>::material_state_variables,
135 get_values_span, n_components);
139 DisplacementDim>::MaterialStateVariables
const&
150 &Self::current_states_, &Self::output_data_);
155 std::vector<typename ConstitutiveRelations::StatefulData<DisplacementDim>>
164 std::vector<ConstitutiveRelations::MaterialStateData<DisplacementDim>>
166 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_
virtual std::vector< double > const & getIntPtDarcyVelocityGas(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
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_
virtual std::vector< double > const & getIntPtDiffusionVelocitySoluteLiquid(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
static auto getReflectionDataForOutput()
bool const is_axially_symmetric_
virtual std::vector< double > const & getIntPtDiffusionVelocityVapourGas(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual std::vector< double > const & getIntPtDarcyVelocityLiquid(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual std::vector< double > const & getIntPtDiffusionVelocityLiquidLiquid(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
ConstitutiveRelations::SolidConstitutiveRelation< DisplacementDim >::MaterialStateVariables const & getMaterialStateVariablesAt(unsigned integration_point) const
virtual std::vector< double > const & getIntPtDiffusionVelocityGasGas(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual std::vector< double > const & getIntPtEnthalpySolid(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
std::vector< ConstitutiveRelations::OutputData< DisplacementDim > > output_data_
std::vector< ConstitutiveRelations::MaterialStateData< DisplacementDim > > material_states_