www.mooseframework.org
ComputeNodalUserObjectsThread.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "ThreadedNodeLoop.h"
13 
14 #include "libmesh/node_range.h"
15 
16 // Forward declarations
17 class SubProblem;
18 
20  : public ThreadedNodeLoop<ConstNodeRange, ConstNodeRange::const_iterator>
21 {
22 public:
24  // Splitting Constructor
26 
28 
29  void subdomainChanged();
30 
31  virtual void onNode(ConstNodeRange::const_iterator & node_it) override;
32 
33  void join(const ComputeNodalUserObjectsThread & /*y*/);
34 
36  void printGeneralExecutionInformation() const override;
37 
38 private:
41  std::set<SubdomainID> _block_ids;
42 
43  static Threads::spin_mutex writable_variable_mutex;
44 };
QueryCache is a convenient way to construct and pass around (possible partially constructed) warehous...
Definition: TheWarehouse.h:208
static Threads::spin_mutex writable_variable_mutex
ComputeNodalUserObjectsThread(FEProblemBase &fe_problem, const TheWarehouse::Query &query)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
query_obj query
tbb::split split
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:75
void join(const ComputeNodalUserObjectsThread &)
void printGeneralExecutionInformation() const override
Print information about the loop, mostly order of execution of objects.
virtual void onNode(ConstNodeRange::const_iterator &node_it) override
Called for each node.
A system that holds auxiliary variables.