#include <melt_front_propagation.hpp>
|
| | MeltFrontPropagation (const ScratchData< dim, dim, number > &scratch_data_in, const MeltFrontPropagationData< number > &mp_data, const MaterialData< number > &material_data, const unsigned int phase_fraction_dof_idx_in, const unsigned int ls_dof_idx_in, const VectorType &temperature_in, const unsigned int reinit_dof_idx_in, const unsigned int reinit_no_solid_dof_idx_in, const unsigned int flow_vel_dof_idx_in, const unsigned int flow_vel_no_solid_dof_idx_in, const unsigned int heat_hanging_nodes_dof_idx_in) |
| |
| void | set_initial_condition (const VectorType &level_set_as_heaviside, VectorType &level_set) |
| |
| void | compute_melt_front_propagation (const VectorType &level_set_as_heaviside) |
| |
| void | reinit () |
| |
| void | attach_vectors (std::vector< VectorType * > &vectors) |
| |
| void | attach_output_vectors (GenericDataOut< dim, number > &data_out) const |
| |
| void | distribute_constraints () |
| |
| const VectorType & | get_solid () const |
| |
| const VectorType & | get_liquid () const |
| |
| number | compute_solid_fraction (const number temperature) const |
| |
| dealii::VectorizedArray< number > | compute_solid_fraction (const dealii::VectorizedArray< number > &temperature) const |
| |
|
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| |
◆ VectorType
template<int dim, typename number >
◆ MeltFrontPropagation()
template<int dim, typename number >
| MeltPoolDG::MeltFrontPropagation< dim, number >::MeltFrontPropagation |
( |
const ScratchData< dim, dim, number > & |
scratch_data_in, |
|
|
const MeltFrontPropagationData< number > & |
mp_data, |
|
|
const MaterialData< number > & |
material_data, |
|
|
const unsigned int |
phase_fraction_dof_idx_in, |
|
|
const unsigned int |
ls_dof_idx_in, |
|
|
const VectorType & |
temperature_in, |
|
|
const unsigned int |
reinit_dof_idx_in, |
|
|
const unsigned int |
reinit_no_solid_dof_idx_in, |
|
|
const unsigned int |
flow_vel_dof_idx_in, |
|
|
const unsigned int |
flow_vel_no_solid_dof_idx_in, |
|
|
const unsigned int |
heat_hanging_nodes_dof_idx_in |
|
) |
| |
◆ attach_output_vectors()
template<int dim, typename number >
◆ attach_vectors()
template<int dim, typename number >
◆ compute_melt_front_propagation()
template<int dim, typename number >
◆ compute_solid_and_liquid_phases()
template<int dim, typename number >
This function determines the solid fraction for a given pair of temperature (T) and level-set-heaviside values (phi) as follows:
| | | | phase | solid fraction phi T |
| _________ | ___________________________________________________________ |
| solid | 1.0 1 T <= T_solidus |
| |
| T_l - T |
| mushy | -------— 1 T_solidus < T < T_liquidus |
| T_l - T_s |
| |
| liquid | 0.0 1 T >= T_liquidus |
| |
| gas | 0.0 0 independent |
| _________ | ___________________________________________________________ |
If no mushy zone is prescribed, then T_solidus = T_liquidus = T_melting.
◆ compute_solid_fraction() [1/2]
template<int dim, typename number >
| dealii::VectorizedArray< number > MeltPoolDG::MeltFrontPropagation< dim, number >::compute_solid_fraction |
( |
const dealii::VectorizedArray< number > & |
temperature | ) |
const |
◆ compute_solid_fraction() [2/2]
template<int dim, typename number >
This function returns the solid fraction from a linear interpolation between the solidus and liquidus temperatures, i.e. 0 (T>=T_liquidus) and 1 (T<=T_solidus).
◆ distribute_constraints()
template<int dim, typename number >
◆ get_liquid()
template<int dim, typename number >
◆ get_solid()
template<int dim, typename number >
◆ ignore_reinitialization_in_solid_regions()
template<int dim, typename number >
| void MeltPoolDG::MeltFrontPropagation< dim, number >::ignore_reinitialization_in_solid_regions |
( |
const dealii::DoFHandler< dim > & |
level_set_dof_handler, |
|
|
const dealii::AffineConstraints< number > & |
reinit_dirichlet_constraints_no_solid, |
|
|
dealii::AffineConstraints< number > & |
reinit_dirichlet_constraints |
|
) |
| |
|
private |
The reinitialization constraints are modified such that they are zero in solid regions. This means, the level set field is not modified due to reinitialization in the solid regions.
◆ make_constraints_in_spatially_fixed_solid_domain()
template<int dim, typename number >
◆ reinit()
template<int dim, typename number >
◆ set_flow_field_in_solid_regions_to_zero()
template<int dim, typename number >
| void MeltPoolDG::MeltFrontPropagation< dim, number >::set_flow_field_in_solid_regions_to_zero |
( |
const dealii::DoFHandler< dim > & |
flow_dof_handler, |
|
|
const dealii::AffineConstraints< number > & |
flow_constraints_no_solid, |
|
|
dealii::AffineConstraints< number > & |
flow_constraints |
|
) |
| |
|
private |
The constraints of the flow velocity are modified such that they are zero in solid regions.
◆ set_initial_condition()
template<int dim, typename number >
◆ flow_vel_dof_idx
template<int dim, typename number >
◆ flow_vel_no_solid_dof_idx
template<int dim, typename number >
◆ heat_hanging_nodes_dof_idx
template<int dim, typename number >
◆ liquid
template<int dim, typename number >
◆ ls_dof_idx
template<int dim, typename number >
◆ melting_solidification
template<int dim, typename number >
◆ mp_data
template<int dim, typename number >
◆ phase_fraction_dof_idx
template<int dim, typename number >
◆ reinit_dof_idx
template<int dim, typename number >
◆ reinit_no_solid_dof_idx
template<int dim, typename number >
◆ scratch_data
template<int dim, typename number >
◆ solid
template<int dim, typename number >
◆ temperature
template<int dim, typename number >
The documentation for this class was generated from the following files: