RecoilPressureOperation< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number > Class Template Reference

#include <recoil_pressure_operation.hpp>

Collaboration diagram for MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >:
[legend]

Public Member Functions

 RecoilPressureOperation (const ScratchData< dim, dim, number > &scratch_data_in, const RecoilPressureData< number > &recoil, const MaterialData< number > &material, const unsigned int flow_vel_dof_idx_in, const unsigned int flow_vel_quad_idx_in, const unsigned int flow_pressure_dof_idx_in, const unsigned int ls_dof_idx_in, const unsigned int heat_dof_idx_in)
 
void compute_recoil_pressure_force (VectorType &force_rhs, const VectorType &level_set_as_heaviside, const VectorType &temperature, const VectorType &evaporative_mass_flux, const unsigned int evapor_dof_idx, bool zero_out=true) const
 

Private Types

using VectorType = dealii::LinearAlgebra::distributed::Vector< number >
 
using BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number >
 

Private Attributes

const ScratchData< dim, dim, number > & scratch_data
 
const unsigned int flow_vel_dof_idx
 
const unsigned int flow_vel_quad_idx
 
const unsigned int flow_pressure_dof_idx
 
const unsigned int ls_dof_idx
 
const unsigned int heat_dof_idx
 
const bool do_level_set_pressure_gradient_interpolation
 
dealii::FullMatrix< number > ls_to_pressure_grad_interpolation_matrix
 
const RecoilPressureModelType model_type
 
std::unique_ptr< const RecoilPressureModelBase< number > > recoil_pressure_model
 
std::unique_ptr< const LevelSet::DeltaApproximationBase< number > > delta_phase_weighted
 
const number dummy_temperature
 

Detailed Description

template<int dim, typename number>
class MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >

The force contribution of the recoil pressure due to evaporation is computed. The model of S.I. Anisimov and V.A. Khokhlov (1995) is considered. The consideration of any other model is however possible. First, the temperature is updated and second, the recoil pressure is computed.

Member Typedef Documentation

◆ BlockVectorType

template<int dim, typename number >
using MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<number>
private

◆ VectorType

template<int dim, typename number >
using MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::VectorType = dealii::LinearAlgebra::distributed::Vector<number>
private

Constructor & Destructor Documentation

◆ RecoilPressureOperation()

template<int dim, typename number >
MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::RecoilPressureOperation ( const ScratchData< dim, dim, number > &  scratch_data_in,
const RecoilPressureData< number > &  recoil,
const MaterialData< number > &  material,
const unsigned int  flow_vel_dof_idx_in,
const unsigned int  flow_vel_quad_idx_in,
const unsigned int  flow_pressure_dof_idx_in,
const unsigned int  ls_dof_idx_in,
const unsigned int  heat_dof_idx_in 
)

Member Function Documentation

◆ compute_recoil_pressure_force()

template<int dim, typename number >
void MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::compute_recoil_pressure_force ( VectorType force_rhs,
const VectorType level_set_as_heaviside,
const VectorType temperature,
const VectorType evaporative_mass_flux,
const unsigned int  evapor_dof_idx,
bool  zero_out = true 
) const

Compute the contribution of the recoil pressure to the force vector of the Navier-Stokes equations from the given temperature field as a volume force by considering a smooth delta function computed from the level set.

Member Data Documentation

◆ delta_phase_weighted

template<int dim, typename number >
std::unique_ptr<const LevelSet::DeltaApproximationBase<number> > MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::delta_phase_weighted
private

◆ do_level_set_pressure_gradient_interpolation

template<int dim, typename number >
const bool MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::do_level_set_pressure_gradient_interpolation
private

◆ dummy_temperature

template<int dim, typename number >
const number MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::dummy_temperature
private

◆ flow_pressure_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::flow_pressure_dof_idx
private

◆ flow_vel_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::flow_vel_dof_idx
private

◆ flow_vel_quad_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::flow_vel_quad_idx
private

◆ heat_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::heat_dof_idx
private

◆ ls_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::ls_dof_idx
private

◆ ls_to_pressure_grad_interpolation_matrix

template<int dim, typename number >
dealii::FullMatrix<number> MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::ls_to_pressure_grad_interpolation_matrix
private

◆ model_type

template<int dim, typename number >
const RecoilPressureModelType MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::model_type
private

◆ recoil_pressure_model

template<int dim, typename number >
std::unique_ptr<const RecoilPressureModelBase<number> > MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::recoil_pressure_model
private

◆ scratch_data

template<int dim, typename number >
const ScratchData<dim, dim, number>& MeltPoolDG::Evaporation::RecoilPressureOperation< dim, number >::scratch_data
private

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