www.mooseframework.org
MoosePreconditioner.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 MOOSEPRECONDITIONER_H
16 #define MOOSEPRECONDITIONER_H
17 
18 // MOOSE includes
19 #include "MooseObject.h"
20 #include "Restartable.h"
21 
22 // Forward declarations
23 class FEProblemBase;
25 
26 namespace libMesh
27 {
28 class MeshBase;
29 template <typename T>
30 class NumericVector;
31 }
32 
33 template <>
35 
40 {
41 public:
42  MoosePreconditioner(const InputParameters & params);
43  virtual ~MoosePreconditioner() = default;
44 
49  static void copyVarValues(MeshBase & mesh,
50  const unsigned int from_system,
51  const unsigned int from_var,
52  const NumericVector<Number> & from_vector,
53  const unsigned int to_system,
54  const unsigned int to_var,
55  NumericVector<Number> & to_vector);
56 
57 protected:
60 };
61 
62 #endif /* MOOSEPRECONDITIONER_H */
A class for creating restricted objects.
Definition: Restartable.h:31
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
FEProblemBase & _fe_problem
Subproblem this preconditioner is part of.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
InputParameters validParams< MoosePreconditioner >()
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for MOOSE preconditioners.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36