21 #ifndef _aspect_material_model_rheology_elasticity_h
22 #define _aspect_material_model_rheology_elasticity_h
32 namespace MaterialModel
123 const std::vector<double> &average_elastic_shear_moduli,
147 const std::vector<double> &average_elastic_shear_moduli,
171 const std::vector<double> &average_elastic_shear_moduli,
189 const std::vector<double> &average_elastic_shear_moduli,
196 const std::vector<double> &
212 const double shear_modulus)
const;
235 const double viscosity_pre_yield,
236 const double shear_modulus)
const;
260 std::vector<SymmetricTensor<2, dim>>
262 const std::vector<
Point<dim>> &quadrature_positions)
const;
308 mutable std::unique_ptr<FEPointEvaluation<dim, dim>>
evaluator;
ElasticAdditionalOutputs(const unsigned int n_points)
std::vector< double > elastic_viscosity
std::vector< SymmetricTensor< 2, dim > > deviatoric_stress
std::vector< double > elastic_shear_moduli
std::vector< double > get_nth_output(const unsigned int idx) const override
SymmetricTensor< 2, dim > calculate_viscoelastic_strain_rate(const SymmetricTensor< 2, dim > &strain_rate, const SymmetricTensor< 2, dim > &stress_0_advected, const SymmetricTensor< 2, dim > &stress_old, const double viscosity_pre_yield, const double shear_modulus) const
void fill_elastic_additional_outputs(const MaterialModel::MaterialModelInputs< dim > &in, const std::vector< double > &average_elastic_shear_moduli, MaterialModel::MaterialModelOutputs< dim > &out) const
bool use_fixed_elastic_time_step
std::unique_ptr< FEPointEvaluation< dim, dim > > evaluator
std::vector< SymmetricTensor< 2, dim > > retrieve_stress_previous_timestep(const MaterialModel::MaterialModelInputs< dim > &in, const std::vector< Point< dim >> &quadrature_positions) const
void fill_reaction_outputs(const MaterialModel::MaterialModelInputs< dim > &in, const std::vector< double > &average_elastic_shear_moduli, MaterialModel::MaterialModelOutputs< dim > &out) const
double calculate_elastic_viscosity(const double shear_modulus) const
static constexpr unsigned int n_independent_components
void parse_parameters(ParameterHandler &prm)
double elastic_timestep() const
double fixed_elastic_time_step
std::unique_ptr< FEPointEvaluation< n_independent_components, dim > > evaluator_composition
double calculate_timestep_ratio() const
void fill_reaction_rates(const MaterialModel::MaterialModelInputs< dim > &in, const std::vector< double > &average_elastic_shear_moduli, MaterialModel::MaterialModelOutputs< dim > &out) const
void create_elastic_additional_outputs(MaterialModel::MaterialModelOutputs< dim > &out) const
static void declare_parameters(ParameterHandler &prm)
double elastic_damper_viscosity
std::vector< double > elastic_shear_moduli
double calculate_viscoelastic_viscosity(const double viscosity, const double shear_modulus) const
void fill_elastic_outputs(const MaterialModel::MaterialModelInputs< dim > &in, const std::vector< double > &average_elastic_shear_moduli, MaterialModel::MaterialModelOutputs< dim > &out) const
const std::vector< double > & get_elastic_shear_moduli() const
double stabilization_time_scale_factor