LevelSetAdvection< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::Multiphase::LevelSetAdvection< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::Multiphase::LevelSetAdvection< dim, number > Class Template Reference

Class for the analytical advection of a 1D test case. More...

#include <multiphase_level_set_advection.hpp>

Public Member Functions

 LevelSetAdvection ()
 Constructor.
 
void move_level_set (auto &level_set, const number &time_step, const std::string &case_name, const auto &scratch_data, const int level_set_dof_idx)
 Function for analytical advection of a level-set field according to computed interface velocities for one-dimensional simulations.
 
void set_interface_velocity (const number &interface_velocity_in)
 Setter function for the computed interface velocity.
 
void clear_interface_velocity ()
 Clear current interface velocity field.
 

Static Public Attributes

static LevelSetOscillatingWaterColumn< dim, number > level_set_oscillating_water_column
 Object for the oscillating water column test case.
 

Static Private Attributes

static std::vector< number > interface_velocity
 

Detailed Description

template<int dim, typename number>
class MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >

Class for the analytical advection of a 1D test case.

Note
This class exists only temporarily and should be removed.

Constructor & Destructor Documentation

◆ LevelSetAdvection()

template<int dim, typename number >
MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >::LevelSetAdvection ( )
default

Constructor.

Member Function Documentation

◆ clear_interface_velocity()

template<int dim, typename number >
void MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >::clear_interface_velocity ( )
inline

Clear current interface velocity field.

◆ move_level_set()

template<int dim, typename number >
void MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >::move_level_set ( auto &  level_set,
const number &  time_step,
const std::string &  case_name,
const auto &  scratch_data,
const int  level_set_dof_idx 
)
inline

Function for analytical advection of a level-set field according to computed interface velocities for one-dimensional simulations.

Parameters
level_setDoF vector for the current level-set field.
time_stepCurrent time step size.
case_nameName of the considered simulation case.
scratch_dataScratch data object holding all relevant simulation data.
level_set_dof_idxDoF-index for the level-set field.
Note
We consider two different strategies, depending on the simulation case. While for single-interface simulations, the advection is straightforward, for two-interface simulations, we use a separate function and interpolate a new level-set DoF vector at every advection step.

◆ set_interface_velocity()

template<int dim, typename number >
void MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >::set_interface_velocity ( const number &  interface_velocity_in)
inline

Setter function for the computed interface velocity.

Parameters
interface_velocity_inComputed interface velocity.

Member Data Documentation

◆ interface_velocity

template<int dim, typename number >
std::vector< number > MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >::interface_velocity
staticprivate

Vector for the phase interface velocities. Depending on the number of interfaces, the size of the vector is variable.

◆ level_set_oscillating_water_column

template<int dim, typename number >
LevelSetOscillatingWaterColumn< dim, number > MeltPoolDG::Multiphase::LevelSetAdvection< dim, number >::level_set_oscillating_water_column
static

Object for the oscillating water column test case.


The documentation for this class was generated from the following file: