KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
standard_preconditioner_factory.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Riccardo Rossi
11 // Vicente Mataix Ferrandiz
12 //
13 //
14 
15 #if !defined(KRATOS_STANDARD_PRECONDITIONER_FACTORY_H_INCLUDED )
16 #define KRATOS_STANDARD_PRECONDITIONER_FACTORY_H_INCLUDED
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
23 #include "includes/define.h"
26 
27 namespace Kratos
28 {
31 
35 
39 
43 
47 
59 template <typename TSparseSpace, typename TLocalSpace, typename TPreconditionerType>
61  : public PreconditionerFactory<TSparseSpace,TLocalSpace>
62 {
65 
68 
70 protected:
71 
74 
79  typename PreconditionerType::Pointer CreatePreconditioner() const override
80  {
81  return typename PreconditionerType::Pointer(new TPreconditionerType());
82  }
83 
85 };
86 
88 
91 
95 
97 template <typename TSparseSpace, typename TLocalSpace, typename TPreconditionerType>
98 inline std::ostream& operator << (std::ostream& rOStream,
100 {
101  rOStream << "StandardPreconditionerFactory" << std::endl;
102  return rOStream;
103 }
104 
107 
109 
111 
112 } // namespace Kratos.
113 
114 #endif // KRATOS_STANDARD_PRECONDITIONER_FACTORY_H_INCLUDED defined
Here we add the functions needed for the registration of preconditioners.
Definition: preconditioner_factory.h:62
Preconditioner class.
Definition: preconditioner.h:75
Here we add the functions needed for the registration of preconditioners.
Definition: standard_preconditioner_factory.h:62
PreconditionerType::Pointer CreatePreconditioner() const override
This method is an auxiliar method to create a new solver.
Definition: standard_preconditioner_factory.h:79
void RegisterPreconditioners()
Definition: standard_preconditioner_factory.cpp:30
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432