Trilinos based (stochastic) FEM solvers
main.cpp
Go to the documentation of this file.
1
/*
2
Brian Staber (brian.staber@gmail.com)
3
*/
4
5
#include "Epetra_ConfigDefs.h"
6
#ifdef HAVE_MPI
7
#include "mpi.h"
8
#include "Epetra_MpiComm.h"
9
#else
10
#include "Epetra_SerialComm.h"
11
#endif
12
13
#include "
readnrldata.hpp
"
14
#include "
distributenrldata.hpp
"
15
16
int
main
(
int
argc,
char
*argv[]){
17
18
#ifdef HAVE_MPI
19
MPI_Init(&argc, &argv);
20
Epetra_MpiComm Comm(MPI_COMM_WORLD);
21
#else
22
Epetra_SerialComm Comm;
23
#endif
24
25
//std::string filemesh = "/Users/brian/Documents/GitHub/Trilinos/nrl/mesh/composite_hexa_32.msh";
26
std::string filemesh =
"/home/s/staber/Trilinos/nrl/mesh/composite_hexa_32.msh"
;
27
mesh
Mesh(Comm,filemesh, 1.0);
28
std::string pathnrl =
"/home/s/staber/Trilinos_results/nrl/data/"
;
29
Teuchos::RCP<distributenrldata> nrldata = Teuchos::rcp(
new
distributenrldata
(Mesh,pathnrl));
30
31
if
(Comm.MyPID()==0){
32
std::cout <<
"MyPID"
<< std::setw(10) <<
"ncells"
<< std::setw(10) <<
"npoints"
<<
"\n"
;
33
}
34
Comm.Barrier();
35
std::cout << Comm.MyPID() << std::setw(10) << nrldata->local_cells.size() << std::setw(10) << nrldata->local_xi.size() <<
"\n"
;
36
Comm.Barrier();
37
/*if (Comm.MyPID()==1){
38
for (unsigned int i=0; i<nrldata->local_cells.size(); ++i){
39
std::cout << nrldata->local_xi[i] << std::setw(10) << nrldata->local_eta[i] << "\n";
40
}
41
}
42
Comm.Barrier();
43
*/
44
if
(Comm.MyPID()==0){
45
std::cout << nrldata->boundaryconditions <<
"\n"
;
46
std::cout << nrldata->energy <<
"\n"
;
47
}
48
49
//Teuchos::RCP<readnrldata> nrldata = Teuchos::rcp(new readnrldata());
50
/*if (Comm.MyPID()==0){
51
std::cout << "npoints = " << nrldata->npoints << std::setw(10) << "nloads = " << nrldata->nloads << "\n";
52
53
for (unsigned int i=0; i<nrldata->points.M(); ++i){
54
std::cout << std::setw(10) << nrldata->points(i,0) << std::setw(10) << nrldata->points(i,1) << std::setw(10) << nrldata->points(i,2) << "\n";
55
}
56
for (unsigned int i=0; i<nrldata->nloads; ++i){
57
std::cout << std::setw(10) << nrldata->boundaryconditions(i) << "\n";
58
}
59
for (unsigned int i=0; i<nrldata->npoints; ++i){
60
std::cout << nrldata->exx(i+4*nrldata->npoints,5) << "\n";
61
}
62
}*/
63
64
#ifdef HAVE_MPI
65
MPI_Finalize();
66
#endif
67
return
0;
68
}
distributenrldata.hpp
readnrldata.hpp
mesh
Definition:
meshpp.hpp:49
distributenrldata
Definition:
distributenrldata.hpp:18
main
int main(int argc, char *argv[])
Definition:
main.cpp:23
nrl
importdata
main.cpp
Generated by
1.8.13