www.mooseframework.org
ComputeNodalKernelBcsThread.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 "MooseMesh.h"
13 #include "ThreadedNodeLoop.h"
15 
16 class AuxiliarySystem;
17 class NodalKernelBase;
18 
20  : public ThreadedNodeLoop<ConstBndNodeRange, ConstBndNodeRange::const_iterator>
21 {
22 public:
25  const std::set<TagID> & tags);
26  // Splitting Constructor
28 
29  virtual void pre() override;
30 
31  virtual void onNode(ConstBndNodeRange::const_iterator & node_it) override;
32 
33  void join(const ComputeNodalKernelBcsThread & /*y*/);
34 
35 protected:
37  void printGeneralExecutionInformation() const override;
38 
40 
42 
43  const std::set<TagID> & _tags;
44 
46 
48 
49  // Number of contributions cached up
50  unsigned int _num_cached;
51 };
virtual void pre() override
Called before the node range loop.
MooseObjectWarehouse< NodalKernelBase > * _nkernel_warehouse
virtual void onNode(ConstBndNodeRange::const_iterator &node_it) override
Called for each node.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
void printGeneralExecutionInformation() const override
Print information about the loop, mostly order of execution of objects.
tbb::split split
ComputeNodalKernelBcsThread(FEProblemBase &fe_problem, MooseObjectTagWarehouse< NodalKernelBase > &nodal_kernels, const std::set< TagID > &tags)
Base class for creating new types of nodal kernels.
void join(const ComputeNodalKernelBcsThread &)
A system that holds auxiliary variables.
MooseObjectTagWarehouse< NodalKernelBase > & _nodal_kernels