📄 timeslabjacobian.h
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -