37 #include "hex-arrays.h" 89 LUft () : filename_() {}
102 virtual bool valid ()
const {
return false; }
117 virtual std::size_t
size ()
const {
return 0; }
124 virtual Real
cond ()
const {
return 0; }
134 virtual void solve (
const cArrayView b, cArrayView x,
int eqs)
const = 0;
143 virtual cArray
solve (
const cArrayView b,
int eqs = 1)
const 149 this->
solve(b, x, eqs);
162 virtual void link (std::string name) { filename_ = name; }
167 virtual void unlink () { filename_.clear(); }
172 virtual std::string
filename ()
const {
return filename_; }
180 virtual void save (std::string name)
const = 0;
181 virtual void save ()
const { this->
save(filename_); }
186 virtual void load (std::string name,
bool throw_on_io_failure =
true) = 0;
187 virtual void load () { this->
load(filename_,
true); }
193 std::string filename_;
198 #define factorizerRunTimeSelectionDefinitions(TYPE,NAME) \ 199 derivedClassRunTimeSelectionDefinitions(LUft, (), TYPE, (), NAME) virtual void factorize(CsrMatrix< LU_int_t, Complex > const &matrix, LUftData data=defaultLUftData)=0
Factorize.
baseClassRunTimeSelectionDefinitions(LUft,()) LUft()
Default constructor.
Definition: luft.h:82
virtual void solve(const cArrayView b, cArrayView x, int eqs) const =0
Solve equations.
int groupsize
Definition: luft.h:52
virtual std::string filename() const
Name of the linked disk file.
Definition: luft.h:172
int fortran_comm
Definition: luft.h:51
virtual bool valid() const
Validity indicator.
Definition: luft.h:102
virtual std::size_t size() const
Size of the numerical data.
Definition: luft.h:117
LU factorization object.
Definition: luft.h:74
virtual ~LUft()
Destructor.
Definition: luft.h:92
virtual void drop()
Free memory.
Definition: luft.h:109
void * superlu_dist_grid
Definition: luft.h:54
bool out_of_core
Definition: luft.h:49
virtual cArray solve(const cArrayView b, int eqs=1) const
Solve equations.
Definition: luft.h:143
virtual void unlink()
Unlink disk file.
Definition: luft.h:167
LUftData defaultLUftData
Definition: luft.cpp:36
bool centralized_matrix
Definition: luft.h:55
virtual void silent_load()
Definition: luft.h:188
Real drop_tolerance
Definition: luft.h:48
virtual void save() const
Definition: luft.h:181
const char * ooc_dir
Definition: luft.h:53
virtual void load()
Definition: luft.h:187
virtual void link(std::string name)
Link to a disk file.
Definition: luft.h:162
int verbosity
Definition: luft.h:50
virtual Real cond() const
Estimation of the condition number.
Definition: luft.h:124