DeltaApproximationHeavisideTimesHeavisidePhaseWeighted< number > Class Template Reference
|
Developer Documentation
|
#include <delta_approximation_phase_weighted.hpp>
Public Member Functions | |
| DeltaApproximationHeavisideTimesHeavisidePhaseWeighted (const DeltaApproximationPhaseWeightedData< number > &data) | |
| number | compute_weight (const number level_set_heaviside) const override |
| dealii::VectorizedArray< number > | compute_weight (const dealii::VectorizedArray< number > &level_set_heaviside) const override |
Public Member Functions inherited from MeltPoolDG::LevelSet::DeltaApproximationBase< number > | |
| virtual | ~DeltaApproximationBase ()=default |
Private Member Functions | |
| template<typename value_type > | |
| value_type | compute_weight_internal (const value_type &level_set_heaviside) const |
Private Attributes | |
| const number | w_1g |
| const number | w_1h |
| const number | w_2g |
| const number | w_2h |
| const number | correction_factor |
Detailed Description
class MeltPoolDG::LevelSet::DeltaApproximationHeavisideTimesHeavisidePhaseWeighted< number >
Asymmetric, double phase weighted Dirac delta approximation function.
This function can be used to approximate the Dirac delta function for diffuse interfaces. The approximation is asymmetric and you can choose two weights for each phase individually. The function is defined as
δ_w(φ) = δ(φ) * W(φ).
with the heaviside representation of the level set φ (=indicator). The symmetric delta function δ(φ) is defined as
δ = ||∇φ||.
The weight function W(φ) is defined as
6 ( (1 - φ) w_1g + φ w_2h ) ( (1 - φ) w_2g + φ w_2h )
W(φ) = ----------------------------------------------------— , 2 w_1g w_2g + w_1g w_2h + w_1h w_2g + 2 w_1h w_2h
where w_1g and w_2g are the weights of the gaseous phase (at level set = -1) and w_1h and w_2h are the weights of the heavy phase (at level set = 1). The weights can be chosen arbitrarily, as long as 2 w_1g w_2g + w_1g w_2h + w_1h w_2g + 2 w_1h w_2h != 0.
Constructor & Destructor Documentation
◆ DeltaApproximationHeavisideTimesHeavisidePhaseWeighted()
|
inline |
Member Function Documentation
◆ compute_weight() [1/2]
|
inlineoverridevirtual |
◆ compute_weight() [2/2]
|
inlineoverridevirtual |
◆ compute_weight_internal()
|
inlineprivate |
This function calculates the quadratic asymmetric weight function
6 ( (1 - φ) w_1g + φ w_2h ) ( (1 - φ) w_2g + φ w_2h )
W(φ) = ----------------------------------------------------— 2 w_1g w_2g + w_1g w_2h + w_1h w_2g + 2 w_1h w_2h
Member Data Documentation
◆ correction_factor
|
private |
◆ w_1g
|
private |
◆ w_1h
|
private |
◆ w_2g
|
private |
◆ w_2h
|
private |
The documentation for this class was generated from the following file:
- include/meltpooldg/level_set/delta_approximation_phase_weighted.hpp
Generated by
Public Member Functions inherited from