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

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 ()=default
 
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 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 215 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::MeltBoukare< dim >, aspect::MaterialModel::MeltSimple< dim >, aspect::MaterialModel::MeltGlobal< dim >, and aspect::MaterialModel::ReactiveFluidTransport< 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: