17template <
typename RangeType,
typename IteratorType>
43 virtual void onNode(IteratorType & node_it);
60 std::string what(e.
what());
79template <
typename RangeType,
typename IteratorType>
81 : _fe_problem(fe_problem)
85template <
typename RangeType,
typename IteratorType>
88 : _fe_problem(x._fe_problem)
92template <
typename RangeType,
typename IteratorType>
102 printGeneralExecutionInformation();
104 for (IteratorType nd = range.begin(); nd != range.end(); ++nd)
118 caughtMooseException(e);
122template <
typename RangeType,
typename IteratorType>
128template <
typename RangeType,
typename IteratorType>
134template <
typename RangeType,
typename IteratorType>
140template <
typename RangeType,
typename IteratorType>
static Threads::spin_mutex threaded_node_mutex
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual bool hasException()
Whether or not an exception has occurred.
virtual void setException(const std::string &message)
Set an exception, which is stored at this point by toggling a member variable in this class,...
Provides a way for users to bail out of the current solve.
virtual const char * what() const
Get out the error message.
virtual void printGeneralExecutionInformation() const
Print information about the loop, mostly order of execution of objects.
virtual void postNode(IteratorType &node_it)
Called after the node assembly is done (including surface assembling)
virtual void onNode(IteratorType &node_it)
Called for each node.
ThreadedNodeLoop(ThreadedNodeLoop &x, Threads::split split)
ThreadedNodeLoop(FEProblemBase &fe_problem)
virtual bool keepGoing()
Whether or not the loop should continue.
FEProblemBase & _fe_problem
virtual void pre()
Called before the node range loop.
virtual void post()
Called after the node range loop.
virtual ~ThreadedNodeLoop()
void operator()(const RangeType &range)
virtual void caughtMooseException(MooseException &e)
Called if a MooseException is caught anywhere during the computation.