www.mooseframework.org
ComputeNodalKernelJacobiansThread.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 COMPUTENODALKERNELJACOBIANSTHREAD_H
16 #define COMPUTENODALKERNELJACOBIANSTHREAD_H
17 
18 #include "ThreadedNodeLoop.h"
19 
20 #include "libmesh/node_range.h"
21 
22 // Forward declarations
23 class FEProblemBase;
24 class AuxiliarySystem;
25 class NodalKernel;
26 
27 // libMesh forward declarations
28 namespace libMesh
29 {
30 template <typename T>
31 class SparseMatrix;
32 }
33 
35  : public ThreadedNodeLoop<ConstNodeRange, ConstNodeRange::const_iterator>
36 {
37 public:
39  const MooseObjectWarehouse<NodalKernel> & nodal_kernels,
40  SparseMatrix<Number> & jacobian);
41 
42  // Splitting Constructor
44 
45  virtual void pre() override;
46 
47  virtual void onNode(ConstNodeRange::const_iterator & node_it) override;
48 
49  void join(const ComputeNodalKernelJacobiansThread & /*y*/);
50 
51 protected:
53 
55 
56  SparseMatrix<Number> & _jacobian;
57 
59  unsigned int _num_cached;
60 };
61 
62 #endif // COMPUTENODALKERNELJACOBIANSTHREAD_H
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for creating new types of boundary conditions.
Definition: NodalKernel.h:50
A system that holds auxiliary variables.
const MooseObjectWarehouse< NodalKernel > & _nodal_kernels
unsigned int _num_cached
Number of contributions cached up.