jdbsymFabric.hh

Go to the documentation of this file.
1 
6 #ifndef jdbsymFabric_hh
7 #define jdbsymFabric_hh
8 
9 #include <memory>
10 #include "jdbsym.hh"
11 #include "solverFabric.hh"
12 
13 namespace eigensolver {
14 
15  // ********************************************************** JdbSymFabric **
16 
23  class JdbSymFabric : public SolverFabric<Real> {
24  public:
39  JdbSymFabric(Real tol, uint maxit = 150, Real tau = 0.0,
40  uint jdtype = 1, uint kmax = 1,
41  concepts::SolverFabric<Real>* fabric = 0,
42  const concepts::Array<concepts::Vector<Real>*>* start = 0)
43  : solver_(nullptr), tol_(tol), tau_(tau), maxit_(maxit), jdtype_(jdtype)
44  , kmax_(kmax), fabric_(fabric), start_(start) {}
45  virtual ~JdbSymFabric();
48  protected:
49  virtual std::ostream& info(std::ostream& os) const;
50  private:
52  std::unique_ptr<JdbSym> solver_;
57  };
58 
59 } // eigensolver
60 
61 #endif // jdbsymFabric_hh
concepts::SolverFabric< Real > * fabric_
Definition: jdbsymFabric.hh:55
std::unique_ptr< JdbSym > solver_
Real eigenvalue solver.
Definition: jdbsymFabric.hh:52
An array of objects.
Definition: bilinearForm.hh:23
Abstract fabric class for eigenvalue solvers.
Definition: solverFabric.hh:31
Fabric class for JdbSym eigenvalue solver for a constrained problem.
Definition: jdbsymFabric.hh:23
JdbSymFabric(Real tol, uint maxit=150, Real tau=0.0, uint jdtype=1, uint kmax=1, concepts::SolverFabric< Real > *fabric=0, const concepts::Array< concepts::Vector< Real > * > *start=0)
Constructor.
Definition: jdbsymFabric.hh:39
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Eigenvalue solver using JDBSYM.
Definition: jdbsym.hh:48
virtual JdbSym & operator()(concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass)
const concepts::Array< concepts::Vector< Real > * > * start_
Definition: jdbsymFabric.hh:56
Eigenvalue solvers.
Definition: ARPACK.hh:19
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich