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