|
void | evaluate (const MaterialModel::MaterialModelInputs< dim > &in, MaterialModel::MaterialModelOutputs< dim > &out) const override |
|
|
bool | is_compressible () const override |
|
virtual void | create_additional_named_outputs (MaterialModelOutputs &outputs) const |
|
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 | initialize () |
|
virtual void | update () |
|
| 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 |
|
void | remove_nullspace (LinearAlgebra::BlockVector &solution, LinearAlgebra::BlockVector &distributed_stokes_solution) const |
|
double | normalize_pressure (LinearAlgebra::BlockVector &vector) const |
|
void | denormalize_pressure (const double pressure_adjustment, LinearAlgebra::BlockVector &vector) const |
|
template<int dim>
class aspect::MaterialModel::MulticomponentCompressible< dim >
A material model which is intended for use with multiple compositional fields. Each compositional field is meant to be a single rock type, where the value of the field at a point is interpreted to be the mass fraction of that rock type. If the sum of the compositional field mass fractions is less than one, then the remainder of the mass is assumed to be ``background mantle''. If the sum of the compositional field mass fractions is greater than one, then they are renormalized to sum to one and there is no background mantle.
For each material parameter the user supplies a comma delimited list of length N+1, where N is the number of compositional fields. The additional field corresponds to the value for background mantle. They should be ordered ``background, composition1, composition2...''
If a single value is given, then all the compositional fields are given that value. Other lengths of lists are not allowed. The material parameters for each compositional field are derived from the multicomponent compressible equation of state, and are pressure and temperature dependent.
When more than one field is present at a point, they are either averaged self-consistently (for equation of state properties) or arithmetically (for thermal conductivity). For the special case of viscosity, the user may select from a variety of averaging schemes: arithmetic, harmonic, geometric, or by selecting the viscosity of the composition with the greatest volume fraction.
Definition at line 64 of file multicomponent_compressible.h.