NormalVectorOperator< dim, number > Class Template Reference
|
Developer Documentation
|
#include <normal_vector_operator.hpp>
Public Types | |
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| using | BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number > |
| using | VectorizedArrayType = dealii::VectorizedArray< number > |
| using | SparseMatrixType = dealii::TrilinosWrappers::SparseMatrix |
Public Types inherited from MeltPoolDG::OperatorMatrixFree< dim, number > | |
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| using | BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number > |
| using | SparseMatrixType = dealii::TrilinosWrappers::SparseMatrix |
Public Types inherited from MeltPoolDG::OperatorMatrixBased< dim, number > | |
| using | SparseMatrixType = dealii::TrilinosWrappers::SparseMatrix |
| using | SparsityPatternType = dealii::TrilinosWrappers::SparsityPattern |
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| using | BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number > |
Public Member Functions | |
| NormalVectorOperator (const ScratchData< dim, dim, number > &scratch_data_in, const NormalVectorData< number > &normal_vector_data_in, const std::array< unsigned int, dim > &normal_dof_indices_per_block_in, const unsigned int normal_quad_idx_in, const unsigned int ls_dof_idx_in, const VectorType *solution_level_set_in=nullptr) | |
| void | compute_system_matrix_and_rhs (const VectorType &level_set_in, BlockVectorType &rhs) const final |
| Compute the system matrix and right-hand side block vector. | |
| void | vmult (BlockVectorType &dst, const BlockVectorType &src) const final |
| void | create_rhs (BlockVectorType &dst, const VectorType &src) const final |
Compute the right-hand side vector for block vectors dst. | |
| void | compute_system_matrix_from_matrixfree (dealii::TrilinosWrappers::SparseMatrix &system_matrix) const final |
| Compute a sparse matrix using matrix-free techniques. | |
| void | compute_inverse_diagonal_from_matrixfree (BlockVectorType &diagonal) const final |
| Compute the inverse diagonal using matrix-free techniques for block vectors. | |
| void | reinit () final |
| Reinitialize data structures. Can be overridden by derived classes. | |
Public Member Functions inherited from MeltPoolDG::OperatorMatrixFree< dim, number > | |
| virtual | ~OperatorMatrixFree ()=default |
| virtual void | create_rhs (VectorType &, const VectorType &) const |
| Compute the right-hand side vector. | |
| virtual void | create_rhs (VectorType &, const BlockVectorType &) const |
Compute the right-hand side vector for block vectors src. | |
| virtual void | vmult (VectorType &, const VectorType &) const |
| virtual void | compute_inverse_diagonal_from_matrixfree (VectorType &) const |
| Compute the inverse diagonal using matrix-free techniques. | |
Public Member Functions inherited from MeltPoolDG::OperatorBase< number > | |
| virtual | ~OperatorBase ()=default |
| void | reset_dof_index (const unsigned int dof_idx_in) |
| Set the index for the current degrees of freedom (DoF). | |
| void | reset_time_increment (const number dt) |
| Set the time increment for the operator. | |
| virtual void | pre () |
| Prepare for computations (e.g. update ghost values). Can be overridden by derived classes. | |
| virtual void | post () |
| Finalize for computations (e.g. zero out ghost values). Can be overridden by derived classes. | |
Public Member Functions inherited from MeltPoolDG::OperatorMatrixBased< dim, number > | |
| virtual | ~OperatorMatrixBased ()=default |
| virtual void | compute_system_matrix_and_rhs (const VectorType &, VectorType &) const |
| Compute the system matrix and right-hand side vector. | |
| virtual void | compute_system_matrix_and_rhs (const BlockVectorType &, VectorType &) const |
| Compute the system matrix and right-hand side vector for block vectors. | |
| virtual void | reinit_sparsity_pattern (const ScratchData< dim, dim, number > &scratch_data) |
| Reinitialize the sparsity pattern of the system matrix. | |
| const SparseMatrixType & | get_system_matrix () const |
| SparseMatrixType & | get_system_matrix () |
Static Public Member Functions | |
| static void | get_unit_normals_at_quadrature (const dealii::FEValues< dim > &fe_values, const BlockVectorType &normal_vector_field_in, std::vector< dealii::Tensor< 1, dim, number > > &unit_normal_at_quadrature, const number zero=1e-16) |
Private Member Functions | |
| void | tangent_local_cell_operation (FECellIntegrator< dim, 1, number > &normal_vals, FECellIntegrator< dim, 1, number > &level_set_vals, const bool do_reinit_cells) const |
Private Attributes | |
| const ScratchData< dim, dim, number > & | scratch_data |
| const NormalVectorData< number > & | normal_vector_data |
| const std::array< unsigned int, dim > | normal_dof_indices_per_block |
| const unsigned int | normal_quad_idx |
| const unsigned int | ls_dof_idx |
| const VectorType * | solution_level_set |
| dealii::AlignedVector< dealii::VectorizedArray< number > > | damping |
Additional Inherited Members | |
Protected Attributes inherited from MeltPoolDG::OperatorBase< number > | |
| unsigned int | dof_idx = dealii::numbers::invalid_unsigned_int |
| number | time_increment = numbers::invalid_double |
| number | time_increment_inv = numbers::invalid_double |
Protected Attributes inherited from MeltPoolDG::OperatorMatrixBased< dim, number > | |
| SparseMatrixType | system_matrix |
| SparsityPatternType | dsp |
Member Typedef Documentation
◆ BlockVectorType
| using MeltPoolDG::LevelSet::NormalVectorOperator< dim, number >::BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<number> |
◆ SparseMatrixType
| using MeltPoolDG::LevelSet::NormalVectorOperator< dim, number >::SparseMatrixType = dealii::TrilinosWrappers::SparseMatrix |
◆ VectorizedArrayType
| using MeltPoolDG::LevelSet::NormalVectorOperator< dim, number >::VectorizedArrayType = dealii::VectorizedArray<number> |
◆ VectorType
| using MeltPoolDG::LevelSet::NormalVectorOperator< dim, number >::VectorType = dealii::LinearAlgebra::distributed::Vector<number> |
Constructor & Destructor Documentation
◆ NormalVectorOperator()
| MeltPoolDG::LevelSet::NormalVectorOperator< dim, number >::NormalVectorOperator | ( | const ScratchData< dim, dim, number > & | scratch_data_in, |
| const NormalVectorData< number > & | normal_vector_data_in, | ||
| const std::array< unsigned int, dim > & | normal_dof_indices_per_block_in, | ||
| const unsigned int | normal_quad_idx_in, | ||
| const unsigned int | ls_dof_idx_in, | ||
| const VectorType * | solution_level_set_in = nullptr |
||
| ) |
Member Function Documentation
◆ compute_inverse_diagonal_from_matrixfree()
|
finalvirtual |
Compute the inverse diagonal using matrix-free techniques for block vectors.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
◆ compute_system_matrix_and_rhs()
|
finalvirtual |
Compute the system matrix and right-hand side block vector.
- Parameters
-
src Source vector. dst Destination block vector.
Reimplemented from MeltPoolDG::OperatorMatrixBased< dim, number >.
◆ compute_system_matrix_from_matrixfree()
|
finalvirtual |
Compute a sparse matrix using matrix-free techniques.
- Parameters
-
matrix Sparse matrix to compute.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
◆ create_rhs()
|
finalvirtual |
Compute the right-hand side vector for block vectors dst.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
◆ get_unit_normals_at_quadrature()
|
static |
◆ reinit()
|
finalvirtual |
Reinitialize data structures. Can be overridden by derived classes.
Reimplemented from MeltPoolDG::OperatorBase< number >.
◆ tangent_local_cell_operation()
|
private |
◆ vmult()
|
finalvirtual |
Apply the matrix-free operator for block vectors.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
Member Data Documentation
◆ damping
|
private |
◆ ls_dof_idx
|
private |
◆ normal_dof_indices_per_block
|
private |
◆ normal_quad_idx
|
private |
◆ normal_vector_data
|
private |
◆ scratch_data
|
private |
◆ solution_level_set
|
private |
The documentation for this class was generated from the following files:
- include/meltpooldg/level_set/normal_vector_operator.hpp
- source/level_set/normal_vector_operator.cpp
Generated by
Public Types inherited from