blitzdg
an open-source project aiming to implement parallel discontinuous Galerkin (dg) solvers for common partial differential equations systems using blitz++ for array and tensor manipulations and MPI for distributed parallelism.
LUSolver.hpp
1 #pragma once
2 #include <blitz/array.h>
3 #include <SparseMatrixConverter.hpp>
4 
5 using namespace blitz;
6 
7 class LUSolver {
8  int N;
9  Array<double, 2> * A;
10 
11  // Umfpack-specific fields
12  int * Ap;
13  int * Ai;
14  double * Ax;
15  int * Map;
16  double * null = (double *) NULL ;
17 
18  void * Symbolic;
19  void * Numeric;
20 
21  SparseTriplet Triplet;
22 
23  SparseMatrixConverter MatrixConverter;
24 
25  public:
26  LUSolver(Array<double, 2> * const &, SparseMatrixConverter const &);
27 
28  Array<double, 2> & get_A();
29 
30  void factorize();
31 
32  void solve(Array<double, 1> const &, Array<double, 1> &);
33 
34  ~LUSolver();
35 };
36 
Definition: SparseTriplet.hpp:2
Definition: LUSolver.hpp:7
Definition: SparseMatrixConverter.hpp:8