The gradient in a volume using Green Gauss theorem and a cell-centered finite-volume approximation can be computed as follows: More...
#include <ComputeLinearFVGreenGaussGradientVolumeThread.h>
Public Types | |
| using | ElemInfoRange = StoredRange< MooseMesh::const_elem_info_iterator, const ElemInfo * > |
Public Member Functions | |
| ComputeLinearFVGreenGaussGradientVolumeThread (FEProblemBase &fe_problem, SystemBase &system, std::vector< std::unique_ptr< NumericVector< Number >>> &temporary_gradient) | |
| Class constructor. More... | |
| ComputeLinearFVGreenGaussGradientVolumeThread (ComputeLinearFVGreenGaussGradientVolumeThread &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 ComputeLinearFVGreenGaussGradientVolumeThread &y) |
| Join threads at the end of the execution. More... | |
Protected Attributes | |
| FEProblemBase & | _fe_problem |
| 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. More... | |
| const unsigned int | _system_number |
| Global system number. More... | |
| THREAD_ID | _tid |
| Thread ID. More... | |
| MooseLinearVariableFV< Real > * | _current_var |
| Pointer to the current variable. More... | |
| std::vector< std::unique_ptr< NumericVector< Number > > > & | _temporary_gradient |
| Cache for the temporary gradient being built. More... | |
The gradient in a volume using Green Gauss theorem and a cell-centered finite-volume approximation can be computed as follows:
u {1}{V_C} u_f{n}_f,
where V_C denotes the volume of the cell, f is a face iterator, while u_f and {S}_f are the face value of the variable and surface area vector (the product of the surface area and normals), respectively. This object carries out the normalization with the element volumes.
Furthermore, in cylindrical coordinates, the radial value of the gradient needs to be extended with a u(r)/r value which is added in this object as well.
Definition at line 38 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
| using ComputeLinearFVGreenGaussGradientVolumeThread::ElemInfoRange = StoredRange<MooseMesh::const_elem_info_iterator, const ElemInfo *> |
Definition at line 59 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
| ComputeLinearFVGreenGaussGradientVolumeThread::ComputeLinearFVGreenGaussGradientVolumeThread | ( | FEProblemBase & | fe_problem, |
| SystemBase & | system, | ||
| std::vector< std::unique_ptr< NumericVector< Number >>> & | temporary_gradient | ||
| ) |
Class constructor.
| fe_problem | Reference to the problem |
| system | The system which contains variables that need gradients. |
| temporary_gradient | Scratch storage holding the gradients being assembled. |
Definition at line 16 of file ComputeLinearFVGreenGaussGradientVolumeThread.C.
| ComputeLinearFVGreenGaussGradientVolumeThread::ComputeLinearFVGreenGaussGradientVolumeThread | ( | ComputeLinearFVGreenGaussGradientVolumeThread & | x, |
| Threads::split | split | ||
| ) |
Splitting constructor.
| x | Reference to the other bodies |
| split | The thread split |
Definition at line 29 of file ComputeLinearFVGreenGaussGradientVolumeThread.C.
| void ComputeLinearFVGreenGaussGradientVolumeThread::join | ( | const ComputeLinearFVGreenGaussGradientVolumeThread & | y | ) |
Join threads at the end of the execution.
| y | Reference to the other bodies |
Definition at line 114 of file ComputeLinearFVGreenGaussGradientVolumeThread.C.
| void ComputeLinearFVGreenGaussGradientVolumeThread::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 41 of file ComputeLinearFVGreenGaussGradientVolumeThread.C.
|
protected |
Pointer to the current variable.
Definition at line 88 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
The dimension of the domain.
Definition at line 73 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
|
protected |
Definition at line 70 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Reference to the libmesh system.
Definition at line 79 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
|
protected |
The system wrapper this thread operates on.
Definition at line 76 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Global system number.
Definition at line 82 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Cache for the temporary gradient being built.
Definition at line 91 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Thread ID.
Definition at line 85 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
1.8.14