NormalVectorDGOperation< dim, number > Class Template Reference
|
Developer Documentation
|
Public Member Functions |
Private Types |
Private Member Functions |
Private Attributes |
List of all members
MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number > Class Template Reference
#include <normal_vector_DG_operation.hpp>
Inheritance diagram for MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number >:
Collaboration diagram for MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number >:
Public Member Functions | |
| NormalVectorDGOperation (const ScratchData< dim, dim, number > &scratch_data_in, const unsigned int normal_dof_idx_in, const unsigned int normal_quad_idx_in, const VectorType &solution_level_set_in, const NormalVectorData< number > &normal_vector_data) | |
| void | reinit () override |
| void | solve () override |
| const BlockVectorType & | get_solution_normal_vector () const override |
| BlockVectorType & | get_solution_normal_vector () override |
| void | attach_vectors (std::vector< dealii::LinearAlgebra::distributed::Vector< number > * > &vectors) override |
| template<uint direction> | |
| void | right_hand_side_domain (const MatrixFree< dim, number > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const |
Public Member Functions inherited from MeltPoolDG::LevelSet::NormalVectorOperationBase< dim, number > | |
| virtual | ~NormalVectorOperationBase ()=default |
Private Types | |
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| using | BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number > |
| using | SparseMatrixType = dealii::TrilinosWrappers::SparseMatrix |
Private Member Functions | |
| template<uint direction> | |
| void | right_hand_side_domain (const dealii::MatrixFree< dim, number > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const |
Private Attributes | |
| const ScratchData< dim, dim, number > & | scratch_data |
| const VectorType & | solution_level_set |
| const NormalVectorData< number > | normal_vector_data |
| TimeIntegration::SolutionHistory< BlockVectorType > | solution_history |
| const unsigned int | normal_dof_idx |
| const unsigned int | normal_quad_idx |
| const HelmholtzDGOperator< dim, number > | helmholtz_operator |
Detailed Description
template<int dim, typename number>
class MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number >
class MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number >
!!!! the normal vector field is not normalized to length one, it actually represents the gradient of the level set function !!!!
Member Typedef Documentation
◆ BlockVectorType
template<int dim, typename number >
|
private |
◆ SparseMatrixType
template<int dim, typename number >
|
private |
◆ VectorType
template<int dim, typename number >
|
private |
Constructor & Destructor Documentation
◆ NormalVectorDGOperation()
template<int dim, typename number >
| MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number >::NormalVectorDGOperation | ( | const ScratchData< dim, dim, number > & | scratch_data_in, |
| const unsigned int | normal_dof_idx_in, | ||
| const unsigned int | normal_quad_idx_in, | ||
| const VectorType & | solution_level_set_in, | ||
| const NormalVectorData< number > & | normal_vector_data | ||
| ) |
Member Function Documentation
◆ attach_vectors()
template<int dim, typename number >
|
overridevirtual |
◆ get_solution_normal_vector() [1/2]
template<int dim, typename number >
|
overridevirtual |
◆ get_solution_normal_vector() [2/2]
template<int dim, typename number >
|
overridevirtual |
◆ reinit()
template<int dim, typename number >
|
overridevirtual |
◆ right_hand_side_domain() [1/2]
template<int dim, typename number >
template<uint direction>
|
private |
Applies the domain integral of the right hand side
- Parameters
-
data the matrix free object dst destination where the result is stored src source vector cell_range
◆ right_hand_side_domain() [2/2]
template<int dim, typename number >
template<uint direction>
| void MeltPoolDG::LevelSet::NormalVectorDGOperation< dim, number >::right_hand_side_domain | ( | const MatrixFree< dim, number > & | data, |
| VectorType & | dst, | ||
| const VectorType & | src, | ||
| const std::pair< unsigned int, unsigned int > & | cell_range | ||
| ) | const |
◆ solve()
template<int dim, typename number >
|
overridevirtual |
The right hand side is filled for each dimension individually. Afterwards the system is is solved for each component of the normal vector
Implements MeltPoolDG::LevelSet::NormalVectorOperationBase< dim, number >.
Member Data Documentation
◆ helmholtz_operator
template<int dim, typename number >
|
private |
◆ normal_dof_idx
template<int dim, typename number >
|
private |
◆ normal_quad_idx
template<int dim, typename number >
|
private |
◆ normal_vector_data
template<int dim, typename number >
|
private |
◆ scratch_data
template<int dim, typename number >
|
private |
◆ solution_history
template<int dim, typename number >
|
private |
◆ solution_level_set
template<int dim, typename number >
|
private |
The documentation for this class was generated from the following files:
- include/meltpooldg/level_set/normal_vector_DG_operation.hpp
- source/level_set/normal_vector_DG_operation.cpp
Generated by
Public Member Functions inherited from