FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FEI_tester.hpp
Go to the documentation of this file.
1 /*--------------------------------------------------------------------*/
2 /* Copyright 2005 Sandia Corporation. */
3 /* Under the terms of Contract DE-AC04-94AL85000, there is a */
4 /* non-exclusive license for use of this work by or on behalf */
5 /* of the U.S. Government. Export of this program may require */
6 /* a license from the United States Government. */
7 /*--------------------------------------------------------------------*/
8 
9 #ifndef _FEI_tester_h_
10 #define _FEI_tester_h_
11 
12 #include <fei_macros.hpp>
13 #include <fei_SharedPtr.hpp>
14 #include <fei_defs.h>
15 
16 class LibraryWrapper;
17 class LinearSystemCore;
18 class FiniteElementData;
19 
20 #include <test_utils/feitester.hpp>
22 
23 #include <FEI_Implementation.hpp>
24 
25 class FEI_tester : public feitester {
26  public:
28  MPI_Comm comm, int localProc, int numProcs, bool useNewFEI=false);
29  ~FEI_tester();
30 
31  const char* getName()
32  {
33  static const char name[] = "FEI_tester";
34  return((const char*)name);
35  }
36 
37  int testInitialization();
38 
39  int testLoading();
40 
41  int testSolve();
42 
43  int testCheckResult();
44 
45  void dumpMatrixFiles();
46 
47  void setParameter(const char* param);
48 
49  private:
50  int createFEIinstance(const char* solverName);
51  int setIDlists();
52  int initializationPhase();
53  int normalLoadPhase();
54  int aggregateLoadPhase();
57 
58  int save_block_node_soln(DataReader& data, FEI& fei,
59  const char* solnFileName, int numProcs,
60  int localProc, int solveCounter);
61 
62  int save_block_elem_soln(DataReader& data, FEI& fei,
63  const char* solnFileName,
64  int numProcs, int localProc, int solveCounter);
65 
66  int save_multiplier_soln(DataReader& data, FEI& fei,
67  const char* solnFileName,
68  int numProcs, int localProc, int solveCounter);
69 
70  int checkSolution(int localProc, int numProcs,
71  const char* solnFileName, const char* checkFileName,
72  const char* extension, int solveCounter);
73 
74  int lsc_matrix_check();
75 
77 
79 
81 
83 
85 
87  int* matrixIDs;
88  int numRHSs;
89  int* rhsIDs;
90  bool useNewFEI_;
91 };
92 
93 #endif // _FEI_tester_h_
int numMatrices
Definition: FEI_tester.hpp:86
int testLoading()
Definition: FEI_tester.cpp:101
bool useNewFEI_
Definition: FEI_tester.hpp:90
int aggregateLoadPhase()
Definition: FEI_tester.cpp:412
fei::SharedPtr< LibraryWrapper > wrapper_
Definition: FEI_tester.hpp:80
int initializationPhase()
Definition: FEI_tester.cpp:256
int testSolve()
Definition: FEI_tester.cpp:130
void dumpMatrixFiles()
Definition: FEI_tester.cpp:161
#define MPI_Comm
Definition: fei_mpi.h:56
fei::SharedPtr< DataReader > data_
Definition: FEI_tester.hpp:82
Definition: FEI.hpp:144
int normalLoadPhase()
Definition: FEI_tester.cpp:339
int * rhsIDs
Definition: FEI_tester.hpp:89
int lsc_matrix_check()
Definition: FEI_tester.cpp:718
int exercisePutFunctions()
Definition: FEI_tester.cpp:502
int testCheckResult()
Definition: FEI_tester.cpp:171
int save_block_node_soln(DataReader &data, FEI &fei, const char *solnFileName, int numProcs, int localProc, int solveCounter)
Definition: FEI_tester.cpp:526
void setParameter(const char *param)
Definition: FEI_tester.cpp:166
const char * getName()
Definition: FEI_tester.hpp:31
int exerciseResidualNorm()
Definition: FEI_tester.cpp:476
int localProc_
Definition: FEI_tester.hpp:84
FEI_tester(fei::SharedPtr< DataReader > data_reader, MPI_Comm comm, int localProc, int numProcs, bool useNewFEI=false)
Definition: FEI_tester.cpp:37
int localProc(MPI_Comm comm)
int checkSolution(int localProc, int numProcs, const char *solnFileName, const char *checkFileName, const char *extension, int solveCounter)
int testInitialization()
Definition: FEI_tester.cpp:61
int createFEIinstance(const char *solverName)
Definition: FEI_tester.cpp:210
int setIDlists()
Definition: FEI_tester.cpp:235
int * matrixIDs
Definition: FEI_tester.hpp:87
int save_block_elem_soln(DataReader &data, FEI &fei, const char *solnFileName, int numProcs, int localProc, int solveCounter)
Definition: FEI_tester.cpp:583
int save_multiplier_soln(DataReader &data, FEI &fei, const char *solnFileName, int numProcs, int localProc, int solveCounter)
Definition: FEI_tester.cpp:654
fei::SharedPtr< FEI > fei_
Definition: FEI_tester.hpp:78
MPI_Comm comm_
Definition: FEI_tester.hpp:76
int numProcs(MPI_Comm comm)