EvaporationSourceTermsSharp< dim, number > Class Template Reference

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

#include <evaporation_source_terms_sharp.hpp>

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

Public Member Functions

 EvaporationSourceTermsSharp (const ScratchData< dim, dim, number > &scratch_data, const EvaporationData< number > &evapor_data, const VectorType &level_set_as_heaviside, const BlockVectorType &normal_vector, const VectorType &evaporative_mass_flux, const unsigned int ls_hanging_nodes_dof_idx, const unsigned int ls_quad_idx, const unsigned int normal_dof_idx, const unsigned int evapor_vel_dof_idx, const unsigned int evapor_vel_quad_idx, const unsigned int evapor_mass_flux_dof_idx, const number tolerance_normal_vector, const number density_vapor, const number density_liquid)
 
void compute_evaporation_velocity (VectorType &evaporation_velocity) final
 
void compute_level_set_source_term (VectorType &level_set_source_term, const unsigned int ls_dof_idx, const VectorType &level_set, const unsigned int pressure_dof_idx) final
 
void compute_mass_balance_source_term (VectorType &mass_balance_source_term, const unsigned int pressure_dof_idx, const unsigned int pressure_quad_idx, bool zero_out) final
 
void compute_heat_source_term (VectorType &heat_source_term) final
 
void register_surface_mesh (const std::vector< std::tuple< const typename dealii::Triangulation< dim, dim >::cell_iterator, std::vector< dealii::Point< dim > >, std::vector< number > > > &surface_mesh_info)
 
- Public Member Functions inherited from MeltPoolDG::Evaporation::EvaporationSourceTermsBase< dim, number >
virtual ~EvaporationSourceTermsBase ()=default
 

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 EvaporationData< number > & evapor_data
 
const VectorTypelevel_set_as_heaviside
 
const BlockVectorTypenormal_vector
 
const VectorTypeevaporative_mass_flux
 
const unsigned int ls_hanging_nodes_dof_idx
 
const unsigned int ls_quad_idx
 
const unsigned int normal_dof_idx
 
const unsigned int evapor_vel_dof_idx
 
const unsigned int evapor_vel_quad_idx
 
const unsigned int evapor_mass_flux_dof_idx
 
const number tolerance_normal_vector
 
const number density_vapor
 
const number density_liquid
 
const std::vector< std::tuple< const typename dealii::Triangulation< dim, dim >::cell_iterator, std::vector< dealii::Point< dim > >, std::vector< number > > > * surface_mesh_info = nullptr
 

Detailed Description

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

TODO

Member Typedef Documentation

◆ BlockVectorType

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

◆ VectorType

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

Constructor & Destructor Documentation

◆ EvaporationSourceTermsSharp()

template<int dim, typename number >
MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::EvaporationSourceTermsSharp ( const ScratchData< dim, dim, number > &  scratch_data,
const EvaporationData< number > &  evapor_data,
const VectorType level_set_as_heaviside,
const BlockVectorType normal_vector,
const VectorType evaporative_mass_flux,
const unsigned int  ls_hanging_nodes_dof_idx,
const unsigned int  ls_quad_idx,
const unsigned int  normal_dof_idx,
const unsigned int  evapor_vel_dof_idx,
const unsigned int  evapor_vel_quad_idx,
const unsigned int  evapor_mass_flux_dof_idx,
const number  tolerance_normal_vector,
const number  density_vapor,
const number  density_liquid 
)

Member Function Documentation

◆ compute_evaporation_velocity()

template<int dim, typename number >
void MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::compute_evaporation_velocity ( VectorType evaporation_velocity)
finalvirtual

evaporation velocity at quadrature points

write interface velocity to dof vector

Implements MeltPoolDG::Evaporation::EvaporationSourceTermsBase< dim, number >.

◆ compute_heat_source_term()

template<int dim, typename number >
void MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::compute_heat_source_term ( VectorType heat_source_term)
finalvirtual

◆ compute_level_set_source_term()

template<int dim, typename number >
void MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::compute_level_set_source_term ( VectorType level_set_source_term,
const unsigned int  ls_dof_idx,
const VectorType level_set,
const unsigned int  pressure_dof_idx 
)
finalvirtual

◆ compute_mass_balance_source_term()

template<int dim, typename number >
void MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::compute_mass_balance_source_term ( VectorType mass_balance_source_term,
const unsigned int  pressure_dof_idx,
const unsigned int  pressure_quad_idx,
bool  zero_out 
)
finalvirtual

◆ register_surface_mesh()

template<int dim, typename number >
void MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::register_surface_mesh ( const std::vector< std::tuple< const typename dealii::Triangulation< dim, dim >::cell_iterator, std::vector< dealii::Point< dim > >, std::vector< number > > > &  surface_mesh_info)

Member Data Documentation

◆ density_liquid

template<int dim, typename number >
const number MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::density_liquid
private

◆ density_vapor

template<int dim, typename number >
const number MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::density_vapor
private

◆ evapor_data

template<int dim, typename number >
const EvaporationData<number>& MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::evapor_data
private

◆ evapor_mass_flux_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::evapor_mass_flux_dof_idx
private

◆ evapor_vel_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::evapor_vel_dof_idx
private

◆ evapor_vel_quad_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::evapor_vel_quad_idx
private

◆ evaporative_mass_flux

template<int dim, typename number >
const VectorType& MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::evaporative_mass_flux
private

◆ level_set_as_heaviside

template<int dim, typename number >
const VectorType& MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::level_set_as_heaviside
private

references to solutions needed for the computation

◆ ls_hanging_nodes_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::ls_hanging_nodes_dof_idx
private

select the relevant DoFHandlers and quadrature rules

◆ ls_quad_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::ls_quad_idx
private

◆ normal_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::normal_dof_idx
private

◆ normal_vector

template<int dim, typename number >
const BlockVectorType& MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::normal_vector
private

◆ scratch_data

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

◆ surface_mesh_info

template<int dim, typename number >
const std::vector< std::tuple<const typename dealii::Triangulation<dim, dim>::cell_iterator , std::vector<dealii::Point<dim> > , std::vector<number> > >* MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::surface_mesh_info = nullptr
private

◆ tolerance_normal_vector

template<int dim, typename number >
const number MeltPoolDG::Evaporation::EvaporationSourceTermsSharp< dim, number >::tolerance_normal_vector
private

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