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, const unsigned int linear_system_num) | |
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... | |
const unsigned int | _linear_system_number |
The number of the linear system on which this thread is acting. More... | |
const libMesh::LinearImplicitSystem & | _linear_system |
Reference to the linear system at libmesh level. 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... | |
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 37 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
using ComputeLinearFVGreenGaussGradientVolumeThread::ElemInfoRange = StoredRange<MooseMesh::const_elem_info_iterator, const ElemInfo *> |
Definition at line 56 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
ComputeLinearFVGreenGaussGradientVolumeThread::ComputeLinearFVGreenGaussGradientVolumeThread | ( | FEProblemBase & | fe_problem, |
const unsigned int | linear_system_num | ||
) |
Class constructor.
fe_problem | Reference to the problem |
linear_system_num | The number of the linear system which contains variables that need gradients. |
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 27 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 38 of file ComputeLinearFVGreenGaussGradientVolumeThread.C.
|
protected |
Pointer to the current variable.
Definition at line 85 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
The dimension of the domain.
Definition at line 70 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
|
protected |
Definition at line 67 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Reference to the linear system at libmesh level.
Definition at line 76 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
|
protected |
The number of the linear system on which this thread is acting.
Definition at line 73 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Global system number.
Definition at line 79 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().
|
protected |
Thread ID.
Definition at line 82 of file ComputeLinearFVGreenGaussGradientVolumeThread.h.
Referenced by operator()().