PseudoRTEOperator< dim, number > Class Template Reference
|
Developer Documentation
|
Public Member Functions |
Private Types |
Private Member Functions |
Private Attributes |
List of all members
MeltPoolDG::RadiativeTransport::PseudoRTEOperator< dim, number > Class Template Reference
#include <pseudo_rte_operator.hpp>
Inheritance diagram for MeltPoolDG::RadiativeTransport::PseudoRTEOperator< dim, number >:
Collaboration diagram for MeltPoolDG::RadiativeTransport::PseudoRTEOperator< dim, number >:
Public Member Functions | |
| PseudoRTEOperator (const ScratchData< dim, dim, number > &scratch_data_in, const RadiativeTransportData< number > &rte_data_in, const dealii::Tensor< 1, dim, number > &laser_direction_in, const VectorType &heaviside_in, const unsigned int rte_dof_idx_in, const unsigned int rte_quad_idx_in, const unsigned int hs_dof_idx_in) | |
| void | vmult (VectorType &dst, const VectorType &src) const final |
| void | create_rhs (VectorType &dst, const VectorType &src) const final |
| Compute the right-hand side vector. | |
| void | compute_system_matrix_from_matrixfree (SparseMatrixType &system_matrix) const final |
| Compute a sparse matrix using matrix-free techniques. | |
| void | compute_inverse_diagonal_from_matrixfree (VectorType &diagonal) const final |
| Compute the inverse diagonal using matrix-free techniques. | |
Public Member Functions inherited from MeltPoolDG::OperatorMatrixFree< dim, number > | |
| virtual | ~OperatorMatrixFree ()=default |
| virtual void | create_rhs (BlockVectorType &, const VectorType &) const |
Compute the right-hand side vector for block vectors dst. | |
| virtual void | create_rhs (VectorType &, const BlockVectorType &) const |
Compute the right-hand side vector for block vectors src. | |
| virtual void | vmult (BlockVectorType &, const BlockVectorType &) const |
| virtual void | compute_inverse_diagonal_from_matrixfree (BlockVectorType &) const |
| Compute the inverse diagonal using matrix-free techniques for block vectors. | |
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. | |
| virtual void | reinit () |
| Reinitialize data structures. Can be overridden by derived classes. | |
Private Types | |
| using | VectorType = typename OperatorMatrixFree< dim, number >::VectorType |
| using | SparseMatrixType = typename OperatorMatrixFree< dim, number >::SparseMatrixType |
| using | vector = dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > |
| using | scalar = dealii::VectorizedArray< number > |
Private Member Functions | |
| void | tangent_local_cell_operation (FECellIntegrator< dim, 1, number > &intensity_vals) const |
Private Attributes | |
| const ScratchData< dim, dim, number > & | scratch_data |
| const RadiativeTransportData< number > & | rte_data |
| const dealii::Tensor< 1, dim, number > & | laser_direction |
| const VectorType & | heaviside |
| const unsigned int | rte_dof_idx |
| const unsigned int | rte_quad_idx |
| const unsigned int | hs_dof_idx |
| const number | pure_gas_level_set |
| const number | pure_liquid_level_set |
Additional Inherited Members | |
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 |
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 |
Member Typedef Documentation
◆ scalar
template<int dim, typename number >
|
private |
◆ SparseMatrixType
template<int dim, typename number >
|
private |
◆ vector
template<int dim, typename number >
|
private |
◆ VectorType
template<int dim, typename number >
|
private |
Constructor & Destructor Documentation
◆ PseudoRTEOperator()
template<int dim, typename number >
| MeltPoolDG::RadiativeTransport::PseudoRTEOperator< dim, number >::PseudoRTEOperator | ( | const ScratchData< dim, dim, number > & | scratch_data_in, |
| const RadiativeTransportData< number > & | rte_data_in, | ||
| const dealii::Tensor< 1, dim, number > & | laser_direction_in, | ||
| const VectorType & | heaviside_in, | ||
| const unsigned int | rte_dof_idx_in, | ||
| const unsigned int | rte_quad_idx_in, | ||
| const unsigned int | hs_dof_idx_in | ||
| ) |
Member Function Documentation
◆ compute_inverse_diagonal_from_matrixfree()
template<int dim, typename number >
|
finalvirtual |
Compute the inverse diagonal using matrix-free techniques.
- Parameters
-
diag Vector representing the diagonal.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
◆ compute_system_matrix_from_matrixfree()
template<int dim, typename number >
|
finalvirtual |
Compute a sparse matrix using matrix-free techniques.
- Parameters
-
matrix Sparse matrix to compute.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
◆ create_rhs()
template<int dim, typename number >
|
finalvirtual |
Compute the right-hand side vector.
This function is intended to compute the right-hand side vector (dst). It is currently used in the utility function create_rhs_and_apply_dirichlet_matrixfree().
- Parameters
-
src Source vector. dst Destination vector.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
◆ tangent_local_cell_operation()
template<int dim, typename number >
|
private |
◆ vmult()
template<int dim, typename number >
|
finalvirtual |
Apply the matrix-free operator to a vector src and store It inside dst. This function is used in the iterative linear solver.
- Parameters
-
src Source vector. dst Destination vector.
Reimplemented from MeltPoolDG::OperatorMatrixFree< dim, number >.
Member Data Documentation
◆ heaviside
template<int dim, typename number >
|
private |
◆ hs_dof_idx
template<int dim, typename number >
|
private |
◆ laser_direction
template<int dim, typename number >
|
private |
◆ pure_gas_level_set
template<int dim, typename number >
|
private |
◆ pure_liquid_level_set
template<int dim, typename number >
|
private |
◆ rte_data
template<int dim, typename number >
|
private |
◆ rte_dof_idx
template<int dim, typename number >
|
private |
◆ rte_quad_idx
template<int dim, typename number >
|
private |
◆ scratch_data
template<int dim, typename number >
|
private |
The documentation for this class was generated from the following files:
- include/meltpooldg/radiative_transport/pseudo_rte_operator.hpp
- source/radiative_transport/pseudo_rte_operator.cpp
Generated by
Public Member Functions inherited from