FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
snl_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 _snl_fei_tester_h_
10 #define _snl_fei_tester_h_
11 
12 #include <fei_macros.hpp>
13 #include <fei_mpi.h>
14 #include <fei_SharedPtr.hpp>
15 
16 #include <test_utils/feitester.hpp>
18 
19 #include <fei_fwd.hpp>
20 
21 class snl_fei_tester : public feitester {
22  public:
24  MPI_Comm comm, int localProc, int numProcs);
26 
27  const char* getName()
28  {
29  static const char name[] = "snl_fei_tester";
30  return((const char*)name);
31  }
32 
33  int testInitialization();
34 
35  int testLoading();
36 
37  int testSolve();
38 
39  int testCheckResult();
40 
41  void dumpMatrixFiles();
42 
43  void setParameter(const char* param);
44 
45  private:
47  int initElemBlocks();
48  int loadElemBlocks();
49  int initConstraints();
50  int loadConstraints();
51  void definePattern(ElemBlock& eb, int& patternID);
52  int createLibraryInstance(const char* solverName);
53 
55  const char* solnFileName, int numProcs,
56  int localProc, int solveCounter);
57 
59  const char* solnFileName,
60  int numProcs, int localProc, int solveCounter);
61 
63  const char* solnFileName,
64  int numProcs, int localProc, int solveCounter);
65 
66  int checkSolution(int localProc, int numProcs,
67  const char* solnFileName, const char* checkFileName,
68  const char* extension, int solveCounter);
69 
71 
73 
76 
80 
82 
85 
87 
88  std::vector<int> idTypes_;
91 
93 };
94 
95 #endif // _snl_fei_tester_h_
fei::SharedPtr< fei::Matrix > A_
void setParameter(const char *param)
fei::SharedPtr< fei::Factory > factory_
fei::SharedPtr< fei::Vector > b_
fei::SharedPtr< fei::VectorSpace > vecSpace_
int createLibraryInstance(const char *solverName)
void definePattern(ElemBlock &eb, int &patternID)
int save_block_elem_soln(DataReader &data, fei::Vector *vec, const char *solnFileName, int numProcs, int localProc, int solveCounter)
#define MPI_Comm
Definition: fei_mpi.h:56
void defineFieldsAndIDTypes()
int save_multiplier_soln(DataReader &data, fei::Vector *vec, const char *solnFileName, int numProcs, int localProc, int solveCounter)
LinearSystemCore * linSysCore_
fei::SharedPtr< fei::Vector > x_
fei::SharedPtr< fei::MatrixGraph > matrixGraph_
std::vector< int > idTypes_
snl_fei_tester(fei::SharedPtr< DataReader > data_reader, MPI_Comm comm, int localProc, int numProcs)
fei::SharedPtr< fei::LinearSystem > linSys_
int localProc(MPI_Comm comm)
FiniteElementData * feData_
fei::SharedPtr< DataReader > data_
int checkSolution(int localProc, int numProcs, const char *solnFileName, const char *checkFileName, const char *extension, int solveCounter)
const char * getName()
int save_block_node_soln(DataReader &data, fei::Vector *vec, const char *solnFileName, int numProcs, int localProc, int solveCounter)
int numProcs(MPI_Comm comm)