9 #include <fei_macros.hpp>
11 #include <fei_Solver.hpp>
13 #include <fei_Matrix_Impl.hpp>
14 #include <fei_MatrixReducer.hpp>
15 #include <snl_fei_LinearSystem_FEData.hpp>
16 #include <fei_ParameterSet.hpp>
17 #include <fei_utils.hpp>
20 #define fei_file "fei_Solver.cpp"
21 #include <fei_ErrMacros.hpp>
27 const char*
const* solverParams,
35 fei::MatrixReducer* matred = dynamic_cast<fei::MatrixReducer*>(matrix.
get());
40 if (lscmatrix != NULL) {
43 char** params = const_cast<char**>(solverParams);
44 CHK_ERR( linSysCore->
parameters(numParams, params) );
46 CHK_ERR( linSysCore->
launchSolver(status, iterationsTaken) );
52 dynamic_cast<snl_fei::LinearSystem_FEData*>(linearSystem);
53 if (fedlinsys != NULL) {
56 CHK_ERR( fedata->
launchSolver(status, iterationsTaken) );
72 const char** paramStrings = NULL;
73 std::vector<std::string> stdstrings;
77 int err = fei_Solver_solve(linearSystem, preconditioningMatrix,
78 numParams, paramStrings,
79 iterationsTaken, status);
81 delete [] paramStrings;