Class documentation of Concepts

Loading...
Searching...
No Matches
mumps.hh
Go to the documentation of this file.
1
6#ifndef mumps_hh_
7#define mumps_hh_
8
9#include "compositions.hh"
10#include "basics/typedefs.hh"
11#ifdef HAS_MPI
12#include <mpi.h>
13#endif
14
15#include "mumps_flags.hh"
16
17// Define MUMPS internal constants and functions
18#define JOB_INIT -1
19#define JOB_END -2
20#define ICNTL(I) icntl[(I)-1]
21#define CNTL(I) cntl[(I)-1]
22
23
24namespace concepts {
25
26 // **************************************************************** Mumps **
27
71 template<class F>
72 class Mumps : public VecOperator<F> {
73 public:
74#ifdef HAS_MPI
83 Mumps(const Operator<F>& A, const int rank=0, const int comm=-987654);
93 Mumps(const Operator<F>& A, const bool symmetric, const int rank=0, const int comm=-987654);
94#else
103 Mumps(const Operator<F>& A, const int rank=-1, const int comm=-987654);
113 Mumps(const Operator<F>& A, const bool symmetric, const int rank=-1, const int comm=-987654);
114#endif
118 Mumps(const int rank, const int comm=-987654);
119
122 virtual ~Mumps();
123
124 virtual void show_messages();
125 virtual void hide_messages();
126 virtual void apply_(const Vector<F>& fncY, Vector<F>& fncX);
127 virtual void apply_();
128 protected:
129 virtual std::ostream & info(std::ostream &) const;
130 private:
132 void* A_;
134 int* irn_;
136 int* jcn_;
138 uint n_;
140 uint nz_;
142 int rank_;
144 int comm_;
146 void* id_mumps_;
148 bool trivial_matrix_;
150 bool analysis_;
151 };
152
153}
154
155#endif // mumps_hh
virtual ~Mumps()
Mumps(const Operator< F > &A, const int rank=-1, const int comm=-987654)
virtual void apply_(const Vector< F > &fncY, Vector< F > &fncX)
Mumps(const int rank, const int comm=-987654)
virtual void apply_()
Mumps(const Operator< F > &A, const bool symmetric, const int rank=-1, const int comm=-987654)
virtual std::ostream & info(std::ostream &) const
Returns information in an output stream.
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320