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 NodalKernel;
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 
39 
40  const std::set<TagID> & _tags;
41 
43 
45 
46  // Number of contributions cached up
47  unsigned int _num_cached;
48 };
49 
virtual void pre() override
Called before the node range loop.
ComputeNodalKernelBcsThread(FEProblemBase &fe_problem, MooseObjectTagWarehouse< NodalKernel > &nodal_kernels, const std::set< TagID > &tags)
MooseObjectWarehouse< NodalKernel > * _nkernel_warehouse
static PetscErrorCode Vec x
virtual void onNode(ConstBndNodeRange::const_iterator &node_it) override
Called for each node.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::vector< std::string > split(const std::string &str, const std::string &delimiter)
Python like split function for strings.
Definition: MooseUtils.C:736
MooseObjectTagWarehouse< NodalKernel > & _nodal_kernels
void join(const ComputeNodalKernelBcsThread &)
Base class for creating new types of boundary conditions.
Definition: NodalKernel.h:48
A system that holds auxiliary variables.