21 #ifndef _aspect_volume_of_fluid_handler_h 22 #define _aspect_volume_of_fluid_handler_h 29 #include <boost/serialization/map.hpp> 42 class VolumeOfFluidHandler :
public SimulatorAccess<dim>
48 VolumeOfFluidHandler(Simulator<dim> &simulator, ParameterHandler &prm);
54 void edit_finite_element_variables (std::vector<VariableDeclaration<dim>> &vars);
65 void parse_parameters (ParameterHandler &prm);
70 unsigned int get_n_fields()
const;
75 const std::string name_for_field_index(
unsigned int i)
const;
81 const VolumeOfFluidField<dim> &field_struct_for_field_index(
unsigned int i)
const;
86 double get_volume_fraction_threshold()
const;
91 unsigned int field_index_for_name(
const std::string &fieldname)
const;
102 void set_initial_volume_fractions ();
107 void initialize_from_composition_field (
const VolumeOfFluidField<dim> &field);
112 void initialize_from_level_set (
const VolumeOfFluidField<dim> &field);
117 void update_volume_of_fluid_normals (
const VolumeOfFluidField<dim> &field,
125 void update_volume_of_fluid_composition (
const typename Simulator<dim>::AdvectionField &composition_field,
126 const VolumeOfFluidField<dim> &volume_of_fluid_field,
132 void do_volume_of_fluid_update (
const typename Simulator<dim>::AdvectionField &advection_field);
142 void assemble_volume_of_fluid_system (
const VolumeOfFluidField<dim> &field,
143 const unsigned int calculation_dim,
144 const bool update_from_old_solution);
150 void solve_volume_of_fluid_system (
const VolumeOfFluidField<dim> &field);
179 std::vector<VolumeOfFluidField<dim>>
data;
190 static constexpr
double volume_of_fluid_reconstruct_epsilon = 1e-13;
std::vector< std::string > volume_of_fluid_field_names
::TrilinosWrappers::MPI::BlockVector BlockVector
std::vector< VolumeOfFluidField< dim > > data
Assemblers::VolumeOfFluidAssembler< dim > assembler
std::vector< VolumeOfFluid::VolumeOfFluidInputType::Kind > initialization_data_type
void declare_parameters(ParameterHandler &prm)
double volume_of_fluid_solver_tolerance
unsigned int n_volume_of_fluid_fields
std::map< unsigned int, unsigned int > volume_of_fluid_composition_map_index
double volume_fraction_threshold
unsigned int n_init_samples