ReinitializationGeometricOperation< dim, number > Class Template Reference
|
Developer Documentation
|
Geometric level-set reinitialization operation. More...
#include <reinitialization_geometric_operation.hpp>
Public Types | |
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| Distributed vector type used for scalar fields. | |
| using | BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number > |
| Distributed block vector type. | |
Public Member Functions | |
| ReinitializationGeometricOperation (const ScratchData< dim, dim, number > &scratch_data_in, const ReinitializationData< number > &reinit_data_in, const unsigned int ls_dof_idx_in, const unsigned int ls_quad_idx_in) | |
| Constructor. | |
| void | reinit () override |
| Initialize the reinitialization operation. | |
| void | solve () override |
| Execute the geometric reinitialization procedure. | |
| void | set_initial_condition (const VectorType &solution_level_set_in) override |
| Set the initial level-set field from a vector. | |
| void | set_initial_condition (const Function< dim > &initial_field_function) override |
| Set the initial level-set field from an analytical function. | |
| const VectorType & | get_level_set () const override |
| Get a constant reference to the level-set field. | |
| VectorType & | get_level_set () override |
| Get a mutable reference to the level-set field. | |
| void | attach_vectors (std::vector< VectorType * > &vectors) override |
| Attach internal vectors to an external vector list. | |
| void | attach_output_vectors (GenericDataOut< dim, number > &data_out) const override |
| Attach output vectors for postprocessing and visualization. | |
Public Member Functions inherited from MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number > | |
| virtual | ~ReinitializationOperationBase ()=default |
| virtual void | set_wetting_boundary_condition_ids (std::vector< dealii::types::boundary_id > &&) |
| Sets the boundary IDs where wetting boundary conditions should be applied. | |
| virtual number | compute_CFL_based_timestep () const |
| virtual void | set_artificial_diffusitivity () |
| virtual dealii::LinearAlgebra::distributed::Vector< number > * | get_sign_indicator_function () |
Private Member Functions | |
| void | create_solver () |
| Create and configure the signed-distance solver. | |
| void | transform_signed_distance_to_tanh_level_set () |
| Transform the signed-distance field into a tanh level-set field. | |
Private Attributes | |
| std::unique_ptr< SignedDistanceSolver< dim, VectorType > > | signed_distance_solver |
| Geometric signed-distance solver. | |
| const ScratchData< dim, dim, number > & | scratch_data |
| Shared scratch data and finite element infrastructure. | |
| const ReinitializationData< number > & | reinit_data |
| Reinitialization configuration data. | |
| unsigned int | ls_dof_idx |
| Degree-of-freedom index for the level-set field. | |
| unsigned int | ls_quad_idx |
| Quadrature index for the level-set field. | |
| VectorType | level_set |
| Reinitialized level-set field. | |
Detailed Description
class MeltPoolDG::LevelSet::ReinitializationGeometricOperation< dim, number >
Geometric level-set reinitialization operation.
This class computes a signed-distance representation of a level-set field using a geometric signed-distance solver. Optionally, the resulting signed distance field can be transformed into a smoothed hyperbolic tangent level-set representation.
The operation uses the background mesh and finite element space associated with the provided degree-of-freedom index.
- Template Parameters
-
dim Spatial dimension. number Scalar number type.
Member Typedef Documentation
◆ BlockVectorType
| using MeltPoolDG::LevelSet::ReinitializationGeometricOperation< dim, number >::BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<number> |
Distributed block vector type.
◆ VectorType
| using MeltPoolDG::LevelSet::ReinitializationGeometricOperation< dim, number >::VectorType = dealii::LinearAlgebra::distributed::Vector<number> |
Distributed vector type used for scalar fields.
Constructor & Destructor Documentation
◆ ReinitializationGeometricOperation()
| MeltPoolDG::LevelSet::ReinitializationGeometricOperation< dim, number >::ReinitializationGeometricOperation | ( | const ScratchData< dim, dim, number > & | scratch_data_in, |
| const ReinitializationData< number > & | reinit_data_in, | ||
| const unsigned int | ls_dof_idx_in, | ||
| const unsigned int | ls_quad_idx_in | ||
| ) |
Constructor.
Initializes the geometric reinitialization operation and creates the internal signed-distance solver.
- Parameters
-
scratch_data_in Shared scratch data and FE infrastructure. reinit_data_in Reinitialization configuration parameters. ls_dof_idx_in Degree-of-freedom index of the level-set field. ls_quad_idx_in Quadrature index associated with the level-set field.
Member Function Documentation
◆ attach_output_vectors()
|
overridevirtual |
Attach output vectors for postprocessing and visualization.
Adds the signed-distance field and level-set field to the output object.
- Parameters
-
data_out Output handler.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ attach_vectors()
|
overridevirtual |
Attach internal vectors to an external vector list.
- Parameters
-
vectors Container receiving pointers to internal vectors.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ create_solver()
|
private |
Create and configure the signed-distance solver.
◆ get_level_set() [1/2]
|
overridevirtual |
Get a constant reference to the level-set field.
- Returns
- Constant reference to the level-set vector.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ get_level_set() [2/2]
|
overridevirtual |
Get a mutable reference to the level-set field.
- Returns
- Mutable reference to the level-set vector.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ reinit()
|
overridevirtual |
Initialize the reinitialization operation.
Allocates vectors and initializes the signed-distance solver degrees of freedom.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ set_initial_condition() [1/2]
|
overridevirtual |
Set the initial level-set field from an analytical function.
The function is interpolated onto the level-set finite element space.
- Parameters
-
initial_field_function Analytical initial field function.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ set_initial_condition() [2/2]
|
overridevirtual |
Set the initial level-set field from a vector.
- Parameters
-
solution_level_set_in Input level-set vector.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ solve()
|
overridevirtual |
Execute the geometric reinitialization procedure.
Computes the signed-distance field from the current level-set field and, if enabled, transforms it into a hyperbolic tangent level-set field.
Implements MeltPoolDG::LevelSet::ReinitializationOperationBase< dim, number >.
◆ transform_signed_distance_to_tanh_level_set()
|
private |
Transform the signed-distance field into a tanh level-set field.
The transformation uses a cell-dependent interface thickness parameter computed from the mesh resolution and finite element subdivision data.
Member Data Documentation
◆ level_set
|
private |
Reinitialized level-set field.
◆ ls_dof_idx
|
private |
Degree-of-freedom index for the level-set field.
◆ ls_quad_idx
|
private |
Quadrature index for the level-set field.
◆ reinit_data
|
private |
Reinitialization configuration data.
◆ scratch_data
|
private |
Shared scratch data and finite element infrastructure.
◆ signed_distance_solver
|
private |
Geometric signed-distance solver.
The documentation for this class was generated from the following files:
- include/meltpooldg/level_set/reinitialization_geometric_operation.hpp
- source/level_set/reinitialization_geometric_operation.cpp
Generated by
Public Member Functions inherited from