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