5 #include "Epetra_ConfigDefs.h" 8 #include "Epetra_MpiComm.h" 10 #include "Epetra_SerialComm.h" 13 #include "Teuchos_CommandLineProcessor.hpp" 14 #include "Teuchos_StandardCatchMacros.hpp" 15 #include "Teuchos_ParameterList.hpp" 16 #include "Teuchos_XMLParameterListCoreHelpers.hpp" 19 #include <boost/math/special_functions/gamma.hpp> 23 int main(
int argc,
char *argv[]){
25 std::string xmlInFileName =
"";
26 std::string extraXmlFile =
"";
27 std::string xmlOutFileName =
"paramList.out";
29 Teuchos::CommandLineProcessor clp(
false);
30 clp.setOption(
"xml-in-file",&xmlInFileName,
"The XML file to read into a parameter list");
31 clp.setDocString(
"TO DO.");
33 Teuchos::CommandLineProcessor::EParseCommandLineReturn
34 parse_return = clp.parse(argc,argv);
35 if( parse_return != Teuchos::CommandLineProcessor::PARSE_SUCCESSFUL ) {
36 std::cout <<
"\nEnd Result: TEST FAILED" << std::endl;
41 MPI_Init(&argc, &argv);
42 Epetra_MpiComm Comm(MPI_COMM_WORLD);
44 Epetra_SerialComm Comm;
47 Teuchos::RCP<Teuchos::ParameterList> paramList = Teuchos::rcp(
new Teuchos::ParameterList);
48 if(xmlInFileName.length()) {
49 Teuchos::updateParametersFromXmlFile(xmlInFileName, inoutArg(*paramList));
53 paramList->print(std::cout,2,
true,
true);
56 Teuchos::RCP<neumannInnerSurface_StochasticPolyconvexHGO> my_interface
59 std::ifstream parameters_file_1, parameters_file_2, parameters_file_3, parameters_file_4;
61 std::string path1 =
"/Users/Brian/Documents/Thesis/Trilinos_results/arteries/gmrf_neumann/a100_gamma3_delta010/";
62 parameters_file_1.open(path1+
"w1.txt");
63 parameters_file_2.open(path1+
"w2.txt");
64 parameters_file_3.open(path1+
"w3.txt");
65 parameters_file_4.open(path1+
"w4.txt");
67 unsigned int n_cells_p1_med = 297828;
68 unsigned int n_nodes_p1_med = 58464;
70 Epetra_Map StandardMap(
int(n_nodes_p1_med),0,Comm);
72 Epetra_Vector c1(StandardMap);
73 Epetra_Vector c2(StandardMap);
74 Epetra_Vector u1(StandardMap);
75 Epetra_Vector mu4(StandardMap);
77 std::string path =
"/Users/Brian/Documents/Thesis/Trilinos/arteries/mesh/connectivity_p1_media.txt";
78 my_interface->get_media(n_cells_p1_med,n_nodes_p1_med,path);
80 if (parameters_file_1.is_open() && parameters_file_2.is_open() && parameters_file_3.is_open() && parameters_file_4.is_open()){
83 for (
int i=0;
i<n_nodes_p1_med; ++
i){
84 parameters_file_1 >> my_interface->w1_gmrf(
i);
85 parameters_file_2 >> my_interface->w2_gmrf(
i);
86 parameters_file_3 >> my_interface->w3_gmrf(
i);
87 parameters_file_4 >> my_interface->w4_gmrf(
i);
89 for (
int j=0;
j<n_nodes_p1_med; ++
j){
90 if (StandardMap.MyGID(
j)){
91 c1[StandardMap.LID(
j)] = my_interface->icdf_gamma(my_interface->w1_gmrf[
j],my_interface->alpha1,my_interface->alpha2);
92 c2[StandardMap.LID(
j)] = my_interface->icdf_gamma(my_interface->w2_gmrf[
j],my_interface->alpha3,my_interface->alpha4);
93 u1[StandardMap.LID(
j)] = my_interface->icdf_beta(my_interface->w3_gmrf[
j],my_interface->tau1,my_interface->tau2);
94 mu4[StandardMap.LID(
j)] = my_interface->icdf_gamma(my_interface->w4_gmrf[
j],my_interface->alpha5,my_interface->alpha6);
99 parameters_file_1.close();
100 parameters_file_2.close();
101 parameters_file_3.close();
102 parameters_file_4.close();
105 std::cout <<
"Couldn't open one of the parameters_file.\n";
109 int NumTargetElements = 0;
110 if (Comm.MyPID()==0){
111 NumTargetElements = n_nodes_p1_med;
113 Epetra_Map MapOnRoot(-1,NumTargetElements,0,Comm);
114 Epetra_Export ExportOnRoot(StandardMap,MapOnRoot);
115 Epetra_MultiVector lhs_root(MapOnRoot,
true);
116 lhs_root.Export(c1,ExportOnRoot,Insert);
117 std::string
filename =
"/Users/Brian/Documents/Thesis/Trilinos_results/arteries/boost_gmrf/gmrf_nodes/c1_test.mtx";
118 error = EpetraExt::MultiVectorToMatrixMarketFile(filename.c_str(),lhs_root,0,0,
false);
120 lhs_root.PutScalar(0.0);
121 lhs_root.Export(c2,ExportOnRoot,Insert);
122 filename =
"/Users/Brian/Documents/Thesis/Trilinos_results/arteries/boost_gmrf/gmrf_nodes/c2_test.mtx";
123 error = EpetraExt::MultiVectorToMatrixMarketFile(filename.c_str(),lhs_root,0,0,
false);
125 lhs_root.PutScalar(0.0);
126 lhs_root.Export(u1,ExportOnRoot,Insert);
127 filename =
"/Users/Brian/Documents/Thesis/Trilinos_results/arteries/boost_gmrf/gmrf_nodes/u1_test.mtx";
128 error = EpetraExt::MultiVectorToMatrixMarketFile(filename.c_str(),lhs_root,0,0,
false);
130 lhs_root.PutScalar(0.0);
131 lhs_root.Export(mu4,ExportOnRoot,Insert);
132 filename =
"/Users/Brian/Documents/Thesis/Trilinos_results/arteries/boost_gmrf/gmrf_nodes/mu4_test.mtx";
133 error = EpetraExt::MultiVectorToMatrixMarketFile(filename.c_str(),lhs_root,0,0,
false);
int main(int argc, char *argv[])