Compute limited cell gradients for linear FV variables. More...
#include <ComputeLinearFVLimitedGradientThread.h>
Public Types | |
| using | ElemInfoRange = StoredRange< MooseMesh::const_elem_info_iterator, const ElemInfo * > |
Public Member Functions | |
| ComputeLinearFVLimitedGradientThread (FEProblemBase &fe_problem, SystemBase &system, const std::vector< std::unique_ptr< NumericVector< Number >>> &raw_gradient, std::vector< std::unique_ptr< NumericVector< Number >>> &temporary_limited_gradient, const Moose::FV::GradientLimiterType limiter_type, const std::unordered_set< unsigned int > &requested_variables) | |
| Class constructor. More... | |
| ComputeLinearFVLimitedGradientThread (ComputeLinearFVLimitedGradientThread &x, Threads::split split) | |
| Splitting constructor. More... | |
| void | operator() (const ElemInfoRange &range) |
| Operator which is used to execute the thread over a certain iterator range. More... | |
| void | join (const ComputeLinearFVLimitedGradientThread &y) |
| Join threads at the end of the execution. More... | |
Protected Attributes | |
| FEProblemBase & | _fe_problem |
| Reference to the problem. More... | |
| const unsigned int | _dim |
| The dimension of the domain. More... | |
| SystemBase & | _system |
| The system wrapper this thread operates on. More... | |
| const libMesh::System & | _libmesh_system |
| Reference to the libMesh system backing the wrapper system. More... | |
| const unsigned int | _system_number |
| Global system number in the libMesh equation system. More... | |
| const std::vector< std::unique_ptr< NumericVector< Number > > > & | _raw_gradient |
| Reference to the raw gradient storage used as input for limiting. More... | |
| const Moose::FV::GradientLimiterType | _limiter_type |
| The type of the limiter we requested. More... | |
| const std::unordered_set< unsigned int > & | _requested_variables |
| Variable numbers that requested the current limiter. More... | |
| THREAD_ID | _tid |
| Thread ID. More... | |
| MooseLinearVariableFV< Real > * | _current_var |
| Pointer to the current variable we are operating on. More... | |
| std::vector< std::unique_ptr< NumericVector< Number > > > & | _temporary_limited_gradient |
| Reference to the temporary limited gradient storage. More... | |
Compute limited cell gradients for linear FV variables.
This thread currently supports limited gradients produced by scaling the raw Green-Gauss gradients with a per-cell limiter coefficient (e.g. Venkatakrishnan).
Definition at line 32 of file ComputeLinearFVLimitedGradientThread.h.
| using ComputeLinearFVLimitedGradientThread::ElemInfoRange = StoredRange<MooseMesh::const_elem_info_iterator, const ElemInfo *> |
Definition at line 61 of file ComputeLinearFVLimitedGradientThread.h.
| ComputeLinearFVLimitedGradientThread::ComputeLinearFVLimitedGradientThread | ( | FEProblemBase & | fe_problem, |
| SystemBase & | system, | ||
| const std::vector< std::unique_ptr< NumericVector< Number >>> & | raw_gradient, | ||
| std::vector< std::unique_ptr< NumericVector< Number >>> & | temporary_limited_gradient, | ||
| const Moose::FV::GradientLimiterType | limiter_type, | ||
| const std::unordered_set< unsigned int > & | requested_variables | ||
| ) |
Class constructor.
| fe_problem | Reference to the problem |
| system | The system whose variables are assembled by this thread. |
| raw_gradient | The raw gradient container used as limiter input. |
| temporary_limited_gradient | Scratch storage for limited gradients being assembled (used as output as well, but later swapped with another container). |
| limiter_type | The type of the limiter which should be computed. |
| requested_variables | Variable numbers that requested this limiter. |
Definition at line 24 of file ComputeLinearFVLimitedGradientThread.C.
| ComputeLinearFVLimitedGradientThread::ComputeLinearFVLimitedGradientThread | ( | ComputeLinearFVLimitedGradientThread & | x, |
| Threads::split | split | ||
| ) |
Splitting constructor.
| x | Reference to the other thread |
| split | The thread split |
Definition at line 43 of file ComputeLinearFVLimitedGradientThread.C.
| void ComputeLinearFVLimitedGradientThread::join | ( | const ComputeLinearFVLimitedGradientThread & | y | ) |
Join threads at the end of the execution.
Definition at line 218 of file ComputeLinearFVLimitedGradientThread.C.
| void ComputeLinearFVLimitedGradientThread::operator() | ( | const ElemInfoRange & | range | ) |
Operator which is used to execute the thread over a certain iterator range.
| range | The range of ElemInfos which should be computed. |
Definition at line 58 of file ComputeLinearFVLimitedGradientThread.C.
|
protected |
Pointer to the current variable we are operating on.
Definition at line 98 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
The dimension of the domain.
Definition at line 74 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Reference to the problem.
Definition at line 71 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Reference to the libMesh system backing the wrapper system.
Definition at line 80 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
The type of the limiter we requested.
Definition at line 89 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Reference to the raw gradient storage used as input for limiting.
Definition at line 86 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Variable numbers that requested the current limiter.
Definition at line 92 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
The system wrapper this thread operates on.
Definition at line 77 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Global system number in the libMesh equation system.
Definition at line 83 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Reference to the temporary limited gradient storage.
Definition at line 101 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
|
protected |
Thread ID.
Definition at line 95 of file ComputeLinearFVLimitedGradientThread.h.
Referenced by operator()().
1.8.14