Fortran和Matlab代码
如果您在文件传输方面有任何问题,请联系恩斯特。头发(位于)unige.ch
我们希望这些程序对您和您的团队有用。如果您将您的经历(糟糕的和好)与我们的代码。
A类测试集驱动程序的刚性微分方程代码也可供您使用。
此页面的软件(Radar5和下面的dc_sumexp)是免费的,但需遵守以下规定许可协议
几何积分器(结构保持算法)
哈密顿系统的辛方法和对称方法对于可逆问题,显示了改进的定性和定量行为,尤其是长期集成。
有关说明,请参见:E.Hairer、C.Lubich和G.Wanner(2002):几何-数值积分。常微分方程的保结构算法。Springer系列计算。数学。,第31卷以及文章E.Hairer和M.Hairer(2002):GniCodes-几何-数值积分的Matlab程序。
tar文件gnicodes.tar码包含一个包含以下Fortran 77代码的目录(用于使用命令展开目录tar xvf gnicodes.tar码)
- GNI_IRK2,辛和对称隐式Runge-Kutta码对于二阶微分方程;
- GNI_COMP,以基本方法作为外部子程序的组合方法;
- GNI_LMM2,二阶对称线性多步方法微分方程;
- 所有三种方法的驱动程序示例;
- 开普勒问题三种八阶方法的比较外太阳系;
- 合成方法的复杂应用:刚体模拟(顶部)基于分裂或嘎嘎声;球面上的两体问题。
tar文件gnimatlab.tar包含包含以下Matlab代码的目录(用于使用命令展开目录tar xvf gnimatlab.tar)
- GNI_IRK2,辛和对称隐式Runge-Kutta码对于二阶微分方程;
- GNI_COMP,以基本方法作为外部子程序的组合方法;
- GNI_LMM2,二阶对称线性多步方法微分方程;
- 驱动程序示例的方法,开普勒问题;
- Henon-Heiles问题的Poincare截面计算;
- 用于解决球体上的两体问题的驱动程序。
A类C++版本这些代码的作者是约翰·丹克。
刚体积分器,如中所述E.Hairer和G.Vilmart(2006):预处理离散Moser-Veselov刚体全动力学算法,物理学杂志。A: 数学。Gen.39(2006)13225-13235。
- DMV10型修改DMV 10阶的Fortran子程序算法(订单版本的子程序包括2、4、6、8)。
- DR_DMV10DMV10驱动器(非对称刚体)。
非刚性微分方程
有关说明,请参见:Hairer、Norsett和Wanner(1993):解决普通问题微分方程。非刚性问题。第二版。Springer系列计算。数学。,第8卷。
- DOPRI5公司5(4)阶显式Runge-Kutta方法问题y'=f(x,y);具有4阶密集输出
- DR_DOPRI5公司DOPRI5驱动程序
- DOP853公司8(5,3)阶显式Runge-Kutta方法问题y'=f(x,y);具有7阶密集输出
- DR_DOP853号文件DOP853驱动程序
- ODEX公司问题的外推方法(GBS)y’=f(x,y);具有密集输出
- DR_数据交换ODEX驱动程序
- ODEX2标准外推方法(Stoermers规则)二阶微分方程y’’=f(x,y);具有密集输出
- 索引2ODEX2驱动程序
- 有一个文件夹的.tar文件,其中包含C型DOPRI5、DOP853和RETARD。DOP853的Unix命令行版本可从凯斯·布里格斯.可从以下网址获得可处理不连续性的C版修改弗雷德里科·贝杰罗
- 有一个文件夹,由Blake Ashby编写“bmashby(at)stanford.edu”,其中包含C++版本非刚性积分器DOPRI5和刚性积分仪RADAU5。它可以用“tar xzf IntegratorT.tgz”展开。
- 有Matlab和Octave文件Matlab非刚性,八面体非刚性,由Denis Bichsel撰写“dbichsel(at)infomanik.ch”,用于非刚性积分器DOPRI5和DOP853。
- 关于Matlab接口对于非刚性积分器DOPRI5、DOP853和ODEX,请参阅慕尼黑理工大学主页。
- 有一个gzip-ped非刚性.tar.gz包含所有这些程序的文件。
刚性微分方程与微分代数问题
描述:Hairer和Wanner(1996):求解常微分方程。刚性微分代数问题。第二版。Springer系列计算。数学。,第14卷。
- RADAU5公司5阶隐式Runge-Kutta方法(Radau IIA)表格问题My'=f(x,y)与可能奇异矩阵M;具有密集输出(配置解决方案)。关于线性代数例程用户可以选择将程序链接到DC_DECSOL和DECSOL或使用DC_LAPACK和LAPACK以及LAPACKC
选择提示:
a) LAPACK例程使用BLAS
b) 编译器必须接受COMPLEX*16用于LAPACK例程;DECSOL公司例程仅使用REAL*8声明 - C-与radau/radau5代码的接口,编写人迈克尔·豪斯(Michael.Hauth(at)wsi-gris.uni-tuebingen.de)。该包允许从C调用radau/radau5代码。
- DC_DECSOL公司用于分解和线性系统的后代换;使用DECSOL的子程序
- DECSOL公司线性代数例程,由使用DC_DECSOL、SDIRK4、ROS4、SEULEX、SODEX
- DC_亚太用于分解和线性系统的后代换;使用LAPACK和LAPACKC的子程序
- LAPACK公司线性代数例程,由DC_LAPACK使用
- 拉帕克复数的线性代数例程算术,由DC_LAPACK使用
- DR1_雷达5RADAU5驱动程序(刚性范德波尔方程)
- DR2_雷达5RADAU5驱动程序(放大器问题,指数1的微分代数)
- RADAU公司变阶隐式Runge-Kutta方法(Radau IIA)(开关在订单5、9和13之间自动)对于形式问题My'=f(x,y)与可能奇异矩阵M;对于选项IWORK(11)=3和IWORK(12)=3,代码在数学上是相当于RADAU5(通常比RADAU5慢一点)。
- DR_RADAU公司RADAU驱动程序(刚性范德波尔方程)
- 罗德斯4(3)阶Rosenbrock方法,对于形式My'=f(x,y)的问题奇异矩阵M;产量密集;考虑了代数阶条件关于线性代数例程用户可以选择将代码链接到DC_DECSOL和DECSOL或使用DC_LAPACK和LAPACK以及LAPACKC(实际上,文件LAPACKC和不使用需要COMPLEX*16的DC_LAPACK)
- DR_RODAS公司RODAS驱动程序(刚性范德波尔方程)
- SEULEX公司基于线性的外推方法形式问题的隐式EulerMy'=f(x,y)与可能奇异矩阵M;产量密集;关于线性代数用户有与RODAS相同的选择
- DR_SEULEX公司SEULEX的驱动程序(刚性范德波尔方程)
具有分布时滞的刚性问题(积分微分方程):通过将DC_DECSOL替换为DC_SUMEXP,RADAU5可以解决此类问题。描述见:N.Guglielmi和E.Hairer,Applied stiffODE和DDE的积分器用于解决分布式延迟问题。这些代码是与尼古拉·古列尔米(Nicola.Guglielmi(at)gssi.it)。它们是免费的,但须遵守以下规定许可协议(有关详细信息,请参阅RADAR5“用户指南”的版权声明(第9节)。
- DC-SUMEXP公司必须与RADAU5应用程序一起使用的线性代数子程序
- DR-gamm-SUMEXP博士分布式延迟测试问题的驱动程序(gamma分布)
- MYELO-SUMEXP博士化疗诱导的分布式延迟模型的驱动程序骨髓抑制(γ分布)
老年人:但是,一些其他可用代码没有相同的线性代数选项包括:
- 新加坡存托凭证44阶对角隐式Runge-Kutta方法对于形式My'=f(x,y)的问题奇异矩阵M;输出密集,采用DECSOL;A类司机也可以使用。
- 活性氧44(3)阶经典Rosenbrock方法,对于形式My'=f(x,y)的问题奇异矩阵M;无密集输出;使用DECSOL;A类司机也可以使用。
- SODEX公司基于线性的外推方法形式问题的隐式中点规则My’=f(x,y);使用DECSOL;A类司机也可以使用。
- RADAUP公司5、9或13阶隐式Runge-Kutta方法(Radau IIA)表格问题My'=f(x,y)与可能奇异矩阵M;被RADAU取代。
- 有一个文件夹,是Blake Ashby写的“bmashby(at)stanford.edu”,其中包含C++版本非差分积分器DOPRI5和刚性积分器RADAU5的输出。它可以用“tar xzf Integrator T.tgz”展开。
- 有Matlab和Octave文件MatlabStiff公司,八面体刚度,由Denis Bichsel撰写“dbichsel(at)infomanik.ch”,用于刚性积分器RADAU。
- 关于Matlab接口对于刚性积分器RADAU5和SEULEX,请咨询慕尼黑理工大学主页。
- RADAU5的Matlab版本可以从图宾根大学(Ch.Engstler)。
- 交互式pdf文件萨拉戈萨大学由提供(路易斯·兰德斯). 它是RADAU5的学术实现,允许积分二维微分系统。
- 有一个gzip-ped刚性.tar.gz包含所有这些程序的文件。
刚性微分方程的稳定显式方法
这些方法基于显式Runge-Kutta方法沿负实轴的稳定域。他们是容易使用(没有线性代数例程,…),它们特别适用于MOL离散化抛物偏微分方程.代码由编写阿西尔·阿卜杜勒(Assyr.Abdulle(at)math.unige.ch)。
- tar文件摇滚巨星包含Fortran 77代码为ROCK2的目录(顺序2)和ROCK4(顺序4),以及以下三个示例的子目录。对于使用命令展开目录焦油xvf岩石焦油
- BURGER,BURGER方程的MOL离散化(维数500);
- BRUSS-2D,反应扩散问题的MOL离散化在2个空间维度中(ODE的维度为32768);
- FINAG,FitzHug和Nagumo神经传导方程(400维)。
延迟微分方程
对于不颤抖的问题对于僵硬的问题,包括微分代数和中性具有常数或状态依赖的延迟方程(最终消失)延迟。这些代码是与尼古拉·古列尔米(尼古拉·古列尔米(nicola.guglielmi,at)gssi.it)。它们是免费的,但须遵守以下规定许可协议(有关详细信息,请参阅“用户指南”的版权声明(第9节))。
- tar文件radar5-v2.2.tar(2024年2月版本2.2)包含一个包含Fortran 90代码RADAR5(必要的线性代数)的目录例程和子目录。A类用户指南对于版本2.2可用。
- 抑制剂分子酶动力学,尺寸4,一个恒定延迟;
- HAYASHI是一个几乎奇异的状态相关中性问题,维数2作为微分代数问题,一个消失延迟;
- 肝炎急性乙型肝炎病毒感染,维度10,5个恒定延迟;
- OREGONATOR化学动力学,维度2,一个恒定延迟;
- ROBERTSON与稳态溶液的化学反应,尺寸3,一个恒定延迟,非常大的时间间隔(步长大于延迟);
- SDISC,非光滑人工问题,维数1,1恒定延迟;
- WALTMAN,抗体生成阈值模型,维度6,2状态相关延迟趋于零,右侧的不连续性方程;
- 状态相关人工问题;
- ELSNOR,解决方案终止问题。
对于以下问题分布式延迟.这些代码是与尼古拉·古列尔米(尼古拉·古列尔米(nicola.guglielmi,at)gssi.it)。他们是免费的,但须遵守以下规定许可协议.
机械系统
以下代码特别适用于方程式受约束机械系统的运动:q’=T(q,T)vM(t,q)v’=f(q,v,u,t)-L(q,v,u,t)*lamda0=H(q,t)v+k(q,t)u’=d(q,v,u,λ,t)他们可以选择将数值解投影到流形定义为0=g(q,t)。
密集输出可用。
- 老人牌汽车55(3)阶半显式Runge-Kutta方法;使用DECSOL、LAPACK、LINSP(代码由V.Brasey编写)
- 老人牌5.PS包含HEM5用户指南的PostScript文件。
- 亚麻布包含MA28的稀疏线性代数例程哈维尔图书馆
- DR_ISO公司HEM5驱动器(绝缘子链,非解析型)
- DR_ISOSPHEM5驱动程序(绝缘子链,稀疏型)
- PHEM56型5(4)阶分块半显Runge-Kutta方法;使用DECSOL、LAPACK、LINSP(代码由A.Murua编写ander(at)si.ehu.es公司)
- PHEM56.PS型包含PHEM56用户指南的PostScript文件。
- DR_项目56PHEM56驱动器(绝缘子链,稀疏型)
- 有一个gzip-ped机械.tar.gz包含所有这些程序的文件。
返回第页,共页恩斯特·海尔