|
| | 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) |
| |
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
-
| number | Scalar type used for the interpolation. |
- Parameters
-
| x | Evaluation point. |
| x1 | Left interval endpoint. |
| x2 | Right interval endpoint. |
| y1 | Function value at the left endpoint x1. |
| y2 | Function value at the right endpoint x2. |
| delta | Width of the quadratic transition regions near both endpoints. |
- Returns
- Interpolated function value at
x.
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
-
| number | Scalar type used for the interpolation. |
- Parameters
-
| x | Evaluation point. |
| x1 | Left interval endpoint. |
| x2 | Right interval endpoint. |
| y1 | Function value at the left endpoint x1. |
| y2 | Function value at the right endpoint x2. |
| delta | Width of the quadratic transition regions near both endpoints. |
- Returns
- Derivative of the interpolated function at
x.
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