9 #include <fei_macros.hpp> 
   13 #include <test_utils/LibraryFactory.hpp> 
   15 #include <fei_LibraryWrapper.hpp> 
   17 #include <snl_fei_Factory.hpp> 
   19 #include <fei_Factory_Trilinos.hpp> 
   20 #ifdef HAVE_FEI_AZTECOO 
   21 #include <fei_Aztec_LinSysCore.hpp> 
   25 #include <FETI_DP_FiniteElementData.h> 
   31              const char* libraryName)
 
   33   std::string libname(libraryName);
 
   39   if (libname == 
"Aztec") {
 
   40 #ifdef HAVE_FEI_AZTECOO 
   41     lsc.
reset(
new fei_trilinos::Aztec_LinSysCore(comm));
 
   43     std::string msg(
"Aztec not available.");
 
   44     throw std::runtime_error(msg);
 
   48   if (libname == 
"FETI") {
 
   50     fedata.
reset(
new FETI_DP_FiniteElementData(comm));
 
   54   if (lsc.
get() == NULL && fedata.
get() == NULL) {
 
   56     std::string msg(
"create_LibraryWrapper: ");
 
   58     msg += 
" not a valid name.";
 
   59     throw std::runtime_error(msg);
 
   62   if (lsc.
get() != NULL) {
 
   63     wrapper.
reset(
new LibraryWrapper(lsc));
 
   67   if (fedata.
get() != NULL) {
 
   68     wrapper.
reset(
new LibraryWrapper(fedata));
 
   78           const char* libraryName)
 
   80   std::string libname(libraryName);
 
   82   if (libname.find(
"Trilinos") != std::string::npos) {
 
   85     if (libname.find(
"Amesos") != std::string::npos) {
 
   88       factory->parameters(paramset);
 
   90     else if (libname.find(
"Aztec") != std::string::npos) {
 
   96       if (libname.find(
"AztecOO") != std::string::npos) {
 
  111   catch (std::runtime_error& exc) {
 
  112     std::string msg(
"create_fei_Factory: ");
 
  114     throw std::runtime_error(msg);
 
  117   if (wrapper.
get() != NULL) {
 
fei::SharedPtr< fei::Factory > create_fei_Factory(MPI_Comm comm, const char *libraryName)
void add(const Param ¶m, bool maintain_unique_keys=true)
fei::SharedPtr< LibraryWrapper > create_LibraryWrapper(MPI_Comm comm, const char *libraryName)