📄 petscmanager.h
字号:
// Copyright (C) 2004-2006 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added: 2004-12-09// Last changed: 2006-08-15#ifndef __PETSC_MANAGER_H#define __PETSC_MANAGER_H#ifdef HAVE_PETSC_H// Due to a bug in PETSC, the Boost headers must be included// before including petscerror.h.#include <boost/numeric/ublas/vector.hpp>#include <boost/numeric/ublas/matrix.hpp>#include <boost/numeric/ublas/io.hpp>#include <petscconf.h>#include <petsc.h>#include <petscksp.h>#include <petscmat.h>#include <petscpc.h>#include <petscvec.h>namespace dolfin{ /// This class is responsible for initializing and (automatically) /// finalizing PETSc. To initialize PETSc, call PETScManager::init() /// once (additional calls will be ignored). Finalization will be /// handled automatically. class PETScManager { public: /// Initialize PETSc without command-line arguments static void init(); /// Initialize PETSc with command-line arguments static void init(int argc, char* argv[]); protected: // Constructor PETScManager(); // Destructor ~PETScManager(); private: // Singleton instance static PETScManager petsc; // Check if initialized bool initialized; }; }#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -