Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
ComputeThreadedGeneralUserObjectsThread.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 "ParallelUniqueId.h"
13 #include "MooseTypes.h"
14 #include "MooseException.h"
15 #include "GeneralUserObject.h"
16 
17 typedef StoredRange<std::vector<GeneralUserObject *>::iterator, GeneralUserObject *>
19 
27 
35 {
36 public:
40 
42 
43  void operator()(const GeneralUserObjectRange & range);
44 
46 
51  virtual void caughtMooseException(MooseException &);
52 
53 protected:
56 
59 };
FEProblemBase & _fe_problem
FEProblem running this thread.
virtual void caughtMooseException(MooseException &)
Called if a MooseException is caught anywhere during the computation.
void printGeneralExecutionInformation(const GeneralUserObjectRange &range) const
Print information about the loop, mostly order of execution of objects.
Thread to compute threaded general user objects.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
static Threads::spin_mutex threaded_general_user_objects_mutex
This mutex is used to protect the creation of the strings used in the propogation of the error messag...
StoredRange< std::vector< GeneralUserObject * >::iterator, GeneralUserObject * > GeneralUserObjectRange
tbb::split split
Provides a way for users to bail out of the current solve.
void operator()(const GeneralUserObjectRange &range)
void join(const ComputeThreadedGeneralUserObjectsThread &)