21 #ifndef _aspect_material_model_rheology_peierls_creep_h
22 #define _aspect_material_model_rheology_peierls_creep_h
29 namespace MaterialModel
81 const std::vector<double> &phase_function_values = std::vector<double>(),
82 const std::vector<unsigned int> &n_phases_per_composition = std::vector<unsigned int>())
const;
100 const std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition =
nullptr);
113 const unsigned int composition,
114 const std::vector<double> &phase_function_values = std::vector<double>(),
115 const std::vector<unsigned int> &n_phase_transitions_per_composition = std::vector<unsigned int>())
const;
128 const unsigned int composition,
129 const std::vector<double> &phase_function_values = std::vector<double>(),
130 const std::vector<unsigned int> &n_phase_transitions_per_composition = std::vector<unsigned int>())
const;
145 const unsigned int composition,
146 const std::vector<double> &phase_function_values = std::vector<double>(),
147 const std::vector<unsigned int> &n_phase_transitions_per_composition = std::vector<unsigned int>())
const;
153 std::pair<double, double>
163 std::pair<double, double>
174 std::pair<double, double>
185 std::pair<double, double>
198 std::pair<double, double>
std::vector< double > glide_parameters_q
std::vector< double > fitting_parameters
static void declare_parameters(ParameterHandler &prm)
std::pair< double, double > compute_strain_rate_and_derivative(const double stress, const double pressure, const double temperature, const PeierlsCreepParameters creep_parameters) const
unsigned int stress_max_iteration_number
std::pair< double, double > compute_exact_log_strain_rate_and_derivative(const double log_stress, const double pressure, const double temperature, const PeierlsCreepParameters creep_parameters) const
std::vector< double > prefactors
double strain_rate_residual_threshold
double compute_viscosity(const double strain_rate, const double pressure, const double temperature, 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
const PeierlsCreepParameters compute_creep_parameters(const unsigned int composition, const std::vector< double > &phase_function_values=std::vector< double >(), const std::vector< unsigned int > &n_phases_per_composition=std::vector< unsigned int >()) const
std::vector< double > activation_volumes
PeierlsCreepScheme peierls_creep_flow_law
double compute_approximate_viscosity(const double strain_rate, const double pressure, const double temperature, 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
std::vector< double > activation_energies
void parse_parameters(ParameterHandler &prm, const std::unique_ptr< std::vector< unsigned int >> &expected_n_phases_per_composition=nullptr)
std::pair< double, double > compute_exact_strain_rate_and_derivative(const double stress, const double pressure, const double temperature, const PeierlsCreepParameters creep_parameters) const
@ viscosity_approximation
std::pair< double, double > compute_approximate_strain_rate_and_derivative(const double stress, const double pressure, const double temperature, const PeierlsCreepParameters creep_parameters) const
double compute_exact_viscosity(const double strain_rate, const double pressure, const double temperature, 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
std::vector< double > stress_cutoffs
std::pair< double, double > compute_approximate_log_strain_rate_and_derivative(const double log_stress, const double pressure, const double temperature, const PeierlsCreepParameters creep_parameters) const
std::vector< double > peierls_stresses
std::vector< double > glide_parameters_p
std::vector< double > stress_exponents