www.mooseframework.org
ComputeNodalKernelBCJacobiansThread.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef COMPUTENODALKERNELBCJACOBIANSTHREAD_H
16 #define COMPUTENODALKERNELBCJACOBIANSTHREAD_H
17 
18 #include "MooseMesh.h"
19 #include "ThreadedNodeLoop.h"
20 
21 class AuxiliarySystem;
22 class NodalKernel;
23 
25  : public ThreadedNodeLoop<ConstBndNodeRange, ConstBndNodeRange::const_iterator>
26 {
27 public:
29  const MooseObjectWarehouse<NodalKernel> & nodal_kernels,
30  SparseMatrix<Number> & jacobian);
31 
32  // Splitting Constructor
34  Threads::split split);
35 
36  virtual void pre() override;
37 
38  virtual void onNode(ConstBndNodeRange::const_iterator & node_it) override;
39 
40  void join(const ComputeNodalKernelBCJacobiansThread & /*y*/);
41 
42 protected:
44 
46 
47  SparseMatrix<Number> & _jacobian;
48 
50  unsigned int _num_cached;
51 };
52 
53 #endif // COMPUTENODALKERNELBCJACOBIANSTHREAD_H
const MooseObjectWarehouse< NodalKernel > & _nodal_kernels
virtual void pre() override
Called before the node range loop.
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void onNode(ConstBndNodeRange::const_iterator &node_it) override
Called for each node.
void join(const ComputeNodalKernelBCJacobiansThread &)
unsigned int _num_cached
Number of contributions cached up.
ComputeNodalKernelBCJacobiansThread(FEProblemBase &fe_problem, const MooseObjectWarehouse< NodalKernel > &nodal_kernels, SparseMatrix< Number > &jacobian)
Base class for creating new types of boundary conditions.
Definition: NodalKernel.h:50
A system that holds auxiliary variables.