📄 homotopyode.h
字号:
// Copyright (C) 2005-2006 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added: 2005// Last changed: 2006-08-21#ifndef __HOMOTOPY_ODE_H#define __HOMOTOPY_ODE_H#include <dolfin/common/types.h>#include "ComplexODE.h"namespace dolfin{ class Homotopy; /// This is the base class for complex homotopy ODEs. One ODE is /// generated by the class Homotopy for each homotopy path. class HomotopyODE : public ComplexODE { public: /// Current state, solving ODE or playing end game enum State { ode, endgame }; /// Constructor HomotopyODE(Homotopy& homotopy, uint n, real T); /// Destructor ~HomotopyODE(); /// Return initial value for given component void z0(complex z[]); /// Evaluate right-hand side void f(const complex z[], real t, complex y[]); /// Compute product y = Mx for implicit system void M(const complex x[], complex y[], const complex z[], real t); /// Compute product y = Jx for Jacobian J void J(const complex x[], complex y[], const complex u[], real t); /// Update ODE, return false to stop (optional) bool update(const complex z[], real t, bool end); /// Get state, solving ODE or playing end game State state(); private: // Monitor homotopy void monitor(const complex z[], real t); // The homotopy Homotopy& homotopy; // Size of system uint n; // Current state State _state; // Array of values used for temporary storage complex* tmp; };}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -