timeslabjacobian.h
来自「利用C」· C头文件 代码 · 共 70 行
H
70 行
// Copyright (C) 2005-2008 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added: 2005-01-28// Last changed: 2008-04-08#ifndef __TIME_SLAB_JACOBIAN_H#define __TIME_SLAB_JACOBIAN_H#include <dolfin/log/dolfin_log.h>#include <dolfin/la/uBlasDenseMatrix.h>#include <dolfin/la/uBlasVector.h>#include <dolfin/la/uBlasKrylovMatrix.h>#include <dolfin/la/Matrix.h>namespace dolfin{ class ODE; class Method; class TimeSlab; /// This is the base class for Jacobians defined on mono- or /// multi-adaptive time slabs. class TimeSlabJacobian : public uBlasKrylovMatrix { public: /// Constructor TimeSlabJacobian(TimeSlab& timeslab); /// Destructor ~TimeSlabJacobian(); /// Return number of rows (dim = 0) or columns (dim = 1) virtual uint size(uint dim) const = 0; /// Compute product y = Ax virtual void mult(const uBlasVector& x, uBlasVector& y) const = 0; /// (Re-)initialize computation of Jacobian virtual void init(); /// Update dense copy of Jacobian void update(); /// Return dense copy of Jacobian const uBlasDenseMatrix& matrix() const; protected: // The ODE ODE& ode; // Method, mcG(q) or mdG(q) const Method& method; // Dense copy of the Jacobian uBlasDenseMatrix A; // Vectors used to compute dense copy of the Jacobian uBlasVector ej, Aj; };}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?