www.mooseframework.org
Split.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 SPLIT_H
16 #define SPLIT_H
17 
18 // MOOSE includes
19 #include "MooseEnum.h"
20 #include "MooseObject.h"
21 #include "PetscSupport.h"
22 #include "Restartable.h"
23 
24 // Forward declarations
25 class FEProblemBase;
26 
30 class Split : public MooseObject, public Restartable
31 {
32 public:
34  virtual ~Split() = default;
35 
36  virtual void setup(const std::string & prefix = "-");
37 
38 protected:
41  {
46  };
47 
49 
51  std::vector<NonlinearVariableName> _vars;
52 
55  std::vector<SubdomainName> _blocks;
56  std::vector<BoundaryName> _sides;
57  std::vector<BoundaryName> _unsides;
59 
61  std::vector<std::string> _splitting;
62 
70 
73 };
74 
75 #endif // SPLIT_H
A class for creating restricted objects.
Definition: Restartable.h:31
Base class for split-based preconditioners.
Definition: Split.h:30
std::vector< SubdomainName > _blocks
Definition: Split.h:55
std::vector< NonlinearVariableName > _vars
"Variables Split operates on
Definition: Split.h:51
std::vector< std::string > _splitting
Split subsystem list.
Definition: Split.h:61
A struct for storing the various types of petsc options and values.
Definition: PetscSupport.h:41
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual ~Split()=default
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
FEProblemBase & _fe_problem
Definition: Split.h:48
std::vector< BoundaryName > _sides
Definition: Split.h:56
MooseEnum _splitting_type
Definition: Split.h:65
Moose::PetscSupport::PetscOptions _petsc_options
Additional PETSc options.
Definition: Split.h:72
std::vector< BoundaryName > _unsides
Definition: Split.h:57
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:37
virtual void setup(const std::string &prefix="-")
Definition: Split.C:95
MooseEnum _schur_ainv
Definition: Split.h:68
Split(const InputParameters &parameters)
Definition: Split.C:75
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
MooseEnum _schur_pre
Definition: Split.h:67
MooseEnum _schur_type
Definition: Split.h:66
SplittingType
Which splitting to use.
Definition: Split.h:40