include/meltpooldg/level_set/olsson_CG_operator.hpp Source File
|
Developer Documentation
|
olsson_CG_operator.hpp
Go to the documentation of this file.
Operator for the Olsson reinitialization method used in level set methods.
Definition olsson_CG_operator.hpp:45
void tangent_boundary_loop(const dealii::MatrixFree< dim, number > &matrix_free, VectorType &dst, const VectorType &src, std::pair< unsigned int, unsigned int > face_range) const
Loop over boundary faces to compute tangent (left-hand side) contributions in matrix-free mode.
Definition olsson_CG_operator.cpp:425
void tangent_boundary_face_operation(FEFaceIntegrator< dim, 1, number > &face_eval, FEFaceIntegrator< dim, dim, number > &normal_face_eval) const
Compute the contribution of a single boundary face integral to the tangent.
Definition olsson_CG_operator.cpp:500
dealii::TrilinosWrappers::SparseMatrix SparseMatrixType
Sparse matrix type used for assembling and storing the system matrix.
Definition olsson_CG_operator.hpp:60
const unsigned int normal_dof_idx
DOF handler index for the normal vector field.
Definition olsson_CG_operator.hpp:221
void rhs_boundary_loop(const dealii::MatrixFree< dim, number > &matrix_free, VectorType &dst, const VectorType &src, std::pair< unsigned int, unsigned int > face_range) const
Loop over boundary faces to compute right-hand side contributions in matrix-free mode.
Definition olsson_CG_operator.cpp:463
dealii::LinearAlgebra::distributed::BlockVector< number > BlockVectorType
Distributed block vector type used for storing the interface normal field.
Definition olsson_CG_operator.hpp:57
void rhs_boundary_face_operation(FEFaceIntegrator< dim, 1, number > &face_eval, FEFaceIntegrator< dim, dim, number > &normal_face_eval) const
Compute the contribution of a single boundary face integral to the right-hand side.
Definition olsson_CG_operator.cpp:545
dealii::AlignedVector< dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > > unit_normal
Definition olsson_CG_operator.hpp:248
const unsigned int ls_dof_idx
DOF handler index for the level set field.
Definition olsson_CG_operator.hpp:224
void tangent_cell_operation(FECellIntegrator< dim, 1, number > &delta_psi) const
Compute the contribution of a single cell integral to the tangent.
Definition olsson_CG_operator.cpp:394
dealii::Tensor< 1, dim, VectorizedArrayType > vector
Vector type with SIMD-enabled entries in dim dimensions.
Definition olsson_CG_operator.hpp:66
dealii::AlignedVector< dealii::VectorizedArray< number > > tangential_diffusion_length
Precomputed diffusive length scale in the tangential direction at each quadrature point.
Definition olsson_CG_operator.hpp:239
void compute_inverse_diagonal_from_matrixfree(VectorType &diagonal) const final
Compute an approximation of the inverse diagonal of the system matrix.
Definition olsson_CG_operator.cpp:321
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Distributed vector type used for matrix-free and matrix-based computations.
Definition olsson_CG_operator.hpp:54
VectorizedArrayType scalar
Scalar type with SIMD-enabled entries.
Definition olsson_CG_operator.hpp:69
const BlockVectorType & normal_vec
Reference to the vector field representing the interface normals.
Definition olsson_CG_operator.hpp:215
dealii::VectorizedArray< number > VectorizedArrayType
Vectorized scalar type used in SIMD computations.
Definition olsson_CG_operator.hpp:63
std::vector< dealii::types::boundary_id > wetting_bc_ids
List of boundary IDs where wetting boundary conditions are applied.
Definition olsson_CG_operator.hpp:227
void compute_system_matrix_and_rhs(const VectorType &old_level_set, VectorType &rhs) const final
Assemble the system matrix and right-hand side using a matrix-based approach.
Definition olsson_CG_operator.cpp:65
void set_wetting_boundary_condition_ids(std::vector< dealii::types::boundary_id > &&wetting_bc_ids)
Specify the boundary IDs where wetting boundary conditions should be applied.
Definition olsson_CG_operator.cpp:56
void vmult(VectorType &dst, const VectorType &src) const final
Apply the operator in a matrix-free fashion.
Definition olsson_CG_operator.cpp:154
void reinit() final
Reinitialize internal data structures, typically after mesh changes.
Definition olsson_CG_operator.cpp:593
const number ls_n_subdivisions
Number of subdivisions used to define the interface thickness parameter.
Definition olsson_CG_operator.hpp:212
dealii::AlignedVector< dealii::VectorizedArray< number > > normal_diffusion_length
Precomputed diffusive length scale in the normal direction at each quadrature point.
Definition olsson_CG_operator.hpp:236
const ReinitializationData< number > & reinit_data
Reference to the reinitialization parameters and coefficients.
Definition olsson_CG_operator.hpp:209
const ScratchData< dim, dim, number > & scratch_data
Reference to scratch data containing mesh, geometry, and FE evaluation utilities.
Definition olsson_CG_operator.hpp:206
const number tolerance_normal_vector
Tolerance threshold used for validating or correcting normal vectors.
Definition olsson_CG_operator.hpp:233
void create_rhs(VectorType &rhs, const VectorType &old_level_set) const final
Create the right-hand side vector using a matrix-free evaluation.
Definition olsson_CG_operator.cpp:184
bool enable_boundary_face_integral
Flag to enable or disable boundary face integral contributions.
Definition olsson_CG_operator.hpp:230
dealii::AlignedVector< dealii::VectorizedArray< number > > solution_old
Definition olsson_CG_operator.hpp:243
const unsigned int reinit_quad_idx
Quadrature index for evaluating terms during reinitialization.
Definition olsson_CG_operator.hpp:218
void compute_system_matrix_from_matrixfree(dealii::TrilinosWrappers::SparseMatrix &system_matrix) const final
Compute and assemble the system matrix from matrix-free operator evaluations.
Definition olsson_CG_operator.cpp:252
Operator handling matrix-based computations.
Definition operator_base.hpp:94
SparseMatrixType system_matrix
Definition operator_base.hpp:176
Operator handling matrix-free computations.
Definition operator_base.hpp:190
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
This operation solves the reinitialization problem for a CG- or DG-FEM-based discrete level-set field...
Definition advection_DG_operation.hpp:20
dealii::FEFaceEvaluation< dim, -1, 0, n_components, number, VectorizedArrayType > FEFaceIntegrator
Definition fe_integrator.hpp:22
dealii::FEEvaluation< dim, -1, 0, n_components, number, VectorizedArrayType > FECellIntegrator
Definition fe_integrator.hpp:14
Definition dealii_tensor.hpp:10
Definition reinitialization_data.hpp:126
Generated by