43#ifndef EUCLID_MPI_INTERFACE_DH
44#define EUCLID_MPI_INTERFACE_DH
46#if defined(Ifpack_SHOW_DEPRECATED_WARNINGS)
48#warning "The Ifpack package is deprecated"
52#define DEFAULT_DROP_TOL 0.01
54#include "euclid_common.h"
81 extern void Euclid_dhCreate (Euclid_dh * ctxOUT);
82 extern void Euclid_dhDestroy (Euclid_dh ctx);
83 extern void Euclid_dhSetup (Euclid_dh ctx);
84 extern void Euclid_dhSolve (Euclid_dh ctx, Vec_dh lhs, Vec_dh rhs,
86 extern void Euclid_dhApply (Euclid_dh ctx,
double *lhs,
double *rhs);
88 extern void Euclid_dhPrintTestData (Euclid_dh ctx, FILE * fp);
89 extern void Euclid_dhPrintScaling (Euclid_dh ctx, FILE * fp);
91 extern void Euclid_dhPrintStatsShort (Euclid_dh ctx,
double setup,
92 double solve, FILE * fp);
95 extern void Euclid_dhPrintStatsShorter (Euclid_dh ctx, FILE * fp);
98 extern void Euclid_dhPrintHypreReport (Euclid_dh ctx, FILE * fp);
100 extern void Euclid_dhPrintStats (Euclid_dh ctx, FILE * fp);
111#define MAX_OPT_LEN 20
114#define TIMING_BINS 10
159 SubdomainGraph_dh sg;
170 char algo_par[MAX_OPT_LEN];
171 char algo_ilu[MAX_OPT_LEN];
182 ExternalRows_dh extRows;
185 char krylovMethod[MAX_OPT_LEN];
195 double timing[TIMING_BINS];
196 double stats[STATS_BINS];
197 bool timingsWereReduced;