Heat Namespace Reference

Developer Documentation: MeltPoolDG::Heat Namespace Reference
Developer Documentation
MeltPoolDG::Heat Namespace Reference

Namespaces

namespace  internal
 

Classes

class  ApparentCapacity
 Apparent capacity model for latent heat release/absorption during phase change. More...
 
class  GaussProjectionIntensityProfile
 
class  GaussVolumetricIntensityProfile
 
class  GusarovIntensityProfile
 
class  HeatCutOperation
 
class  HeatCutOperator
 
struct  HeatData
 
class  HeatDiffuseMultiPhaseOperator
 
class  HeatDiffuseOperation
 
class  HeatOperationBase
 
class  HeatTransferApplication
 
class  HeatTransferCase
 
struct  HeatTransferCaseParameters
 
class  LaserAnalyticalTemperatureField
 
struct  LaserData
 
class  LaserHeatSourceProjectionBased
 
class  LaserHeatSourceVolumetric
 
class  LaserOperation
 
struct  QLQParameters
 
class  UniformIntensityProfile
 

Typedefs

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

Functions

 BETTER_ENUM (LaserModelType, char, not_initialized, analytical_temperature, volumetric, interface_projection_regularized, interface_projection_sharp, interface_projection_sharp_conforming, RTE) BETTER_ENUM(LaserIntensityProfileType
 
template<int dim, typename number >
number compute_projection_factor (const dealii::Tensor< 1, dim, number > &laser_direction, const dealii::Tensor< 1, dim, number > &normal_vector)
 
template<int dim, typename number >
number compute_distance_to_line (const dealii::Point< dim, number > &p, const dealii::Point< dim, number > &line_base, const dealii::Tensor< 1, dim, number > &line_direction)
 
template<typename number >
number unit_poly4_bell (const number x)
 
template<typename number >
number unit_poly4_bell_derivative (const number x)
 
template<typename number >
number qlq_zero_slope (const number x, const number x1, const number x2, const number y1, const number y2, const number delta)
 
template<typename number >
number qlq_zero_slope_derivative (const number x, const number x1, const number x2, const number y1, const number y2, const number delta)
 
template<int dim, typename number >
std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > construct_dirichlet_bc_map (const bool two_phase, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &dirichlet_bc)
 

Variables

 char
 
 uniform
 
 Gauss
 
static constexpr dealii::EvaluationFlags::EvaluationFlags evaluate_values
 
static constexpr dealii::EvaluationFlags::EvaluationFlags evaluate_gradients
 

Typedef Documentation

◆ VelocityType

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

Function Documentation

◆ BETTER_ENUM()

MeltPoolDG::Heat::BETTER_ENUM ( LaserModelType  ,
char  ,
not_initialized  ,
analytical_temperature  ,
volumetric  ,
interface_projection_regularized  ,
interface_projection_sharp  ,
interface_projection_sharp_conforming  ,
RTE   
)

◆ compute_distance_to_line()

template<int dim, typename number >
number MeltPoolDG::Heat::compute_distance_to_line ( const dealii::Point< dim, number > &  p,
const dealii::Point< dim, number > &  line_base,
const dealii::Tensor< 1, dim, number > &  line_direction 
)
inline

Computes the minimum distance between the point

Parameters
pand the infinite line that is defined by the
line_baseand the
line_direction,whichmust be a unit vector.

◆ compute_projection_factor()

template<int dim, typename number >
number MeltPoolDG::Heat::compute_projection_factor ( const dealii::Tensor< 1, dim, number > &  laser_direction,
const dealii::Tensor< 1, dim, number > &  normal_vector 
)
inline

Computes the projection factor for angled laser interface interactions.

Parameters
normal_vectorthe unit normal vector pointing inside the liquid domain

◆ construct_dirichlet_bc_map()

template<int dim, typename number >
std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > MeltPoolDG::Heat::construct_dirichlet_bc_map ( const bool  two_phase,
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &  dirichlet_bc 
)

◆ qlq_zero_slope()

template<typename number >
number MeltPoolDG::Heat::qlq_zero_slope ( const number  x,
const number  x1,
const number  x2,
const number  y1,
const number  y2,
const number  delta 
)

Evaluate a quadratic-linear-quadratic interpolation with zero slope at the interval endpoints.

The function constructs a piecewise curve on the interval x1 to x2. Close to the endpoints, quadratic segments are used so that the derivative vanishes at x1 and x2. In the center of the interval, a linear segment connects both quadratic parts. The transition width is controlled by delta.

The resulting function satisfies:

  • \( f(x_1) = y_1 \)
  • \( f(x_2) = y_2 \)
  • \( f'(x_1) = 0 \)
  • \( f'(x_2) = 0 \)
Template Parameters
numberScalar type used for the interpolation.
Parameters
xEvaluation point.
x1Left interval endpoint.
x2Right interval endpoint.
y1Function value at the left endpoint x1.
y2Function value at the right endpoint x2.
deltaWidth of the quadratic transition regions near both endpoints.
Returns
Interpolated function value at x.

◆ qlq_zero_slope_derivative()

template<typename number >
number MeltPoolDG::Heat::qlq_zero_slope_derivative ( const number  x,
const number  x1,
const number  x2,
const number  y1,
const number  y2,
const number  delta 
)

Evaluate the derivative of qlq_zero_slope().

This function returns the derivative of the piecewise quadratic-linear-quadratic interpolation constructed by qlq_zero_slope(). The derivative is zero at the interval endpoints x1 and x2, linear in the quadratic transition regions, and constant in the central linear region.

Template Parameters
numberScalar type used for the interpolation.
Parameters
xEvaluation point.
x1Left interval endpoint.
x2Right interval endpoint.
y1Function value at the left endpoint x1.
y2Function value at the right endpoint x2.
deltaWidth of the quadratic transition regions near both endpoints.
Returns
Derivative of the interpolated function at x.

◆ unit_poly4_bell()

template<typename number >
number MeltPoolDG::Heat::unit_poly4_bell ( const number  x)

Unit bell curve function with a polynomial degree 4

returns f(x) = 15/16*x^4 - 15/8*x^2 + 15/16

This curve satisfies the following statements: f(1) = 0 f(-1) = 0 f'(1) = 0 f'(-1) = 0 int_{-1}^1 f(x) dx = 1

◆ unit_poly4_bell_derivative()

template<typename number >
number MeltPoolDG::Heat::unit_poly4_bell_derivative ( const number  x)

Derivative of unit bell curve function unit_poly4_bell

returns f(x) = 15/4*x^3 - 15/4*x

Variable Documentation

◆ char

MeltPoolDG::Heat::char

◆ evaluate_gradients

constexpr dealii::EvaluationFlags::EvaluationFlags MeltPoolDG::Heat::evaluate_gradients
staticconstexpr
Initial value:
=
dealii::EvaluationFlags::gradients

◆ evaluate_values

constexpr dealii::EvaluationFlags::EvaluationFlags MeltPoolDG::Heat::evaluate_values
staticconstexpr
Initial value:
=
dealii::EvaluationFlags::values

◆ Gauss

MeltPoolDG::Heat::Gauss

◆ uniform

MeltPoolDG::Heat::uniform