55 std::cout <<
"SoverModuleDriver: running initializer ... " << std::endl;
60 for(
int i=1; i < argc; i++){
64 if(
ss.str() ==
"-com-mpi")
66 if(
ss.str() ==
"-fsi"){
70 if(
ss.str() ==
"-loads"){
74 for(
int j=0; j<
ss.str().size(); j++){
75 if(!isdigit(
ss.str()[j]) &&
ss.str()[j] !=
'e'
76 &&
ss.str()[j] !=
'E' &&
ss.str()[j] !=
'-'
77 &&
ss.str()[j] !=
'.')
81 tNext.push_back(tmpTime);
87 for(
int i=1; i <
tNext.size(); i++){
95 COM_LOAD_MODULE_STATIC_DYNAMIC(ElmerCSCParallel,
"ELMModule");
98 COM_LOAD_MODULE_STATIC_DYNAMIC( SimOUT,
"OUT");
102 outfile <<
"Checking ELMModule" << std::endl;
103 outfile <<
"comm_check = " << comm_check << std::endl;
104 COM_get_communicator(
"ELMModule", &comm_check);
105 if(comm_check ==
Comm)
106 outfile <<
"comm_check == Comm!" << std::endl;
107 else if(comm_check == MPI_COMM_WORLD)
108 outfile <<
"comm_check == MPI_COMM_WORLD!" << std::endl;
109 else if(comm_check == MPI_COMM_SELF)
110 outfile <<
"comm_check == MPI_COMM_SELF!" << std::endl;
112 outfile <<
"comm_check == None!" << std::endl;
117 int init_handle = COM_get_function_handle(
"ELMModule.Initialize");
118 bool init_func = (init_handle > 0);
122 COM_call_function(init_handle, &
runs, &verb);
128 COM_Type getDataItemType;
129 std::string getDataItemUnits;
136 std::string stringNames;
137 COM_get_connectivities(
"ELMModule",
myPaneId, &
nConn, stringNames);
138 std::istringstream ConnISS(stringNames);
139 std::vector<std::string> connNames;
140 for (
int i=0; i<
nConn; ++i) {
143 connNames.push_back(name);
144 std::cout <<
"Rank #" <<
myRank
145 <<
", ELMModuleDriver:main: Connectivity Table # " << i+1 <<
": " << name << std::endl;
148 std::string fullConnName(
"ELMModule."+connNames[0]);
149 COM_get_dataitem(fullConnName, &getDataItemLoc, &getDataItemType,
151 std::cout <<
"Rank #" <<
myRank
152 <<
", ELMModuleDriver:main: getDataItemLoc " << getDataItemLoc << std::endl;
153 std::cout <<
"Rank #" <<
myRank
154 <<
", ELMModuleDriver:main: getDataItemType " << getDataItemType << std::endl;
155 std::cout <<
"Rank #" <<
myRank
156 <<
", ELMModuleDriver:main: nElemNodes " <<
nElemNodes << std::endl;
157 std::cout <<
"Rank #" <<
myRank
158 <<
", ELMModuleDriver:main: getDataItemUnits " << getDataItemUnits << std::endl;
std::vector< double > tNext