https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeLinearFVGreenGaussGradientFaceThread.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "MooseTypes.h"
13#include "MooseMesh.h"
15
16// libmesh
17#include "libmesh/elem_range.h"
18#include "libmesh/threads.h"
19#include "libmesh/system.h"
20
21class FEProblemBase;
22class SystemBase;
23
36{
37public:
45 FEProblemBase & fe_problem,
46 SystemBase & system,
47 std::vector<std::unique_ptr<NumericVector<Number>>> & temporary_gradient);
48
55 Threads::split split);
56 using FaceInfoRange = StoredRange<MooseMesh::const_face_info_iterator, const FaceInfo *>;
57
60 void operator()(const FaceInfoRange & range);
61
65
66protected:
69
71 const unsigned int _dim;
72
75
78
80 const unsigned int _system_number;
81
84
87
90 std::vector<std::unique_ptr<NumericVector<Number>>> & _temporary_gradient;
91};
unsigned int THREAD_ID
Definition MooseTypes.h:237
The gradient in a volume using Green Gauss theorem and a cell-centered finite-volume approximation ca...
const unsigned int _system_number
Global system number (the number of this system in the libmesh equation system)
void join(const ComputeLinearFVGreenGaussGradientFaceThread &y)
Join threads at the end of the execution.
std::vector< std::unique_ptr< NumericVector< Number > > > & _temporary_gradient
Cache for the temporary gradient being built.
void operator()(const FaceInfoRange &range)
Operator which is used to execute the thread over a certain iterator range.
MooseLinearVariableFV< Real > * _current_var
Pointer to the current variable.
StoredRange< MooseMesh::const_face_info_iterator, const FaceInfo * > FaceInfoRange
SystemBase & _system
The system wrapper this thread operates on.
const libMesh::System & _libmesh_system
Reference to the libMesh system backing the wrapper system.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
This class provides variable solution interface for linear finite volume problems.
Base class for a system (of equations)
Definition SystemBase.h:87