21 #ifndef _aspect_material_model_rheology_visco_plastic_h 22 #define _aspect_material_model_rheology_visco_plastic_h 39 #include<deal.II/fe/component_mask.h> 43 namespace MaterialModel
58 std::vector<double> get_nth_output(
const unsigned int idx)
const override;
135 const unsigned int i,
136 const std::vector<double> &volume_fractions,
137 const std::vector<double> &phase_function_values = std::vector<double>(),
138 const std::vector<unsigned int> &n_phase_transitions_per_composition =
139 std::vector<unsigned int>())
const;
150 void compute_viscosity_derivatives(
const unsigned int point_index,
151 const std::vector<double> &volume_fractions,
152 const std::vector<double> &composition_viscosities,
155 const std::vector<double> &phase_function_values = std::vector<double>(),
156 const std::vector<unsigned int> &n_phase_transitions_per_composition =
157 std::vector<unsigned int>())
const;
165 ComponentMask get_volumetric_composition_mask()
const;
182 parse_parameters (ParameterHandler &prm,
183 const std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition =
nullptr);
197 void fill_plastic_outputs(
const unsigned int point_index,
198 const std::vector<double> &volume_fractions,
199 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::CompositionalViscosityPrefactors< dim > compositional_viscosity_prefactors
bool use_adiabatic_pressure_in_plasticity
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