include/meltpooldg/compressible_flow/multiphase_interface_kernels.hpp File Reference

Developer Documentation: include/meltpooldg/compressible_flow/multiphase_interface_kernels.hpp File Reference
Developer Documentation
multiphase_interface_kernels.hpp File Reference
#include <deal.II/base/tensor.h>
#include <deal.II/base/vectorization.h>
#include <meltpooldg/compressible_flow/data_types.hpp>
#include <meltpooldg/compressible_flow/kernels.hpp>
#include <meltpooldg/compressible_flow/utils.hpp>
#include <meltpooldg/core/material.hpp>
#include <meltpooldg/phase_change/evaporation_model_knight.hpp>
#include <meltpooldg/utilities/utility_functions.hpp>
#include <tuple>
#include <utility>
Include dependency graph for multiphase_interface_kernels.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MeltPoolDG
 Interface for a general preconditioner.
 
namespace  MeltPoolDG::Multiphase
 A collection of functions for the computation of the interface terms for compressible two-phase flows.
 

Functions

template<int dim, typename number , typename ConservedVariablesType , typename ConservedVariablesGradType >
DEAL_II_ALWAYS_INLINE std::pair< ConservedVariablesType, ConservedVariablesType > MeltPoolDG::Multiphase::calculate_convective_and_viscous_interface_flux_penalty (const ConservedVariablesType &u_liquid, const ConservedVariablesType &u_gas, const ConservedVariablesGradType &grad_u_liquid, const ConservedVariablesGradType &grad_u_gas, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, const number &m_dot_evap, const number &laser_heat_source)
 "penalty" method ///
 
template<int dim, typename number , typename ConservedVariablesType , typename ConservedVariablesGradType , CompressibleFlow::IsFluxKernel< ConservedVariablesType, ConservedVariablesGradType > ConvectiveKernel>
DEAL_II_ALWAYS_INLINE std::tuple< ConservedVariablesGradType, ConservedVariablesGradType, dealii::VectorizedArray< number > > MeltPoolDG::Multiphase::calculate_convective_interface_flux_HLLP0 (const ConservedVariablesType &u_liquid, const ConservedVariablesType &u_gas, const dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > &normal, const ConvectiveKernel &convective_kernel_liquid, const ConvectiveKernel &convective_kernel_gas, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, const number &m_dot_evap)
 HLLP0 Riemann solver ///.
 
template<int dim, typename number , typename ConservedVariablesType >
DEAL_II_ALWAYS_INLINE ConservedVariablesType MeltPoolDG::Multiphase::calculate_Dirichlet_jump_in_conservative_variables (const ConservedVariablesType &u_liquid_cons, const ConservedVariablesType &u_gas_cons, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, const number &m_dot_evap, const number &delta_T)
 SIPG functions for method "HLLP and SIPG" ///.
 
template<int dim, typename number , typename ConservedVariablesType , typename ConservedVariablesGradType , CompressibleFlow::IsFluxKernel< ConservedVariablesType, ConservedVariablesGradType > DiffusiveKernel>
DEAL_II_ALWAYS_INLINE std::pair< ConservedVariablesType, ConservedVariablesType > MeltPoolDG::Multiphase::calculate_viscous_interface_flux (const ConservedVariablesType &u_liquid, const ConservedVariablesType &u_gas, const ConservedVariablesGradType &grad_u_liquid, const ConservedVariablesGradType &grad_u_gas, const dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > &normal, const number &visc_ave_weight_phase_liquid, const number &visc_ave_weight_phase_gas, const number &tau, const DiffusiveKernel &diffusive_kernel_liquid, const DiffusiveKernel &diffusive_kernel_gas, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, const number &cell_size, const number &m_dot_evap, const number &delta_T, const number &laser_heat_source)
 Calculate the viscous interface flux for viscous phase coupling with the SIPG method.
 
template<int dim, typename number , typename ConservedVariablesType , typename ConservedVariablesGradType , CompressibleFlow::IsFluxKernel< ConservedVariablesType, ConservedVariablesGradType > DiffusiveKernel>
DEAL_II_ALWAYS_INLINE std::pair< ConservedVariablesGradType, ConservedVariablesGradType > MeltPoolDG::Multiphase::calculate_viscous_interface_flux_gradient (const ConservedVariablesType &u_liquid, const ConservedVariablesType &u_gas, const dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > &normal, const number &visc_ave_weight_phase_liquid, const number &visc_ave_weight_phase_gas, const DiffusiveKernel &diffusive_kernel_liquid, const DiffusiveKernel &diffusive_kernel_gas, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, const number &m_dot_evap, const number &delta_T)
 Calculate gradient-tested viscous interface flux for viscous phase coupling with the SIPG method.
 
template<int dim, typename number , typename ConservedVariablesType , typename ConservedVariablesGradType , CompressibleFlow::IsFluxKernel< ConservedVariablesType, ConservedVariablesGradType > DiffusiveKernel>
DEAL_II_ALWAYS_INLINE std::pair< ConservedVariablesType, ConservedVariablesType > MeltPoolDG::Multiphase::calculate_viscous_interface_flux_method_3 (const ConservedVariablesType &u_liquid, const ConservedVariablesType &u_gas, const ConservedVariablesGradType &grad_u_liquid, const ConservedVariablesGradType &grad_u_gas, const dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > &normal, const number &visc_ave_weight_phase_liquid, const number &visc_ave_weight_phase_gas, const DiffusiveKernel &diffusive_kernel_liquid, const DiffusiveKernel &diffusive_kernel_gas, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, const number &cell_size, const number &m_dot_evap, const number &delta_T, const number &laser_heat_source)
 viscous terms for the method "HLLP0 and penalty" ///
 
template<typename number >
DEAL_II_ALWAYS_INLINE number MeltPoolDG::Multiphase::update_laser_heat_source (const CompressibleFlowPhaseCouplingData< number > &phase_coupling_data, const number &time)
 Compute the current value of the laser heat source.
 
template<int dim, typename number , typename ConservedVariablesType >
DEAL_II_ALWAYS_INLINE std::tuple< number, number > MeltPoolDG::Multiphase::update_evaporative_mass_flux_and_temperature_jump (const ConservedVariablesType &u_liquid, const ConservedVariablesType &u_gas, const dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > &normal, const CompressibleFlow::MultiphaseOperationScratchData< dim, number > &multiphase_scratch_data, Evaporation::EvaporationModelKnight< number > *evaporation_model_knight=nullptr)
 Compute the current evaporative mass flux and temperature jump across the interface.