https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeNodalKernelJacobiansThread.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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"
14
15#include "libmesh/node_range.h"
16
17// Forward declarations
18class FEProblemBase;
20class AuxiliarySystem;
21class NodalKernelBase;
22
23// libMesh forward declarations
24namespace libMesh
25{
26template <typename T>
27class SparseMatrix;
28}
29
31 : public ThreadedNodeLoop<ConstNodeRange, ConstNodeRange::const_iterator>
32{
33public:
37 const std::set<TagID> & tags);
38
39 // Splitting Constructor
41
42 virtual void pre() override;
43
44 virtual void onNode(ConstNodeRange::const_iterator & node_it) override;
45
46 void join(const ComputeNodalKernelJacobiansThread & /*y*/);
47
48protected:
50 void printGeneralExecutionInformation() const override;
51
55
56 const std::set<TagID> & _tags;
57
59
61
63 unsigned int _num_cached;
64};
A system that holds auxiliary variables.
MooseObjectTagWarehouse< NodalKernelBase > & _nodal_kernels
virtual void pre() override
Called before the node range loop.
void printGeneralExecutionInformation() const override
Print information about the loop, mostly order of execution of objects.
unsigned int _num_cached
Number of contributions cached up.
void join(const ComputeNodalKernelJacobiansThread &)
MooseObjectWarehouse< NodalKernelBase > * _nkernel_warehouse
virtual void onNode(ConstNodeRange::const_iterator &node_it) override
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
A storage container for MooseObjects that inherit from SetupInterface.
A storage container for MooseObjects that inherit from SetupInterface.
Base class for creating new types of nodal kernels.
Nonlinear system to be solved.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...