controller.h
来自「Dolfin provide a high-performance linear」· C头文件 代码 · 共 75 行
H
75 行
// Copyright (C) 2005 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added: 2005-11-02// Last changed: 2005-11-09#ifndef __CONTROLLER_H#define __CONTROLLER_H#include <dolfin/constants.h>namespace dolfin{ /// Controller for adaptive time step selection, based on the list /// of controllers presented in "Digital Filters in Adaptive /// Time-Stepping" by Gustaf Soderlind (ACM TOMS 2003). class Controller { public: /// Create uninitialized controller Controller(); /// Create controller with given initial state Controller(real k, real tol, uint p, real kmax); /// Destructor ~Controller(); /// Initialize controller void init(real k, real tol, uint p, real kmax); /// Reset controller void reset(real k); /// Default controller real update(real e, real tol); /// Controller H0211 real updateH0211(real e, real tol); /// Controller H211PI real updateH211PI(real e, real tol); /// No control, simple formula real updateSimple(real e, real tol); /// Control by harmonic mean value real updateHarmonic(real e, real tol); /// Control by harmonic mean value (no history supplied) static real updateHarmonic(real knew, real kold, real kmax); private: // Time step history real k0, k1; // Error history real e0; // Asymptotics: e ~ k^p real p; // Maximum time step real kmax; };}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?