defaultfactory.cpp
来自「利用C」· C++ 代码 · 共 68 行
CPP
68 行
// 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 + =
减小字号Ctrl + -
显示快捷键?