The gradient in a volume using Green Gauss theorem and a cell-centered finite-volume approximation can be computed as follows: More...
#include <ComputeLinearFVGreenGaussGradientFaceThread.h>
Public Types | |
using | FaceInfoRange = StoredRange< MooseMesh::const_face_info_iterator, const FaceInfo * > |
Public Member Functions | |
ComputeLinearFVGreenGaussGradientFaceThread (FEProblemBase &fe_problem, const unsigned int linear_system_num) | |
Class constructor. More... | |
ComputeLinearFVGreenGaussGradientFaceThread (ComputeLinearFVGreenGaussGradientFaceThread &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 ComputeLinearFVGreenGaussGradientFaceThread &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... | |
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 (the number of this system in the libmesh equation system) More... | |
THREAD_ID | _tid |
Thread ID. More... | |
MooseLinearVariableFV< Real > * | _current_var |
Pointer to the current variable. More... | |
std::vector< std::unique_ptr< NumericVector< Number > > > & | _new_gradient |
Cache for the new gradient which is 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{S}_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 summation part over the faces ( u_f{S}_f).
Definition at line 34 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
using ComputeLinearFVGreenGaussGradientFaceThread::FaceInfoRange = StoredRange<MooseMesh::const_face_info_iterator, const FaceInfo *> |
Definition at line 53 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
ComputeLinearFVGreenGaussGradientFaceThread::ComputeLinearFVGreenGaussGradientFaceThread | ( | 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 ComputeLinearFVGreenGaussGradientFaceThread.C.
ComputeLinearFVGreenGaussGradientFaceThread::ComputeLinearFVGreenGaussGradientFaceThread | ( | ComputeLinearFVGreenGaussGradientFaceThread & | x, |
Threads::split | split | ||
) |
Splitting constructor.
x | Reference to the other bodies |
split | The thread split |
Definition at line 28 of file ComputeLinearFVGreenGaussGradientFaceThread.C.
void ComputeLinearFVGreenGaussGradientFaceThread::join | ( | const ComputeLinearFVGreenGaussGradientFaceThread & | y | ) |
Join threads at the end of the execution.
y | Reference to the other bodies |
Definition at line 156 of file ComputeLinearFVGreenGaussGradientFaceThread.C.
void ComputeLinearFVGreenGaussGradientFaceThread::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 42 of file ComputeLinearFVGreenGaussGradientFaceThread.C.
|
protected |
Pointer to the current variable.
Definition at line 83 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
The dimension of the domain.
Definition at line 68 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
Reference to the problem.
Definition at line 65 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
Reference to the linear system at libmesh level.
Definition at line 74 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
The number of the linear system on which this thread is acting.
Definition at line 71 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
Cache for the new gradient which is being built.
It is needed because in certain scenarios the old gradient is used for computing the new gradient.
Definition at line 87 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
Global system number (the number of this system in the libmesh equation system)
Definition at line 77 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().
|
protected |
Thread ID.
Definition at line 80 of file ComputeLinearFVGreenGaussGradientFaceThread.h.
Referenced by operator()().