source/heat/heat_cut_operator.cpp File Reference

Developer Documentation: source/heat/heat_cut_operator.cpp File Reference
Developer Documentation
heat_cut_operator.cpp File Reference
#include <meltpooldg/heat/heat_cut_operator.hpp>
#include <deal.II/base/array_view.h>
#include <deal.II/base/exceptions.h>
#include <deal.II/base/mpi.h>
#include <deal.II/base/point.h>
#include <deal.II/base/utilities.h>
#include <deal.II/matrix_free/evaluation_flags.h>
#include <deal.II/matrix_free/fe_evaluation_data.h>
#include <deal.II/matrix_free/tools.h>
#include <meltpooldg/core/exceptions.hpp>
#include <meltpooldg/core/finite_element_data.hpp>
#include <meltpooldg/core/material.templates.hpp>
#include <meltpooldg/cut/util.hpp>
#include <meltpooldg/phase_change/evaporative_cooling.templates.hpp>
#include <meltpooldg/utilities/dealii_tensor.hpp>
#include <meltpooldg/utilities/fe_integrator.hpp>
#include <algorithm>
#include <functional>
Include dependency graph for heat_cut_operator.cpp:

Namespaces

namespace  MeltPoolDG
 Interface for a general preconditioner.
 
namespace  MeltPoolDG::Heat
 
namespace  MeltPoolDG::Heat::internal
 

Typedefs

template<typename Evaluation >
using MeltPoolDG::Heat::VelocityType = typename FECellIntegrator< Evaluation::dimension, Evaluation::dimension, typename Evaluation::ScalarNumber >::value_type
 

Functions

template<int dim, typename number >
dealii::VectorizedArray< number > MeltPoolDG::Heat::internal::evaluate_function (const dealii::Function< dim, number > &function, const dealii::Point< dim, dealii::VectorizedArray< number > > &p_vectorized, const unsigned int component=0)
 
template<int dim, typename number >
dealii::VectorizedArray< number > MeltPoolDG::Heat::internal::compute_projection_factor (const dealii::Tensor< 1, dim, number > &laser_direction, const dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > &normal_vector)
 
template<int dim, typename number >
dealii::VectorizedArray< number > MeltPoolDG::Heat::internal::compute_laser_heat_source (const dealii::Function< dim, number > *laser_intensity_profile, const dealii::Tensor< 1, dim, number > &laser_direction, const dealii::FEPointEvaluation< 1, dim, dim, dealii::VectorizedArray< number > > &temperature_eval, const unsigned int q)
 
template<typename Evaluation >
std::tuple< typename Evaluation::value_type, typename Evaluation::value_type > MeltPoolDG::Heat::internal::get_liquid_material_parameters (const Evaluation *temperature_eval, const Material< typename Evaluation::ScalarNumber > &material, const unsigned int q)
 
template<typename Evaluation >
std::tuple< typename Evaluation::value_type, typename Evaluation::value_type, typename Evaluation::value_type, typename Evaluation::value_type > MeltPoolDG::Heat::internal::get_liquid_material_parameters_and_derivatives (const Evaluation *temperature_eval, const Material< typename Evaluation::ScalarNumber > &material, const unsigned int q)
 
template<typename Evaluation , typename VectorType >
void MeltPoolDG::Heat::internal::reinit_and_read_plain (Evaluation &evaluator, const VectorType &dof_vector, const unsigned int cell_index)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::tangent_domain_integral (Evaluation &evaluator, const Evaluation *T_eval, const typename Evaluation::value_type &conductivity, const typename Evaluation::value_type &cv, const typename Evaluation::value_type &d_conductivity_d_T, const typename Evaluation::value_type &d_cv_d_T, const VelocityType< Evaluation > &velocity, const typename Evaluation::ScalarNumber ost_factor, const unsigned int q)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::residual_domain_integral (Evaluation &evaluator, const Evaluation &Told_eval, const typename Evaluation::value_type &conductivity_new, const typename Evaluation::value_type &cv_new, const typename Evaluation::value_type &conductivity_old, const typename Evaluation::value_type &cv_old, const VelocityType< Evaluation > &velocity, const VelocityType< Evaluation > &velocity_old, const typename Evaluation::ScalarNumber ost_factor_implicit, const typename Evaluation::ScalarNumber ost_factor_explicit, const unsigned int q)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::tangent_immersed_boundary_integral (Evaluation &evaluator, const Evaluation &T_eval, const std::function< typename Evaluation::value_type(const typename Evaluation::value_type &)> &compute_qVapor_derivative, const typename Evaluation::ScalarNumber ost_factor, const unsigned int q)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::residual_immersed_boundary_integral (Evaluation &evaluator, const Evaluation *Told_eval, const std::function< typename Evaluation::value_type(const typename Evaluation::value_type &)> &compute_qVapor, const typename Evaluation::ScalarNumber ost_factor_implicit, const typename Evaluation::ScalarNumber ost_factor_explicit, const typename Evaluation::value_type &laser_heat_flux_factor, const unsigned int q)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::tangent_interface_integral (Evaluation &evaluator_l, Evaluation &evaluator_g, const Evaluation *T_eval_l, const Evaluation *T_eval_g, const std::function< typename Evaluation::value_type(const typename Evaluation::value_type &)> &compute_qVapor_derivative, const typename Evaluation::ScalarNumber conductivity_l, const typename Evaluation::ScalarNumber conductivity_g, const typename Evaluation::ScalarNumber ost_factor, const typename Evaluation::ScalarNumber nitsche_factor, const typename Evaluation::ScalarNumber kappa_l, const typename Evaluation::ScalarNumber kappa_g, const unsigned int q)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::residual_interface_integral (Evaluation &evaluator_l, Evaluation &evaluator_g, const Evaluation &Told_eval_l, const Evaluation &Told_eval_g, const std::function< typename Evaluation::value_type(const typename Evaluation::value_type &)> &compute_qVapor, const typename Evaluation::ScalarNumber conductivity_l, const typename Evaluation::ScalarNumber conductivity_g, const typename Evaluation::ScalarNumber ost_factor_implicit, const typename Evaluation::ScalarNumber ost_factor_explicit, const typename Evaluation::ScalarNumber nitsche_factor, const typename Evaluation::value_type &laser_heat_flux_factor, const typename Evaluation::ScalarNumber kappa_l, const typename Evaluation::ScalarNumber kappa_g, const bool enable_evapor_cooling, const bool do_rhs_symm_term, const unsigned int q)
 
template<typename Evaluation >
void MeltPoolDG::Heat::internal::ghost_penalty_face_integral (Evaluation &evaluator_minus, Evaluation &evaluator_plus, const typename Evaluation::ScalarNumber conductivity, const typename Evaluation::ScalarNumber ost_factor, const typename Evaluation::ScalarNumber h, const typename Evaluation::ScalarNumber gamma_M_degree_1, const typename Evaluation::ScalarNumber gamma_A_degree_1, const unsigned int q, const typename Evaluation::ScalarNumber factor=1.0)
 

Variables

static constexpr dealii::EvaluationFlags::EvaluationFlags MeltPoolDG::Heat::evaluate_values
 
static constexpr dealii::EvaluationFlags::EvaluationFlags MeltPoolDG::Heat::evaluate_gradients