16 #ifndef _aspect_melt_h 17 #define _aspect_melt_h 27 namespace MaterialModel
80 const unsigned int n_comp);
156 std::vector<double> &melt_fractions,
166 template <
typename ModelType>
168 bool is_melt_fraction_model (
const ModelType &model_object);
175 template <
typename ModelType>
178 as_melt_fraction_model (
const ModelType &model_object);
184 template <
typename ModelType>
195 template <
typename ModelType>
200 Assert (is_melt_fraction_model(model_object) ==
true,
201 ExcMessage (
"This function can only be called for model objects " 202 "whose types are derived from MeltFractionModel."));
220 virtual double reference_darcy_coefficient ()
const = 0;
242 const bool consider_is_melt_cell)
const;
481 void initialize_simulator (
const Simulator<dim> &simulator_object)
override;
510 void apply_free_surface_stabilization_with_melt (
const double free_surface_theta,
537 double limited_darcy_coefficient(
const double K_D,
538 const bool is_melt_cell)
const;
544 get_boundary_fluid_pressure ()
const;
bool average_melt_velocity
std::vector< index_type > data
std::vector< bool > is_melt_cell_vector
Melt::Parameters< dim > melt_parameters
void declare_parameters(ParameterHandler &prm)
static const MeltFractionModel< dim > & as_melt_fraction_model(const ModelType &model_object)
std::vector< Tensor< 1, dim > > fluid_density_gradients
bool heat_advection_by_melt
#define Assert(cond, exc)
std::vector< double > fluid_viscosities
std::vector< double > compaction_viscosities
std::vector< double > permeabilities
double melt_scaling_factor_threshold
static ::ExceptionBase & ExcMessage(std::string arg1)
const std::unique_ptr< aspect::BoundaryFluidPressure::Interface< dim > > boundary_fluid_pressure
static bool is_melt_fraction_model(const ModelType &model_object)
void average(const AveragingOperation operation, const typename DoFHandler< dim >::active_cell_iterator &cell, const Quadrature< dim > &quadrature_formula, const Mapping< dim > &mapping, const MaterialProperties::Property &requested_properties, MaterialModelOutputs< dim > &values_out)
std::vector< double > fluid_densities
bool use_discontinuous_p_c
AffineConstraints< double > current_constraints