22 #ifndef _aspect_material_model_grain_size_h
23 #define _aspect_material_model_grain_size_h
38 namespace MaterialModel
161 std::array<std::pair<double, unsigned int>,2>
290 const double adiabatic_temperature,
291 const double adiabatic_pressure,
292 const double grain_size,
293 const double second_strain_rate_invariant,
294 const unsigned int phase_index)
const;
308 const double adiabatic_temperature,
309 const double adiabatic_pressure,
311 const unsigned int phase_index,
313 const double viscosity_guess = 0)
const;
430 std::vector<std::unique_ptr<MaterialModel::MaterialUtilities::Lookup::MaterialLookup>>
material_lookup;
DislocationViscosityOutputs(const unsigned int n_points)
std::vector< double > get_nth_output(const unsigned int idx) const override
std::vector< double > dislocation_viscosities
std::vector< double > diffusion_viscosities
double reference_compressibility
double minimum_grain_size
std::vector< double > dislocation_creep_exponent
double specific_heat(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const
std::vector< double > dislocation_activation_energy
static void declare_parameters(ParameterHandler &prm)
bool enable_drucker_prager_rheology
double density(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const
formats material_file_format
std::vector< double > diffusion_activation_energy
bool use_table_properties
unsigned int dislocation_viscosity_iteration_number
unsigned int get_phase_index(const MaterialUtilities::PhaseFunctionInputs< dim > &in) const
double reference_specific_heat
double max_temperature_dependence_of_eta
std::vector< std::string > material_file_names
void initialize() override
std::vector< double > dislocation_creep_prefactor
unsigned int max_latent_heat_substeps
double seismic_Vs(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const
double seismic_Vp(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const
std::vector< double > diffusion_creep_prefactor
std::vector< double > diffusion_creep_exponent
std::vector< double > diffusion_creep_grain_size_exponent
std::vector< std::unique_ptr< MaterialModel::MaterialUtilities::Lookup::MaterialLookup > > material_lookup
double compressibility(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const
bool use_bilinear_interpolation
bool use_adiabatic_pressure_for_yielding
Rheology::DruckerPragerParameters drucker_prager_parameters
double dislocation_viscosity(const double temperature, const double adiabatic_temperature, const double adiabatic_pressure, const SymmetricTensor< 2, dim > &strain_rate, const unsigned int phase_index, const double diffusion_viscosity, const double viscosity_guess=0) const
std::shared_ptr< MaterialUtilities::PhaseFunction< dim > > phase_function
std::unique_ptr< FEPointEvaluation< 1, dim > > pressure_evaluator
void create_additional_named_outputs(MaterialModel::MaterialModelOutputs< dim > &out) const override
double diffusion_viscosity(const double temperature, const double adiabatic_temperature, const double adiabatic_pressure, const double grain_size, const double second_strain_rate_invariant, const unsigned int phase_index) const
double min_thermal_expansivity
bool is_compressible() const override
double enthalpy(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const
std::vector< double > diffusion_activation_volume
double max_thermal_expansivity
std::vector< unsigned int > n_phase_transitions
void parse_parameters(ParameterHandler &prm) override
std::unique_ptr< ReactionModel::GrainSizeEvolution< dim > > grain_size_evolution
unsigned int n_material_data
double dislocation_viscosity_iteration_threshold
std::vector< double > dislocation_activation_volume
void evaluate(const typename Interface< dim >::MaterialModelInputs &in, typename Interface< dim >::MaterialModelOutputs &out) const override
std::vector< std::string > derivatives_file_names
std::array< std::pair< double, unsigned int >, 2 > enthalpy_derivative(const typename Interface< dim >::MaterialModelInputs &in) const
std::string datadirectory
Rheology::DruckerPrager< dim > drucker_prager_plasticity
std::unique_ptr< FEPointEvaluation< 1, dim > > temperature_evaluator
double thermal_expansion_coefficient(const double temperature, const double pressure, const std::vector< double > &compositional_fields, const Point< dim > &position) const