43#ifndef EUCLID_MPI_INTERFACE_DH
44#define EUCLID_MPI_INTERFACE_DH
46#define DEFAULT_DROP_TOL 0.01
48#include "euclid_common.h"
75 extern void Euclid_dhCreate (Euclid_dh * ctxOUT);
76 extern void Euclid_dhDestroy (Euclid_dh ctx);
77 extern void Euclid_dhSetup (Euclid_dh ctx);
78 extern void Euclid_dhSolve (Euclid_dh ctx, Vec_dh lhs, Vec_dh rhs,
80 extern void Euclid_dhApply (Euclid_dh ctx,
double *lhs,
double *rhs);
82 extern void Euclid_dhPrintTestData (Euclid_dh ctx, FILE * fp);
83 extern void Euclid_dhPrintScaling (Euclid_dh ctx, FILE * fp);
85 extern void Euclid_dhPrintStatsShort (Euclid_dh ctx,
double setup,
86 double solve, FILE * fp);
89 extern void Euclid_dhPrintStatsShorter (Euclid_dh ctx, FILE * fp);
92 extern void Euclid_dhPrintHypreReport (Euclid_dh ctx, FILE * fp);
94 extern void Euclid_dhPrintStats (Euclid_dh ctx, FILE * fp);
105#define MAX_OPT_LEN 20
108#define TIMING_BINS 10
153 SubdomainGraph_dh sg;
164 char algo_par[MAX_OPT_LEN];
165 char algo_ilu[MAX_OPT_LEN];
176 ExternalRows_dh extRows;
179 char krylovMethod[MAX_OPT_LEN];
189 double timing[TIMING_BINS];
190 double stats[STATS_BINS];
191 bool timingsWereReduced;