hypre/test/hypre_test.h
falgout e3181f26b1 Added 64 bit feature using HYPRE_Int (see tracker [issue489] for details).
Changed MPI routines to hypre_MPI routines.
Added hypre_printf, etc. routines.
Added AUTOTEST tests to look for 'int' and 'MPI_' calls.
Added a new approach for the Fortran interface (not implemented everywhere yet).
2010-12-20 19:27:44 +00:00

103 lines
3.3 KiB
C

/*BHEADER**********************************************************************
* Copyright (c) 2008, Lawrence Livermore National Security, LLC.
* Produced at the Lawrence Livermore National Laboratory.
* This file is part of HYPRE. See file COPYRIGHT for details.
*
* HYPRE is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License (as published by the Free
* Software Foundation) version 2.1 dated February 1999.
*
* $Revision$
***********************************************************************EHEADER*/
/*--------------------------------------------------------------------------
* Header file for test drivers
*--------------------------------------------------------------------------*/
#ifndef HYPRE_TEST_INCLUDES
#define HYPRE_TEST_INCLUDES
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "HYPRE_krylov.h"
#include "_hypre_utilities.h"
#include "HYPRE.h"
#include "HYPRE_parcsr_ls.h"
#include "HYPRE_struct_ls.h"
#include "HYPRE_sstruct_ls.h"
#define HYPRE_BICGSTAB 99100
#define HYPRE_BOOMERAMG 99110
#define HYPRE_CGNR 99120
#define HYPRE_DIAGSCALE 99130
#define HYPRE_EUCLID 99140
#define HYPRE_GMRES 99150
#define HYPRE_GSMG 99155
#define HYPRE_HYBRID 99160
#define HYPRE_JACOBI 99170
#define HYPRE_PARASAILS 99180
#define HYPRE_PCG 99190
#define HYPRE_PFMG_1 99200
#define HYPRE_PILUT 99210
#define HYPRE_SCHWARZ 99220
#define HYPRE_SMG_1 99230
#define HYPRE_SPARSEMSG 99240
#define HYPRE_SPLIT 99250
#define HYPRE_SPLITPFMG 99260
#define HYPRE_SPLITSMG 99270
#define HYPRE_SYSPFMG 99280
/****************************************************************************
* Prototypes for testing routines
***************************************************************************/
HYPRE_Int hypre_set_precond(HYPRE_Int matrix_id, HYPRE_Int solver_id, HYPRE_Int precond_id,
void *solver, void *precond);
HYPRE_Int hypre_set_precond_params(HYPRE_Int precond_id, void *precond);
HYPRE_Int hypre_destroy_precond(HYPRE_Int precond_id, void *precond);
/****************************************************************************
* Variables for testing routines
***************************************************************************/
HYPRE_Int k_dim = 5;
HYPRE_Int gsmg_samples = 5;
HYPRE_Int poutdat = 1;
HYPRE_Int hybrid = 1;
HYPRE_Int coarsen_type = 6;
HYPRE_Int measure_type = 0;
HYPRE_Int smooth_type = 6;
HYPRE_Int num_functions = 1;
HYPRE_Int smooth_num_levels = 0;
HYPRE_Int smooth_num_sweeps = 1;
HYPRE_Int num_sweep = 1;
HYPRE_Int max_levels = 25;
HYPRE_Int variant = 0;
HYPRE_Int overlap = 1;
HYPRE_Int domain_type = 2;
HYPRE_Int nonzeros_to_keep = -1;
HYPRE_Int interp_type;
HYPRE_Int cycle_type;
HYPRE_Int relax_default;
HYPRE_Int *dof_func;
HYPRE_Int *num_grid_sweeps;
HYPRE_Int *grid_relax_type;
HYPRE_Int **grid_relax_points;
double tol = 1.e-8;
double pc_tol = 0.;
double drop_tol = -1.;
double max_row_sum = 1.;
double schwarz_rlx_weight = 1.;
double sai_threshold = 0.1;
double sai_filter = 0.1;
double strong_threshold;
double trunc_factor;
double *relax_weight;
double *omega;
#endif