VertexCFD  0.0-dev
VertexCFD_LinearSolvers_LOWSFactoryBuilder.hpp
1 #ifndef VERTEXCFD_LINEARSOLVERS_LOWSFACTORYBUILDER_HPP
2 #define VERTEXCFD_LINEARSOLVERS_LOWSFACTORYBUILDER_HPP
3 
4 #include <Thyra_LinearOpWithSolveFactoryBase.hpp>
5 #include <Thyra_PreconditionerFactoryBase.hpp>
6 
7 #include <memory>
8 
9 namespace VertexCFD
10 {
11 namespace LinearSolvers
12 {
13 //---------------------------------------------------------------------------//
14 // Build a "Linear Op With Solve" (i.e., linear solver) factory.
15 // This class uses the Stratimikos DefaultLinearSolverBuilder, but allows
16 // custom VertexCFD preconditioners to be used with a Trilinos linear solver.
17 //---------------------------------------------------------------------------//
18 
20 {
21  public:
22  // Prevent construction
23  LOWSFactoryBuilder() = delete;
24 
25  // Build solver from solver name.
26  static Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double>>
27  buildLOWS(Teuchos::RCP<Teuchos::ParameterList> params);
28 };
29 
30 //---------------------------------------------------------------------------//
31 
32 } // namespace LinearSolvers
33 } // namespace VertexCFD
34 
35 //---------------------------------------------------------------------------//
36 #endif // VERTEXCFD_LINEARSOLVERS_LOWSFACTORYBUILDER_HPP
37 //---------------------------------------------------------------------------//
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23
VertexCFD::LinearSolvers::LOWSFactoryBuilder
Definition: VertexCFD_LinearSolvers_LOWSFactoryBuilder.hpp:20