45 std::string Driver::evolutionOperatorLookupIds[6] = {
 
   46     LibUtilities::SessionReader::RegisterEnumValue(
 
   48     LibUtilities::SessionReader::RegisterEnumValue(
 
   49             "EvolutionOperator",
"Direct"         ,
eDirect),
 
   50     LibUtilities::SessionReader::RegisterEnumValue(
 
   51             "EvolutionOperator",
"Adjoint"        ,
eAdjoint),
 
   52     LibUtilities::SessionReader::RegisterEnumValue(
 
   54     LibUtilities::SessionReader::RegisterEnumValue(
 
   56     LibUtilities::SessionReader::RegisterEnumValue(
 
   59 std::string Driver::evolutionOperatorDef =
 
   60     LibUtilities::SessionReader::RegisterDefaultSolverInfo(
 
   61             "EvolutionOperator",
"Nonlinear");
 
   62 std::string Driver::driverDefault =
 
   63     LibUtilities::SessionReader::RegisterDefaultSolverInfo(
 
   64             "Driver",           
"Standard");
 
   71     Loki::SingleThreaded> Type;
 
   72     return Type::Instance();
 
   79     : m_comm(pSession->GetComm()),
 
   98                  "EqType SolverInfo tag must be defined.");
 
   99         std::string vEquation = 
m_session->GetSolverInfo(
"EqType");
 
  100         if (
m_session->DefinesSolverInfo(
"SolverType"))
 
  102             vEquation = 
m_session->GetSolverInfo(
"SolverType");
 
  107                  "EquationSystem '" + vEquation + 
"' is not defined.\n" 
  108                  "Ensure equation name is correct and module is compiled.\n");
 
  114                     "EvolutionOperator");
 
  125                 m_session->SetTag(
"AdvectiveType",
"Convective");
 
  130                 m_session->SetTag(
"AdvectiveType",
"Linearised");
 
  135                 m_session->SetTag(
"AdvectiveType",
"Adjoint");
 
  141                 m_session->SetTag(
"AdvectiveType",
"Linearised");
 
  146                 m_session->SetTag(
"AdvectiveType",
"Adjoint");
 
  151                 m_session->SetTag(
"AdvectiveType",
"SkewSymmetric");
 
  161                 string          LinNSCondFile;
 
  162                 vector<string>  LinNSFilename;
 
  164                 LinNSCondFile = 
m_session->GetSessionName();
 
  165                 LinNSCondFile += 
"_LinNS.xml";
 
  166                 LinNSFilename.push_back(meshfile);
 
  167                 LinNSFilename.push_back(LinNSCondFile);
 
  169                                 0, NULL, LinNSFilename, 
m_session->GetComm());
 
  177                 m_session->SetTag(
"AdvectiveType",
"Convective");
 
  183                 ASSERTL0(
false, 
"Unrecognised evolution operator.");
 
  189         ASSERTL0(e == -1, 
"No such class class defined.");
 
  190         out << 
"An error occurred during driver initialisation." << endl;
 
  196     ASSERTL0(
false,
"This routine is not valid in this class");
 
  202     ASSERTL0(
false,
"This routine is not valid in this class");
 
#define ASSERTL0(condition, msg)
 
tBaseSharedPtr CreateInstance(tKey idKey BOOST_PP_COMMA_IF(MAX_PARAM) BOOST_PP_ENUM_BINARY_PARAMS(MAX_PARAM, tParam, x))
Create an instance of the class referred to by idKey. 
 
static Array< OneD, NekDouble > NullNekDouble1DArray
 
virtual ~Driver()
Destructor. 
 
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
 
static SessionReaderSharedPtr CreateInstance(int argc, char *argv[])
Creates an instance of the SessionReader class. 
 
LibUtilities::SessionReaderSharedPtr session_LinNS
I the Coupling between SFD and arnoldi. 
 
virtual SOLVER_UTILS_EXPORT void v_InitObject(std::ostream &out=std::cout)
 
LibUtilities::NekFactory< std::string, Driver, const LibUtilities::SessionReaderSharedPtr & > DriverFactory
Datatype of the NekFactory used to instantiate classes derived from the Driver class. 
 
enum EvolutionOperatorType m_EvolutionOperator
Evolution Operator. 
 
EquationSystemFactory & GetEquationSystemFactory()
 
Array< OneD, EquationSystemSharedPtr > m_equ
Equation system to solve. 
 
virtual SOLVER_UTILS_EXPORT Array< OneD, NekDouble > v_GetImagEvl(void)
 
virtual SOLVER_UTILS_EXPORT Array< OneD, NekDouble > v_GetRealEvl(void)
 
DriverFactory & GetDriverFactory()
 
LibUtilities::SessionReaderSharedPtr m_session
Session reader object. 
 
int m_nequ
number of equations 
 
Provides a generic Factory class.