Adds contributions from face terms discretized using the finite volume method to the matrix and right hand side of a linear system. More...
#include <ComputeLinearFVFaceThread.h>
Public Types | |
| using | FaceInfoRange = StoredRange< MooseMesh::const_face_info_iterator, const FaceInfo * > |
Public Member Functions | |
| ComputeLinearFVFaceThread (FEProblemBase &fe_problem, const unsigned int linear_system_num, const Moose::FV::LinearFVComputationMode mode, const std::set< TagID > &vector_tags, const std::set< TagID > &matrix_tags) | |
| Class constructor. More... | |
| ComputeLinearFVFaceThread (ComputeLinearFVFaceThread &x, Threads::split split) | |
| Splitting constructor. More... | |
| void | operator() (const FaceInfoRange &range) |
| Operator which is used to execute the thread over a certain iterator range. More... | |
| void | join (const ComputeLinearFVFaceThread &) |
| Join threads at the end of the execution. More... | |
Protected Member Functions | |
| void | setupSystemContributionObjects () |
| Setup the contribution objects before we start the loop. More... | |
| void | fetchBlockSystemContributionObjects () |
| Fetch LinearFVFluxKernels for a given block. More... | |
| void | printGeneralExecutionInformation () const |
| Print list of executed object types together with the execution order. More... | |
| void | printBlockExecutionInformation () const |
| Print ordering of objects executed on each block. More... | |
Protected Attributes | |
| FEProblemBase & | _fe_problem |
| Reference to the problem. More... | |
| const unsigned int | _system_number |
| The number of the linear system we are contributing to. More... | |
| const Moose::FV::LinearFVComputationMode | _mode |
| The mode in which this thread is operating. More... | |
| const std::set< TagID > & | _vector_tags |
| The vector tags this thread contributes to. More... | |
| const std::set< TagID > & | _matrix_tags |
| The matrix tags this thread contributes to. More... | |
| SubdomainID | _subdomain |
| The subdomain for the current element. More... | |
| SubdomainID | _old_subdomain |
| The subdomain for the last element. More... | |
| SubdomainID | _neighbor_subdomain |
| The subdomain for the current neighbor. More... | |
| SubdomainID | _old_neighbor_subdomain |
| The subdomain for the last neighbor. More... | |
| THREAD_ID | _tid |
| Thread ID. More... | |
| std::vector< LinearFVFluxKernel * > | _fv_flux_kernels_elem |
| Kernels which will only contribute to a matrix from the element-side of the face. More... | |
| std::vector< LinearFVFluxKernel * > | _fv_flux_kernels_neighbor |
| Kernels which will only contribute to a matrix from the neighbor-side of the face. More... | |
| std::set< LinearFVFluxKernel * > | _fv_flux_kernels |
| Combined LinearFVFluxKernels which will be used to contribute to a system. More... | |
Private Attributes | |
| bool | _system_contrib_objects_ready |
| Boolean that is used to check if the kernels are ready to start contributing to the system. More... | |
Adds contributions from face terms discretized using the finite volume method to the matrix and right hand side of a linear system.
Definition at line 27 of file ComputeLinearFVFaceThread.h.
| using ComputeLinearFVFaceThread::FaceInfoRange = StoredRange<MooseMesh::const_face_info_iterator, const FaceInfo *> |
Definition at line 53 of file ComputeLinearFVFaceThread.h.
| ComputeLinearFVFaceThread::ComputeLinearFVFaceThread | ( | FEProblemBase & | fe_problem, |
| const unsigned int | linear_system_num, | ||
| const Moose::FV::LinearFVComputationMode | mode, | ||
| const std::set< TagID > & | vector_tags, | ||
| const std::set< TagID > & | matrix_tags | ||
| ) |
Class constructor.
| fe_problem | Reference to the problem |
| linear_system_num | The number of the linear system which is assembled by this thread |
| mode | Computation mode (rhs, matrix or both) |
| vector_tags | The vector tags this thread should contribute to. These are used to query the warehouse for the objects that should contribute to the right hand side. |
| matrix_tags | The matrix tags this thread should contribute to. These are used to query the warehouse for the objects that should contribute to the matrix. |
Definition at line 16 of file ComputeLinearFVFaceThread.C.
| ComputeLinearFVFaceThread::ComputeLinearFVFaceThread | ( | ComputeLinearFVFaceThread & | x, |
| Threads::split | split | ||
| ) |
Splitting constructor.
| x | Reference to the other thread |
| split | The thread split |
Definition at line 31 of file ComputeLinearFVFaceThread.C.
|
protected |
Fetch LinearFVFluxKernels for a given block.
We only call this when we transition from one block to another.
Definition at line 120 of file ComputeLinearFVFaceThread.C.
Referenced by operator()().
| void ComputeLinearFVFaceThread::join | ( | const ComputeLinearFVFaceThread & | ) |
Join threads at the end of the execution.
Definition at line 81 of file ComputeLinearFVFaceThread.C.
| void ComputeLinearFVFaceThread::operator() | ( | const FaceInfoRange & | range | ) |
Operator which is used to execute the thread over a certain iterator range.
| range | The range of FaceInfos which should be computed. |
Definition at line 43 of file ComputeLinearFVFaceThread.C.
|
protected |
Print ordering of objects executed on each block.
Definition at line 200 of file ComputeLinearFVFaceThread.C.
Referenced by operator()().
|
protected |
Print list of executed object types together with the execution order.
Definition at line 186 of file ComputeLinearFVFaceThread.C.
Referenced by operator()().
|
protected |
Setup the contribution objects before we start the loop.
Definition at line 86 of file ComputeLinearFVFaceThread.C.
Referenced by operator()().
|
protected |
Reference to the problem.
Definition at line 76 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), printBlockExecutionInformation(), printGeneralExecutionInformation(), and setupSystemContributionObjects().
|
protected |
Combined LinearFVFluxKernels which will be used to contribute to a system.
Definition at line 114 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), operator()(), and printBlockExecutionInformation().
|
protected |
Kernels which will only contribute to a matrix from the element-side of the face.
Definition at line 107 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects().
|
protected |
Kernels which will only contribute to a matrix from the neighbor-side of the face.
Definition at line 111 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects().
|
protected |
The matrix tags this thread contributes to.
Definition at line 88 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), and setupSystemContributionObjects().
|
protected |
The mode in which this thread is operating.
Definition at line 82 of file ComputeLinearFVFaceThread.h.
|
protected |
The subdomain for the current neighbor.
Definition at line 97 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), operator()(), and printBlockExecutionInformation().
|
protected |
The subdomain for the last neighbor.
Definition at line 100 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), and operator()().
|
protected |
The subdomain for the last element.
Definition at line 94 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), and operator()().
|
protected |
The subdomain for the current element.
Definition at line 91 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), operator()(), and printBlockExecutionInformation().
|
private |
Boolean that is used to check if the kernels are ready to start contributing to the system.
Definition at line 119 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), and setupSystemContributionObjects().
|
protected |
The number of the linear system we are contributing to.
Definition at line 79 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), and setupSystemContributionObjects().
|
protected |
Thread ID.
Definition at line 103 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), operator()(), printBlockExecutionInformation(), printGeneralExecutionInformation(), and setupSystemContributionObjects().
|
protected |
The vector tags this thread contributes to.
Definition at line 85 of file ComputeLinearFVFaceThread.h.
Referenced by fetchBlockSystemContributionObjects(), and setupSystemContributionObjects().
1.8.14