21 #ifndef _aspect_material_model_rheology_visco_plastic_h 22 #define _aspect_material_model_rheology_visco_plastic_h 38 #include<deal.II/fe/component_mask.h> 42 namespace MaterialModel
57 std::vector<double> get_nth_output(
const unsigned int idx)
const override;
134 const unsigned int i,
135 const std::vector<double> &volume_fractions,
136 const std::vector<double> &phase_function_values = std::vector<double>(),
137 const std::vector<unsigned int> &n_phase_transitions_per_composition =
138 std::vector<unsigned int>())
const;
149 void compute_viscosity_derivatives(
const unsigned int point_index,
150 const std::vector<double> &volume_fractions,
151 const std::vector<double> &composition_viscosities,
154 const std::vector<double> &phase_function_values = std::vector<double>(),
155 const std::vector<unsigned int> &n_phase_transitions_per_composition =
156 std::vector<unsigned int>())
const;
164 ComponentMask get_volumetric_composition_mask()
const;
181 parse_parameters (ParameterHandler &prm,
182 const std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition =
nullptr);
196 void fill_plastic_outputs(
const unsigned int point_index,
197 const std::vector<double> &volume_fractions,
198 const bool plastic_yielding,
double adiabatic_temperature_gradient_for_viscosity
bool use_adiabatic_pressure_in_creep
MaterialUtilities::CompositionalAveragingOperation viscosity_averaging
Rheology::FrictionModels< dim > friction_models
std::vector< double > yielding
std::vector< double > cohesions
CompositionalAveragingOperation
std::unique_ptr< Rheology::FrankKamenetskii< dim > > frank_kamenetskii_rheology
std::vector< double > friction_angles
Rheology::DruckerPrager< dim > drucker_prager_plasticity
void declare_parameters(ParameterHandler &prm)
Rheology::ConstantViscosityPrefactors< dim > constant_viscosity_prefactors
Rheology::DislocationCreep< dim > dislocation_creep
std::vector< double > exponents_stress_limiter
std::vector< double > minimum_viscosity
std::vector< double > composition_viscosities
bool allow_negative_pressures_in_plasticity
std::vector< double > current_friction_angles
Rheology::StrainDependent< dim > strain_rheology
std::vector< double > maximum_viscosity
std::vector< bool > composition_yielding
std::vector< double > yield_stresses
Rheology::DiffusionCreep< dim > diffusion_creep
std::vector< double > current_cohesions
std::unique_ptr< Rheology::PeierlsCreep< dim > > peierls_creep
Rheology::DruckerPragerParameters drucker_prager_parameters
Rheology::Elasticity< dim > elastic_rheology