www.mooseframework.org
ComputeNodalAuxVarsThread.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 // MOOSE includes
13 #include "ThreadedNodeLoop.h"
14 
15 #include "libmesh/node_range.h"
16 
17 // Forward declarations
18 class AuxiliarySystem;
19 class FEProblemBase;
20 template <typename T>
22 
23 template <typename AuxKernelType>
25  : public ThreadedNodeLoop<ConstNodeRange, ConstNodeRange::const_iterator>
26 {
27 public:
29  const MooseObjectWarehouse<AuxKernelType> & storage);
30 
31  // Splitting Constructor
33 
34  void onNode(ConstNodeRange::const_iterator & nd) override;
35 
36  void join(const ComputeNodalAuxVarsThread & /*y*/);
37 
38  void subdomainChanged();
39 
40  void post() override;
41 
42 protected:
44  void printGeneralExecutionInformation() const override;
45 
47 
50 
51  std::set<SubdomainID> _block_ids;
52 
53  static Threads::spin_mutex writable_variable_mutex;
54 };
void post() override
Called after the node range loop.
void join(const ComputeNodalAuxVarsThread &)
A storage container for MooseObjects that inherit from SetupInterface.
void onNode(ConstNodeRange::const_iterator &nd) override
Called for each node.
const MooseObjectWarehouse< AuxKernelType > & _storage
Storage object containing active AuxKernel objects.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
ComputeNodalAuxVarsThread(FEProblemBase &fe_problem, const MooseObjectWarehouse< AuxKernelType > &storage)
tbb::split split
std::set< SubdomainID > _block_ids
void printGeneralExecutionInformation() const override
Print information about the loop, mostly order of execution of objects.
static Threads::spin_mutex writable_variable_mutex
A system that holds auxiliary variables.