|
void | initialize () override |
|
bool | is_compressible () const override |
|
void | evaluate (const typename Interface< dim >::MaterialModelInputs &in, typename Interface< dim >::MaterialModelOutputs &out) const override |
|
void | melt_fractions (const MaterialModel::MaterialModelInputs< dim > &in, std::vector< double > &melt_fractions) const override |
|
void | create_additional_named_outputs (MaterialModel::MaterialModelOutputs< dim > &out) const override |
|
|
double | reference_darcy_coefficient () const override |
|
double | p_c_scale (const MaterialModel::MaterialModelInputs< dim > &inputs, const MaterialModel::MaterialModelOutputs< dim > &outputs, const MeltHandler< dim > &melt_handler, const bool consider_is_melt_cell) const |
|
virtual void | evaluate (const MaterialModel::MaterialModelInputs< dim > &in, MaterialModel::MaterialModelOutputs< dim > &out) const =0 |
|
virtual void | fill_additional_material_model_inputs (MaterialModel::MaterialModelInputs< dim > &input, const LinearAlgebra::BlockVector &solution, const FEValuesBase< dim > &fe_values, const Introspection< dim > &introspection) const |
|
const NonlinearDependence::ModelDependence & | get_model_dependence () const |
|
virtual | ~InterfaceBase ()=default |
|
virtual void | update () |
|
virtual | ~MeltFractionModel ()=default |
|
| SimulatorAccess () |
|
| SimulatorAccess (const Simulator< dim > &simulator_object) |
|
virtual | ~SimulatorAccess ()=default |
|
virtual void | initialize_simulator (const Simulator< dim > &simulator_object) |
|
const Introspection< dim > & | introspection () const |
|
const Simulator< dim > & | get_simulator () const |
|
const Parameters< dim > & | get_parameters () const |
|
SimulatorSignals< dim > & | get_signals () const |
|
MPI_Comm | get_mpi_communicator () const |
|
TimerOutput & | get_computing_timer () const |
|
const ConditionalOStream & | get_pcout () const |
|
double | get_time () const |
|
double | get_timestep () const |
|
double | get_old_timestep () const |
|
unsigned int | get_timestep_number () const |
|
const TimeStepping::Manager< dim > & | get_timestepping_manager () const |
|
unsigned int | get_nonlinear_iteration () const |
|
const parallel::distributed::Triangulation< dim > & | get_triangulation () const |
|
double | get_volume () const |
|
const Mapping< dim > & | get_mapping () const |
|
std::string | get_output_directory () const |
|
bool | include_adiabatic_heating () const |
|
bool | include_latent_heat () const |
|
bool | include_melt_transport () const |
|
int | get_stokes_velocity_degree () const |
|
double | get_adiabatic_surface_temperature () const |
|
double | get_surface_pressure () const |
|
bool | convert_output_to_years () const |
|
unsigned int | get_pre_refinement_step () const |
|
unsigned int | n_compositional_fields () const |
|
double | get_end_time () const |
|
void | get_refinement_criteria (Vector< float > &estimated_error_per_cell) const |
|
void | get_artificial_viscosity (Vector< float > &viscosity_per_cell, const bool skip_interior_cells=false) const |
|
void | get_artificial_viscosity_composition (Vector< float > &viscosity_per_cell, const unsigned int compositional_variable) const |
|
const LinearAlgebra::BlockVector & | get_current_linearization_point () const |
|
const LinearAlgebra::BlockVector & | get_solution () const |
|
const LinearAlgebra::BlockVector & | get_old_solution () const |
|
const LinearAlgebra::BlockVector & | get_old_old_solution () const |
|
const LinearAlgebra::BlockVector & | get_reaction_vector () const |
|
const LinearAlgebra::BlockVector & | get_mesh_velocity () const |
|
const DoFHandler< dim > & | get_dof_handler () const |
|
const FiniteElement< dim > & | get_fe () const |
|
const LinearAlgebra::BlockSparseMatrix & | get_system_matrix () const |
|
const LinearAlgebra::BlockSparseMatrix & | get_system_preconditioner_matrix () const |
|
const MaterialModel::Interface< dim > & | get_material_model () const |
|
const GravityModel::Interface< dim > & | get_gravity_model () const |
|
const InitialTopographyModel::Interface< dim > & | get_initial_topography_model () const |
|
const GeometryModel::Interface< dim > & | get_geometry_model () const |
|
const AdiabaticConditions::Interface< dim > & | get_adiabatic_conditions () const |
|
bool | has_boundary_temperature () const |
|
const BoundaryTemperature::Manager< dim > & | get_boundary_temperature_manager () const |
|
const BoundaryHeatFlux::Interface< dim > & | get_boundary_heat_flux () const |
|
bool | has_boundary_composition () const |
|
const BoundaryComposition::Manager< dim > & | get_boundary_composition_manager () const |
|
const BoundaryTraction::Manager< dim > & | get_boundary_traction_manager () const |
|
std::shared_ptr< const InitialTemperature::Manager< dim > > | get_initial_temperature_manager_pointer () const |
|
const InitialTemperature::Manager< dim > & | get_initial_temperature_manager () const |
|
std::shared_ptr< const InitialComposition::Manager< dim > > | get_initial_composition_manager_pointer () const |
|
const InitialComposition::Manager< dim > & | get_initial_composition_manager () const |
|
const std::set< types::boundary_id > & | get_fixed_temperature_boundary_indicators () const |
|
const std::set< types::boundary_id > & | get_fixed_heat_flux_boundary_indicators () const |
|
const std::set< types::boundary_id > & | get_fixed_composition_boundary_indicators () const |
|
const std::set< types::boundary_id > & | get_mesh_deformation_boundary_indicators () const |
|
const BoundaryVelocity::Manager< dim > & | get_boundary_velocity_manager () const |
|
const HeatingModel::Manager< dim > & | get_heating_model_manager () const |
|
const MeshRefinement::Manager< dim > & | get_mesh_refinement_manager () const |
|
const MeltHandler< dim > & | get_melt_handler () const |
|
const VolumeOfFluidHandler< dim > & | get_volume_of_fluid_handler () const |
|
const NewtonHandler< dim > & | get_newton_handler () const |
|
const MeshDeformation::MeshDeformationHandler< dim > & | get_mesh_deformation_handler () const |
|
const LateralAveraging< dim > & | get_lateral_averaging () const |
|
const AffineConstraints< double > & | get_current_constraints () const |
|
bool | simulator_is_past_initialization () const |
|
double | get_pressure_scaling () const |
|
bool | pressure_rhs_needs_compatibility_modification () const |
|
bool | model_has_prescribed_stokes_solution () const |
|
TableHandler & | get_statistics_object () const |
|
const Postprocess::Manager< dim > & | get_postprocess_manager () const |
|
unsigned int | n_particle_managers () const |
|
const Particle::Manager< dim > & | get_particle_manager (const unsigned int particle_manager_index) const |
|
Particle::Manager< dim > & | get_particle_manager (const unsigned int particle_manager_index) |
|
bool | is_stokes_matrix_free () |
|
const StokesMatrixFreeHandler< dim > & | get_stokes_matrix_free () const |
|
RotationProperties< dim > | compute_net_angular_momentum (const bool use_constant_density, const LinearAlgebra::BlockVector &solution, const bool limit_to_top_faces=false) const |
|
|
virtual void | fill_endmember_properties (const typename Interface< dim >::MaterialModelInputs &in, const unsigned int q, EndmemberProperties &properties) const |
|
virtual double | endmember_thermal_energy (const double temperature, const unsigned int endmember_index) const |
|
virtual double | endmember_molar_heat_capacity (const double temperature, const unsigned int endmember_index) const |
|
virtual double | endmember_thermal_pressure (const double temperature, const unsigned int endmember_index) const |
|
virtual double | endmember_enthalpy_thermal_addition (const double temperature, const unsigned int endmember_index) const |
|
virtual double | endmember_entropy_thermal_addition (const double temperature, const unsigned int endmember_index) const |
|
virtual void | convert_composition_to_fraction_of_endmembers (const double temperature, const double molar_Fe_in_solid, const double molar_Fe_in_melt, const std::vector< double > &endmember_gibbs_energies, std::vector< double > &endmember_mole_fractions_per_phase, double &molar_bridgmanite_in_solid) const |
|
virtual double | compute_melt_molar_fraction (const double porosity, const double bridgmanite_molar_fraction_in_solid, EndmemberProperties &properties, const std::vector< double > &endmember_mole_fractions_per_phase) const |
|
virtual double | assert_update_is_within_0_and_1 (const double value, const double change_of_value) const |
|
virtual double | melt_fraction (const double temperature, const double pressure, const double bulk_composition, double &molar_volatiles_in_melt, double &solid_composition, double &melt_composition) const |
|
template<int dim>
class aspect::MaterialModel::MeltBoukare< dim >
A material model that implements a simplified version of the melting model of Boukare et al. (https://doi.org/10.1002/2015JB011929) for the lowermost mantle. The model parameterizes the composition (which includes the components MgO, FeO and SiO2) as a mixture between two endmembers (one iron-bearing and one magnesium-bearing). The equation of state considers three phases: bridgmanite, ferropericlase, and melt (each with their individual compositions). More details can be found in Dannberg, J., Myhill, R., Gassmöller, R., & Cottaar, S. (2021). The morphology, evolution and seismic visibility of partial melt at the core–mantle boundary: implications for ULVZs. Geophysical Journal International, 227(2), 1028-1059.
Definition at line 68 of file melt_boukare.h.