17 #include "libmesh/elem_range.h" 18 #include "libmesh/threads.h" 41 const unsigned int linear_system_num,
43 const std::set<TagID> & vector_tags,
44 const std::set<TagID> & matrix_tags);
53 using FaceInfoRange = StoredRange<MooseMesh::const_face_info_iterator, const FaceInfo *>;
void operator()(const FaceInfoRange &range)
Operator which is used to execute the thread over a certain iterator range.
StoredRange< MooseMesh::const_face_info_iterator, const FaceInfo * > FaceInfoRange
SubdomainID _old_neighbor_subdomain
The subdomain for the last neighbor.
const unsigned int _system_number
The number of the linear system we are contributing to.
std::vector< LinearFVFluxKernel * > _fv_flux_kernels_elem
Kernels which will only contribute to a matrix from the element-side of the face. ...
SubdomainID _old_subdomain
The subdomain for the last element.
void fetchBlockSystemContributionObjects()
Fetch LinearFVFluxKernels for a given block.
ComputeLinearFVFaceThread(FEProblemBase &fe_problem, const unsigned int linear_system_num, const Moose::FV::LinearFVComputationMode mode, const std::set< TagID > &vector_tags, const std::set< TagID > &matrix_tags)
Class constructor.
Finite volume kernel that contributes approximations of discretized face flux terms to the matrix and...
const Moose::FV::LinearFVComputationMode _mode
The mode in which this thread is operating.
void setupSystemContributionObjects()
Setup the contribution objects before we start the loop.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
bool _system_contrib_objects_ready
Boolean that is used to check if the kernels are ready to start contributing to the system...
std::vector< LinearFVFluxKernel * > _fv_flux_kernels_neighbor
Kernels which will only contribute to a matrix from the neighbor-side of the face.
SubdomainID _subdomain
The subdomain for the current element.
FEProblemBase & _fe_problem
Reference to the problem.
void printBlockExecutionInformation() const
Print ordering of objects executed on each block.
void join(const ComputeLinearFVFaceThread &)
Join threads at the end of the execution.
std::set< LinearFVFluxKernel * > _fv_flux_kernels
Combined LinearFVFluxKernels which will be used to contribute to a system.
SubdomainID _neighbor_subdomain
The subdomain for the current neighbor.
void printGeneralExecutionInformation() const
Print list of executed object types together with the execution order.
Adds contributions from face terms discretized using the finite volume method to the matrix and right...
const std::set< TagID > & _matrix_tags
The matrix tags this thread contributes to.
const std::set< TagID > & _vector_tags
The vector tags this thread contributes to.