Public Member Functions | List of all members
aspect::MaterialModel::MeltInterface< dim > Class Template Referenceabstract
Inheritance diagram for aspect::MaterialModel::MeltInterface< dim >:
Inheritance graph

Public Member Functions

virtual double reference_darcy_coefficient () const =0
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
- Public Member Functions inherited from aspect::MaterialModel::Interface< dim >
virtual ~Interface ()
virtual void initialize ()
virtual void update ()
virtual void evaluate (const MaterialModel::MaterialModelInputs< dim > &in, MaterialModel::MaterialModelOutputs< dim > &out) const =0
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::ModelDependenceget_model_dependence () const
virtual bool is_compressible () const =0
virtual double reference_viscosity () const =0
virtual void parse_parameters (ParameterHandler &prm)

Additional Inherited Members

- Public Types inherited from aspect::MaterialModel::Interface< dim >
using MaterialModelInputs = MaterialModel::MaterialModelInputs< dim >
using MaterialModelOutputs = MaterialModel::MaterialModelOutputs< dim >
- Static Public Member Functions inherited from aspect::MaterialModel::Interface< dim >
static void declare_parameters (ParameterHandler &prm)
- Protected Attributes inherited from aspect::MaterialModel::Interface< dim >
NonlinearDependence::ModelDependence model_dependence

Detailed Description

template<int dim>
class aspect::MaterialModel::MeltInterface< dim >

Base class for material models to be used with melt transport enabled.

Definition at line 160 of file melt.h.

Member Function Documentation

§ reference_darcy_coefficient()

template<int dim>
virtual double aspect::MaterialModel::MeltInterface< dim >::reference_darcy_coefficient ( ) const
pure virtual

Reference value for the Darcy coefficient, which is defined as permeability divided by fluid viscosity. Units: m^2/Pa/s.

Implemented in aspect::MaterialModel::MeltSimple< dim >, and aspect::MaterialModel::MeltGlobal< dim >.

§ p_c_scale()

template<int dim>
double aspect::MaterialModel::MeltInterface< dim >::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

Returns the cell-averaged and cut-off value of p_c_scale, the factor we use to rescale the compaction pressure and to decide if a cell is a melt cell. The last input argument consider_is_melt_cell determines if this computation takes into account if a cell is a "melt cell". Melt cells are cells where we solve the melt transport equations, as indicated by the entries stored in the is_melt_cell vector of the melt handler. In case consider_is_melt_cell is set to true, this function returns a value of zero if the cell is not a melt cell. If consider_is_melt_cell is set to false the computation disregards the information about which cells are melt cells, and computes p_c_scale from the cell-averaged Darcy coefficient for all cells. This is needed for example when we want to update the is_melt_cell vector and need to find out which cells should be marked as melt cells.

The documentation for this class was generated from the following file: