21 #ifndef _aspect_material_model_rheology_drucker_prager_h
22 #define _aspect_material_model_rheology_drucker_prager_h
31 namespace MaterialModel
96 const std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition =
nullptr);
107 const std::vector<double> &phase_function_values = std::vector<double>(),
108 const std::vector<unsigned int> &n_phase_transitions_per_composition = std::vector<unsigned int>())
const;
119 const double angle_internal_friction,
121 const double max_yield_stress)
const;
149 const double angle_internal_friction,
151 const double effective_strain_rate,
152 const double max_yield_stress,
153 const double non_yielding_viscosity = std::numeric_limits<double>::infinity())
const;
163 const double effective_strain_rate,
165 const double non_yielding_viscosity = std::numeric_limits<double>::infinity())
const;
171 std::pair<double, double>
181 const double effective_strain_rate)
const;
192 std::pair<double,double>
194 const double non_yielding_viscosity,
195 const double effective_strain_rate)
const;
const DruckerPragerParameters compute_drucker_prager_parameters(const unsigned int composition, const std::vector< double > &phase_function_values=std::vector< double >(), const std::vector< unsigned int > &n_phase_transitions_per_composition=std::vector< unsigned int >()) const
static void declare_parameters(ParameterHandler &prm)
DEAL_II_DEPRECATED double compute_yield_stress(const double cohesion, const double angle_internal_friction, const double pressure, const double max_yield_stress) const
double compute_viscosity(const double pressure, const double effective_strain_rate, const DruckerPragerParameters &p, const double non_yielding_viscosity=std::numeric_limits< double >::infinity()) const
std::vector< double > angles_internal_friction
std::vector< double > cohesions
void parse_parameters(ParameterHandler &prm, const std::unique_ptr< std::vector< unsigned int >> &expected_n_phases_per_composition=nullptr)
std::pair< double, double > compute_dilation_terms_for_stokes_system(const DruckerPragerParameters &drucker_prager_parameters, const double non_yielding_viscosity, const double effective_strain_rate) const
std::pair< double, double > compute_strain_rate_and_derivative(const double stress, const double pressure, const DruckerPragerParameters &p) const
std::vector< double > angles_dilation
double compute_derivative(const double angle_internal_friction, const double effective_strain_rate) const
std::vector< double > yield_stress_prefactors
double compute_yield_stress(const double pressure, const DruckerPragerParameters &p) const
DEAL_II_DEPRECATED double compute_viscosity(const double cohesion, const double angle_internal_friction, const double pressure, const double effective_strain_rate, const double max_yield_stress, const double non_yielding_viscosity=std::numeric_limits< double >::infinity()) const
std::vector< double > max_yield_stresses
#define DEAL_II_DEPRECATED
DruckerPragerParameters()
double angle_internal_friction
double yield_stress_prefactor