📄 defaultfactory.cpp
字号:
// Copyright (C) 2008 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added: 2008-05-17// Last changed: 2008-05-19#include <dolfin/parameter/parameters.h>#include "uBlasFactory.h"#include "PETScFactory.h"#include "EpetraFactory.h"#include "DefaultFactory.h"#include "AssemblyFactory.h"using namespace dolfin;//-----------------------------------------------------------------------------GenericMatrix* DefaultFactory::createMatrix() const{ return factory().createMatrix();}//-----------------------------------------------------------------------------GenericVector* DefaultFactory::createVector() const{ return factory().createVector();}//-----------------------------------------------------------------------------GenericSparsityPattern * DefaultFactory::createPattern() const{ return factory().createPattern();}//-----------------------------------------------------------------------------LinearAlgebraFactory& DefaultFactory::factory() const{ // Fallback std::string default_backend = "uBLAS"; typedef uBlasFactory<> DefaultFactory; // Get backend from parameter system std::string backend = dolfin_get("linear algebra backend"); // Choose backend if (backend == "uBLAS") { return uBlasFactory<>::instance(); } else if (backend == "PETSc") {#ifdef HAS_PETSC return PETScFactory::instance();#endif } else if (backend == "Epetra") {#ifdef HAS_TRILINOS return EpetraFactory::instance();#endif } else if (backend == "Assembly") { return AssemblyFactory::instance(); } // Fallback message("Linear algebra backend \"" + backend + "\" not available, using " + default_backend + "."); return DefaultFactory::instance();}//-----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -