include/meltpooldg/phase_change/evaporation_mass_flux_operator_thickness_integration.hpp Source File

Developer Documentation: include/meltpooldg/phase_change/evaporation_mass_flux_operator_thickness_integration.hpp Source File
Developer Documentation
evaporation_mass_flux_operator_thickness_integration.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/fe/fe_system.h>
4
5#include <deal.II/lac/la_parallel_block_vector.h>
6#include <deal.II/lac/la_parallel_vector.h>
7
13
14
16{
28
29
30 template <int dim, typename number>
32 : public EvaporationMassFluxOperatorBase<dim, number>
33 {
34 private:
35 using VectorType = dealii::LinearAlgebra::distributed::Vector<number>;
36 using BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<number>;
37
42
45
46 const unsigned int ls_hanging_nodes_dof_idx;
47 const unsigned int normal_dof_idx;
48 const unsigned int heat_hanging_nodes_dof_idx;
49 const unsigned int evapor_mass_flux_dof_idx;
50
51 const dealii::FESystem<dim> fe_dim;
52
53 public:
61 const unsigned int ls_hanging_nodes_dof_idx,
62 const unsigned int normal_dof_idx,
63 const unsigned int heat_hanging_nodes_dof_idx,
64 const unsigned int evapor_mass_flux_dof_idx);
65
78 void
79 compute_evaporative_mass_flux(VectorType &evaporative_mass_flux,
80 const VectorType &temperature) const final;
81 };
82} // namespace MeltPoolDG::Evaporation
Definition evaporation_mass_flux_operator_base.hpp:14
Definition evaporation_mass_flux_operator_thickness_integration.hpp:33
const LevelSet::ReinitializationData< number > & reinit_data
Definition evaporation_mass_flux_operator_thickness_integration.hpp:41
const ScratchData< dim, dim, number > & scratch_data
Definition evaporation_mass_flux_operator_thickness_integration.hpp:38
const EvaporationThicknessIntegrationData & thickness_integration_data
Definition evaporation_mass_flux_operator_thickness_integration.hpp:40
const BlockVectorType & normal_vector
Definition evaporation_mass_flux_operator_thickness_integration.hpp:44
dealii::LinearAlgebra::distributed::BlockVector< number > BlockVectorType
Definition evaporation_mass_flux_operator_thickness_integration.hpp:36
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition evaporation_mass_flux_operator_thickness_integration.hpp:35
const dealii::FESystem< dim > fe_dim
Definition evaporation_mass_flux_operator_thickness_integration.hpp:51
const VectorType & level_set_as_heaviside
Definition evaporation_mass_flux_operator_thickness_integration.hpp:43
const unsigned int heat_hanging_nodes_dof_idx
Definition evaporation_mass_flux_operator_thickness_integration.hpp:48
const unsigned int ls_hanging_nodes_dof_idx
Definition evaporation_mass_flux_operator_thickness_integration.hpp:46
void compute_evaporative_mass_flux(VectorType &evaporative_mass_flux, const VectorType &temperature) const final
Definition evaporation_mass_flux_operator_thickness_integration.cpp:63
const unsigned int normal_dof_idx
Definition evaporation_mass_flux_operator_thickness_integration.hpp:47
const unsigned int evapor_mass_flux_dof_idx
Definition evaporation_mass_flux_operator_thickness_integration.hpp:49
const EvaporationModelBase< number > & evaporation_model
Definition evaporation_mass_flux_operator_thickness_integration.hpp:39
Definition evaporation_model_base.hpp:13
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
Definition evaporation_data.hpp:15
struct MeltPoolDG::Evaporation::EvaporationThicknessIntegrationData thickness_integral
Definition evaporation_mass_flux_operator_thickness_integration.hpp:24
unsigned int subdivisions_per_side
Definition evaporation_mass_flux_operator_thickness_integration.hpp:25
unsigned int subdivisions_MCA
Definition evaporation_mass_flux_operator_thickness_integration.hpp:26
Definition reinitialization_data.hpp:126