accelerInt  v0.1
exp4_props.cuh
Go to the documentation of this file.
1 
8 #ifndef EXP4_PROPS_CUH
9 #define EXP4_PROPS_CUH
10 
11 #include "header.cuh"
12 #include <cuComplex.h>
13 #include <stdio.h>
14 
15 #ifdef GENERATE_DOCS
16 namespace exp4cu {
17 #endif
18 
19 //#define USE_SMOOTHED_ERROR // if defined, uses (I - h * Hm)^-1 to smooth the krylov error vector
20 
22 #define P 1
23 #define ORD 3.0
25 #define M_MAX NSP
27 #define STRIDE (M_MAX + P)
29 #define MAX_STEPS (10000)
31 #define MAX_CONSECUTIVE_ERRORS (5)
33 
38 {
40  double* sc;
42  double* work1;
44  double* work2;
46  double* work3;
48  cuDoubleComplex* work4;
50  double* Hm;
52  double* phiHm;
54  double* Vm;
56  double* k1;
58  double* k2;
60  double* k3;
62  double* k4;
64  double* k5;
66  double* k6;
68  double* k7;
70  int* ipiv;
72  cuDoubleComplex* invA;
74  int* result;
75 };
76 
86 #define EC_success (0)
88 #define EC_consecutive_steps (1)
90 #define EC_max_steps_exceeded (2)
92 #define EC_h_plus_t_equals_h (3)
94 
101 #ifdef GENERATE_DOCS
102 }
103 #endif
104 
105 #endif
double * Vm
the Arnoldi basis array
Definition: exp4_props.cuh:54
double * k6
the stage 6 results
Definition: exp4_props.cuh:66
double * work2
a work array
Definition: exp4_props.cuh:44
double * k3
the stage 3 results
Definition: exp4_props.cuh:60
double * phiHm
the exponential Krylov subspace array for EXP4
Definition: exp4_props.cuh:52
double * k4
the stage 4 results
Definition: exp4_props.cuh:62
double * k5
the stage 5 results
Definition: exp4_props.cuh:64
int * ipiv
the pivot indicies
Definition: exp4_props.cuh:70
Structure containing memory needed for EXP4 algorithm.
Definition: exp4_props.cuh:37
double * Hm
The Hessenberg Kyrlov subspace array for EXP4, to take the exponential action on. ...
Definition: exp4_props.cuh:50
double * k1
the stage 1 results
Definition: exp4_props.cuh:56
Definition: exp4.cu:41
double * work3
a work array
Definition: exp4_props.cuh:46
An example header file that defines system size, memory functions and other required methods for inte...
cuDoubleComplex * work4
a (complex) work array
Definition: exp4_props.cuh:48
double * work1
a work array
Definition: exp4_props.cuh:42
double * k2
the stage 2 results
Definition: exp4_props.cuh:58
double * k7
the stage 7 results
Definition: exp4_props.cuh:68
double * sc
the scaled error coefficients
Definition: exp4_props.cuh:40
int * result
an array of integration results for the various threads
Definition: exp4_props.cuh:74
cuDoubleComplex * invA
the inverse of the Hessenberg Krylov subspace
Definition: exp4_props.cuh:72