LevelSetOscillatingWaterColumn< dim, number > Class Template Reference

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

Class for the analytical advection of a 1D test case with two phase interfaces. More...

#include <multiphase_level_set_advection.hpp>

Inheritance diagram for MeltPoolDG::Multiphase::LevelSetOscillatingWaterColumn< dim, number >:
[legend]
Collaboration diagram for MeltPoolDG::Multiphase::LevelSetOscillatingWaterColumn< dim, number >:
[legend]

Public Member Functions

 LevelSetOscillatingWaterColumn ()
 Constructor.
 
void update_interface_positions (const number &time_step, const std::vector< number > &interface_velocity)
 Function to update the two interface coordinates for the case that two phase interfaces exist.
 
number value (const dealii::Point< dim, number > &p, const unsigned int) const final
 Analytical function for the level-set field for the "oscillating_water_column" case.
 

Private Attributes

std::vector< number > interface_coordinates = {0.100156487, 0.800156487}
 Vector of interface coordinates.
 

Detailed Description

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

Class for the analytical advection of a 1D test case with two phase interfaces.

Note
The initial interface points are hard-coded for the case "oscillating_water_column".

Constructor & Destructor Documentation

◆ LevelSetOscillatingWaterColumn()

template<int dim, typename number >
MeltPoolDG::Multiphase::LevelSetOscillatingWaterColumn< dim, number >::LevelSetOscillatingWaterColumn ( )
inlineexplicit

Constructor.

Member Function Documentation

◆ update_interface_positions()

template<int dim, typename number >
void MeltPoolDG::Multiphase::LevelSetOscillatingWaterColumn< dim, number >::update_interface_positions ( const number &  time_step,
const std::vector< number > &  interface_velocity 
)
inline

Function to update the two interface coordinates for the case that two phase interfaces exist.

The phase interface coordinates are updated according to the current time step size and the provided current interface velocity: dx = dt * v.

Parameters
time_stepCurrent time step size.
interface_velocityVector which contains the two current interface velocities.

◆ value()

template<int dim, typename number >
number MeltPoolDG::Multiphase::LevelSetOscillatingWaterColumn< dim, number >::value ( const dealii::Point< dim, number > &  p,
const unsigned int   
) const
inlinefinal

Analytical function for the level-set field for the "oscillating_water_column" case.

Parameters
pPoint at which the function should be evaluated.

Member Data Documentation

◆ interface_coordinates

template<int dim, typename number >
std::vector<number> MeltPoolDG::Multiphase::LevelSetOscillatingWaterColumn< dim, number >::interface_coordinates = {0.100156487, 0.800156487}
private

Vector of interface coordinates.


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