22 #ifndef _aspect_melt_h 23 #define _aspect_melt_h 35 namespace MaterialModel
71 const FEValuesBase<dim> &fe_values,
82 compaction_viscosities.resize(n_points);
83 fluid_viscosities.resize(n_points);
84 permeabilities.resize(n_points);
85 fluid_densities.resize(n_points);
86 fluid_density_gradients.resize(n_points, Tensor<1,dim>());
125 const FullMatrix<double> &projection_matrix,
126 const FullMatrix<double> &expansion_matrix)
override;
146 std::vector<double> &melt_fractions)
const = 0;
166 virtual double reference_darcy_coefficient ()
const = 0;
188 const bool consider_is_melt_cell)
const;
326 void parse_parameters (ParameterHandler &prm);
415 void initialize_simulator (
const Simulator<dim> &simulator_object)
override;
444 void apply_free_surface_stabilization_with_melt (
const double free_surface_theta,
445 const typename DoFHandler<dim>::active_cell_iterator &cell,
455 void add_current_constraints(AffineConstraints<double> &constraints);
462 bool is_melt_cell(
const typename DoFHandler<dim>::active_cell_iterator &cell)
const;
471 double limited_darcy_coefficient(
const double K_D,
472 const bool is_melt_cell)
const;
478 get_boundary_fluid_pressure ()
const;
bool average_melt_velocity
::TrilinosWrappers::MPI::BlockVector BlockVector
std::vector< bool > is_melt_cell_vector
Melt::Parameters< dim > melt_parameters
void average(const AveragingOperation operation, const typename DoFHandler< dim >::active_cell_iterator &cell, const Quadrature< dim > &quadrature_formula, const Mapping< dim > &mapping, MaterialModelOutputs< dim > &values_out)
std::vector< Tensor< 1, dim > > fluid_density_gradients
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix
void declare_parameters(ParameterHandler &prm)
bool heat_advection_by_melt
std::vector< double > fluid_viscosities
std::vector< double > compaction_viscosities
std::vector< double > permeabilities
double melt_scaling_factor_threshold
const std::unique_ptr< aspect::BoundaryFluidPressure::Interface< dim > > boundary_fluid_pressure
std::vector< double > fluid_densities
bool use_discontinuous_p_c
MeltOutputs(const unsigned int n_points, const unsigned int)
AffineConstraints< double > current_constraints