gmres.cpp

来自「Dolfin provide a high-performance linear」· C++ 代码 · 共 90 行

CPP
90
字号
// Copyright (C) 2006 Anders Logg.// Licensed under the GNU LGPL Version 2.1.// // First added:  2006-08-16// Last changed: 2006-08-16#include <dolfin/GMRES.h>using namespace dolfin;#ifdef HAVE_PETSC_H//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const PETScMatrix& A, PETScVector& x,			  const PETScVector& b, Preconditioner pc){  PETScKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const PETScKrylovMatrix& A, PETScVector& x,			  const PETScVector& b, Preconditioner pc){  PETScKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const PETScMatrix& A, PETScVector& x,			  const PETScVector& b, PETScPreconditioner& pc){  PETScKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const PETScKrylovMatrix& A, PETScVector& x,			  const PETScVector& b, PETScPreconditioner& pc){  PETScKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------#endif//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const uBlasMatrix<ublas_dense_matrix>& A,			  uBlasVector& x, const uBlasVector& b,			  Preconditioner pc){  uBlasKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const uBlasMatrix<ublas_sparse_matrix>& A,			  uBlasVector& x, const uBlasVector& b,			  Preconditioner pc){  uBlasKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const uBlasKrylovMatrix& A, uBlasVector& x,			  const uBlasVector& b, Preconditioner pc){  uBlasKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const uBlasMatrix<ublas_dense_matrix>& A,			  uBlasVector& x, const uBlasVector& b,			  uBlasPreconditioner& pc){  uBlasKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const uBlasMatrix<ublas_sparse_matrix>& A,			  uBlasVector& x, const uBlasVector& b,			  uBlasPreconditioner& pc){  uBlasKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------dolfin::uint GMRES::solve(const uBlasKrylovMatrix& A, uBlasVector& x,			  const uBlasVector& b, uBlasPreconditioner& pc){  uBlasKrylovSolver solver(gmres, pc);  return solver.solve(A, x, b);}//-----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?