ASPECT
|
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 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::ModelDependence & | get_model_dependence () const |
virtual bool | is_compressible () const =0 |
Public Member Functions inherited from aspect::Plugins::InterfaceBase | |
virtual | ~InterfaceBase ()=default |
virtual void | initialize () |
virtual void | update () |
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::Plugins::InterfaceBase | |
static void | declare_parameters (ParameterHandler &prm) |
Protected Attributes inherited from aspect::MaterialModel::Interface< dim > | |
NonlinearDependence::ModelDependence | model_dependence |
Base class for material models to be used with melt transport enabled.
|
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 >.
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.