37 #define fei_file "feiDriver.cpp"
46 std::vector<std::string> stdstrings;
50 const char** params = NULL;
57 std::string solverName;
58 std::string inputFileName;
62 fei::console_out() <<
"Expected to find both 'SOLVER_NAME' and 'INPUT_FILE' "
70 fullFileName<< inputFileName<<
"."<<numProcs<<
"."<<
localProc;
84 catch (std::runtime_error& exc) {
91 const char* feiVersionString;
100 for(
size_t i=0; i<methodNames.size(); i++) {
101 if (!strcmp(
"destructor", methodNames[i])) {
106 FEI_COUT <<
"feiDriver: proc " << localProc <<
" destroying/reallocing FEI"
114 catch (std::runtime_error& exc) {
126 FEI_COUT <<
"feiDriver: proc " << localProc <<
" calling FEI method: "
129 if (feierror > 0)
continue;
140 if (localProc == 0) {
145 #ifdef SIERRA_BUILD_DATE
void strings_to_char_ptrs(std::vector< std::string > &stdstrings, int &numStrings, const char **&charPtrs)
virtual int parameters(int numParams, const char *const *paramStrings)=0
int call_fei_method(const char *method, FEI *fei)
#define FEI_Implementation
virtual int version(const char *&versionString)=0
int getStringParamValue(const char *name, std::string ¶mValue) const
int get_filename_and_read_input(int argc, char **argv, MPI_Comm comm, int localProc, std::vector< std::string > &stdstrings)
std::ostream & console_out()
void parse_strings(std::vector< std::string > &stdstrings, const char *separator_string, fei::ParameterSet ¶mset)
int readData(const char *fileName)
int feiDriver_main(int argc, char **argv, MPI_Comm comm, int numProcs, int localProc)
int localProc(MPI_Comm comm)
std::vector< const char * > & get_methodNames()
#define FEI_OSTRINGSTREAM
fei::SharedPtr< LibraryWrapper > create_LibraryWrapper(MPI_Comm comm, const char *libraryName)
int numProcs(MPI_Comm comm)