Numerical analysis and integration of dynamical systems and the fractal dimension of boundaries

IF 3.4 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS Computer Physics Communications Pub Date : 2025-04-01 Epub Date: 2024-12-31 DOI:10.1016/j.cpc.2024.109493
L.G.S. Duarte, L.A.C.P. da Mota, J.F.E. Skea
{"title":"Numerical analysis and integration of dynamical systems and the fractal dimension of boundaries","authors":"L.G.S. Duarte,&nbsp;L.A.C.P. da Mota,&nbsp;J.F.E. Skea","doi":"10.1016/j.cpc.2024.109493","DOIUrl":null,"url":null,"abstract":"<div><div>The set of Maple routines that comprises the package <strong>Ndynamics</strong> has been improved. Apart one of the main motivations for its creation, namely, the routines to calculate the fractal dimension of boundaries (via box counting), the package deals with the numerical evolution of dynamical systems and provide flexible plotting of the results. The package also brings an initial conditions generator, a numerical solver manager, and a focusing set of routines that allow for better analysis of the graphical display of the results. Many new Maple-in-built numerical solvers are now programmed and available for the user of the package. The novelty that the package presented at the time of its release, an optional numerical interface, is maintained and updated.</div></div><div><h3>New version program summary</h3><div><em>Program Title:</em> Ndynamics - Numerical integration of dynamical systems and the fractal dimension of boundaries</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/swkr5w3kx4.1</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> CC by NC 3.0</div><div><em>Programming language:</em> Maple</div><div><em>Journal reference of previous version:</em> Comput. Phys. Commun. 183 (9) (2012) 2019–2020, <span><span>https://doi.org/10.1016/j.cpc.2012.03.024</span><svg><path></path></svg></span></div><div><em>Does the new version supersede the previous version?:</em> Yes</div><div><em>Nature of problem:</em> Computation and plotting of numerical solutions of dynamical systems and the determination of the fractal dimension of the boundaries.</div><div><em>Solution method:</em> The default method of integration is a fifth-order Runge–Kutta procedure, but the following numerical methods of integration are programmed and now available for the user of the <strong>Ndynamics</strong> package: rkf45, ck45, rosenbrock, rkf45_dae, ck45_dae, rosenbrock_dae, dverk78, lsode, gear, taylorseries, mebdfi, and classical. A box counting method is used to calculate the fractal dimension of the boundaries.</div><div><em>Reasons for new version:</em> The <strong>Ndynamics</strong> package is still being used (as can be seen from the very new citation [1]), so it is worth to update its programming, for instance, by including the new numeric integrators available with the commercial release of Maple (just cited above on the solution method). We have also taken out of usage some such commands that are not available anymore, thus making the package current, more powerful and fixing some aspects. The (at the time of release) great novelty of the package, namely, the possibility of opening an interface for outside maple numerical integration was updated, we have changed the numerical C-integrator suggested and have improved some aspects of the RK45 numerical integration routine available with the present Maple package, the last such upgrade was done more than 12 years ago.</div><div><em>Summary of revisions:</em> Since the first release of our package [2, 3], many years ago, with the implementation of our ideas and methods of how to proceed about the integrating of dynamical system, analyzing graphically such integration and calculating, via a box counting algorithm, the associated fractal dimension, this package has proven to be still in use by the research community. As already mentioned, the most recent citation to our paper (and package) is [1] (in Non-linear Science and Numerical Simulation, Volume 140, Part 1, January 2025), thus very recent and the paper and corresponding computational implementation is still relevant, providing the research community with an useful set of tools. The Ndynamics package was greatly de-phased with new developments on the Maple platform (basin where our program and commands run). The numerical compiler that could be used in conjugation with the Maple programming, one of the innovative ideas we have introduced, at the time of its first release, via the maple command system (allowing for maple to use programs running on the system where it is being used and then return to maple - please see maple help for system [4]) - was somewhat out of date. We have also updated the programming in relation to the new Maple commands for numerical integration now available.</div><div>The command <span>Nsolve</span> is the command that the users employ: the surface command that uses a host of others internally. As promised above, since the bulk of the changes that were made now are on those four routines singled out below, let us elaborate a little bit about those. The most relevant are: ‘Nsolve/integrator’; ‘Nsolve/integrator/points’; ‘Nsolve/integrator/C’ and ‘Nsolve/plotter’. Briefly, these four sub-routines get the input from <span>Nsolve</span> and a) determine which points will be used (and how many) via the parameters passed down by <span>Nsolve</span>; b) two of those sub-routines, depending also on those parameters, integrate still “inside” Maple or leaves Maple and perform the numerical integration using the external interface the package manages and finally plots the results. All these processes are controlled (by <span>Nsolve</span> and the global parameters necessary) by the user.</div><div><em>Additional comments including restrictions and unusual features:</em> We are still restricted to working in any Euclidean space. We work with Boxcounting algorithms in order to calculate the fractal dimension. Note that the box-counting dimension can be defined in a metric space, but the definition that allows an easy calculation is only available for Euclidean spaces (see an example in [5] for more recent approaches).</div><div>This package provides user-friendly software tools for analyzing the character of a dynamical system, whether it displays chaotic behavior or not. Options within the package allow the user to specify characteristics that separate the trajectories into families of curves. In conjunction with the facilities for altering the user's viewpoint, this provides a graphical interface for the speedy and easy identification of regions with interesting dynamics. An unusual characteristic of the package is its interface for performing the numerical integrations in C++ using a fifth-order Runge–Kutta method (default). This potentially improves the speed of the numerical integration by some orders of magnitude and, in cases where it is necessary to calculate thousands of graphs in regions of difficult integration, this feature is very desirable. Besides that tool, somewhat more experienced users can produce their own C++ integrator and, by using the commands available in the package, use it as the C++ integrator provided with the package as long as the new integrator manages the input and output in the same format as the default one does.</div></div><div><h3>References</h3><div><ul><li><span>[1]</span><span><div>Olesia Dogonasheva, Daniil Radushev, Boris Gutkin, Denis Zakharov, Dynamical manifold dimensionality as characterization measure of chimera states in bursting neuronal networks, Commun. Nonlinear Sci. Numer. Simul. 140 (Part 1) (January 2025) 108321, <span><span>https://doi.org/10.1016/j.cnsns.2024.108321</span><svg><path></path></svg></span>.</div></span></li><li><span>[2]</span><span><div>L.G.S. Duarte, L.A.C.P. da Mota, H.P. de Oliveira, R.O. Ramos, J.E.F. Skea, Numerical analysis of dynamical systems and the fractal dimension of boundaries, Comput. Phys. Commun. 119 (2–3) (2 June 1999) 256–271, <span><span>https://doi.org/10.1016/S0010-4655(99)00204-0</span><svg><path></path></svg></span>.</div></span></li><li><span>[3]</span><span><div>J. Avellar, L.G.S. Duarte, L.A.C.P. da Mota, N. de Melo, J.E.F. Skea, The Ndynamics package—numerical analysis of dynamical systems and the fractal dimension of boundaries, Comput. Phys. Commun. 183 (9) (September 2012) 2019–2020, <span><span>https://doi.org/10.1016/j.cpc.2012.03.024</span><svg><path></path></svg></span>.</div></span></li><li><span>[4]</span><span><div><span><span>https://www.maplesoft.com/support/help/Maple/view.aspx?path=ssystem</span><svg><path></path></svg></span>.</div></span></li><li><span>[5]</span><span><div>M. Fernández-Martínez, M.A. Sánchez-Granero, Fractal dimension for fractal structures, Topol. Appl. 163 (15 February 2014) 93–111, <span><span>https://doi.org/10.1016/j.topol.2013.10.010</span><svg><path></path></svg></span>.</div></span></li></ul></div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"309 ","pages":"Article 109493"},"PeriodicalIF":3.4000,"publicationDate":"2025-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524004168","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2024/12/31 0:00:00","PubModel":"Epub","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

The set of Maple routines that comprises the package Ndynamics has been improved. Apart one of the main motivations for its creation, namely, the routines to calculate the fractal dimension of boundaries (via box counting), the package deals with the numerical evolution of dynamical systems and provide flexible plotting of the results. The package also brings an initial conditions generator, a numerical solver manager, and a focusing set of routines that allow for better analysis of the graphical display of the results. Many new Maple-in-built numerical solvers are now programmed and available for the user of the package. The novelty that the package presented at the time of its release, an optional numerical interface, is maintained and updated.

New version program summary

Program Title: Ndynamics - Numerical integration of dynamical systems and the fractal dimension of boundaries
CPC Library link to program files: https://doi.org/10.17632/swkr5w3kx4.1
Licensing provisions: CC by NC 3.0
Programming language: Maple
Journal reference of previous version: Comput. Phys. Commun. 183 (9) (2012) 2019–2020, https://doi.org/10.1016/j.cpc.2012.03.024
Does the new version supersede the previous version?: Yes
Nature of problem: Computation and plotting of numerical solutions of dynamical systems and the determination of the fractal dimension of the boundaries.
Solution method: The default method of integration is a fifth-order Runge–Kutta procedure, but the following numerical methods of integration are programmed and now available for the user of the Ndynamics package: rkf45, ck45, rosenbrock, rkf45_dae, ck45_dae, rosenbrock_dae, dverk78, lsode, gear, taylorseries, mebdfi, and classical. A box counting method is used to calculate the fractal dimension of the boundaries.
Reasons for new version: The Ndynamics package is still being used (as can be seen from the very new citation [1]), so it is worth to update its programming, for instance, by including the new numeric integrators available with the commercial release of Maple (just cited above on the solution method). We have also taken out of usage some such commands that are not available anymore, thus making the package current, more powerful and fixing some aspects. The (at the time of release) great novelty of the package, namely, the possibility of opening an interface for outside maple numerical integration was updated, we have changed the numerical C-integrator suggested and have improved some aspects of the RK45 numerical integration routine available with the present Maple package, the last such upgrade was done more than 12 years ago.
Summary of revisions: Since the first release of our package [2, 3], many years ago, with the implementation of our ideas and methods of how to proceed about the integrating of dynamical system, analyzing graphically such integration and calculating, via a box counting algorithm, the associated fractal dimension, this package has proven to be still in use by the research community. As already mentioned, the most recent citation to our paper (and package) is [1] (in Non-linear Science and Numerical Simulation, Volume 140, Part 1, January 2025), thus very recent and the paper and corresponding computational implementation is still relevant, providing the research community with an useful set of tools. The Ndynamics package was greatly de-phased with new developments on the Maple platform (basin where our program and commands run). The numerical compiler that could be used in conjugation with the Maple programming, one of the innovative ideas we have introduced, at the time of its first release, via the maple command system (allowing for maple to use programs running on the system where it is being used and then return to maple - please see maple help for system [4]) - was somewhat out of date. We have also updated the programming in relation to the new Maple commands for numerical integration now available.
The command Nsolve is the command that the users employ: the surface command that uses a host of others internally. As promised above, since the bulk of the changes that were made now are on those four routines singled out below, let us elaborate a little bit about those. The most relevant are: ‘Nsolve/integrator’; ‘Nsolve/integrator/points’; ‘Nsolve/integrator/C’ and ‘Nsolve/plotter’. Briefly, these four sub-routines get the input from Nsolve and a) determine which points will be used (and how many) via the parameters passed down by Nsolve; b) two of those sub-routines, depending also on those parameters, integrate still “inside” Maple or leaves Maple and perform the numerical integration using the external interface the package manages and finally plots the results. All these processes are controlled (by Nsolve and the global parameters necessary) by the user.
Additional comments including restrictions and unusual features: We are still restricted to working in any Euclidean space. We work with Boxcounting algorithms in order to calculate the fractal dimension. Note that the box-counting dimension can be defined in a metric space, but the definition that allows an easy calculation is only available for Euclidean spaces (see an example in [5] for more recent approaches).
This package provides user-friendly software tools for analyzing the character of a dynamical system, whether it displays chaotic behavior or not. Options within the package allow the user to specify characteristics that separate the trajectories into families of curves. In conjunction with the facilities for altering the user's viewpoint, this provides a graphical interface for the speedy and easy identification of regions with interesting dynamics. An unusual characteristic of the package is its interface for performing the numerical integrations in C++ using a fifth-order Runge–Kutta method (default). This potentially improves the speed of the numerical integration by some orders of magnitude and, in cases where it is necessary to calculate thousands of graphs in regions of difficult integration, this feature is very desirable. Besides that tool, somewhat more experienced users can produce their own C++ integrator and, by using the commands available in the package, use it as the C++ integrator provided with the package as long as the new integrator manages the input and output in the same format as the default one does.

References

  • [1]
    Olesia Dogonasheva, Daniil Radushev, Boris Gutkin, Denis Zakharov, Dynamical manifold dimensionality as characterization measure of chimera states in bursting neuronal networks, Commun. Nonlinear Sci. Numer. Simul. 140 (Part 1) (January 2025) 108321, https://doi.org/10.1016/j.cnsns.2024.108321.
  • [2]
    L.G.S. Duarte, L.A.C.P. da Mota, H.P. de Oliveira, R.O. Ramos, J.E.F. Skea, Numerical analysis of dynamical systems and the fractal dimension of boundaries, Comput. Phys. Commun. 119 (2–3) (2 June 1999) 256–271, https://doi.org/10.1016/S0010-4655(99)00204-0.
  • [3]
    J. Avellar, L.G.S. Duarte, L.A.C.P. da Mota, N. de Melo, J.E.F. Skea, The Ndynamics package—numerical analysis of dynamical systems and the fractal dimension of boundaries, Comput. Phys. Commun. 183 (9) (September 2012) 2019–2020, https://doi.org/10.1016/j.cpc.2012.03.024.
  • [4]
    https://www.maplesoft.com/support/help/Maple/view.aspx?path=ssystem.
  • [5]
    M. Fernández-Martínez, M.A. Sánchez-Granero, Fractal dimension for fractal structures, Topol. Appl. 163 (15 February 2014) 93–111, https://doi.org/10.1016/j.topol.2013.10.010.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
动力系统的数值分析与积分与边界的分形维数
包含Ndynamics包的Maple例程集已得到改进。除了其创建的主要动机之一,即计算边界分形维数的例程(通过框计数)之外,该包处理动力系统的数值演化并提供灵活的结果绘图。该软件包还提供了一个初始条件生成器、一个数值求解器管理器和一组聚焦例程,这些例程允许更好地分析结果的图形显示。许多新的maple内置数值求解器现在已编程并可供该软件包的用户使用。包在其发布时呈现的新颖性,一个可选的数值接口,得到了维护和更新。新版本程序摘要程序标题:Ndynamics -动力系统的数值积分和边界的分形维数cpc库链接到程序文件:https://doi.org/10.17632/swkr5w3kx4.1Licensing规定:CC由NC 3.0编程语言:MapleJournal上一版本的参考:Comput。理论物理。common . 183 (9) (2012) 2019-2020, https://doi.org/10.1016/j.cpc.2012.03.024Does新版本取代旧版本?问题的性质:动力系统数值解的计算和绘图以及边界分形维数的确定。求解方法:默认的积分方法是五阶龙格-库塔过程,但以下数值积分方法已编程,现在可供Ndynamics软件包的用户使用:rkf45, ck45, rosenbrock, rkf45_dae, ck45_dae, rosenbrock_dae, dverk78, lsode, gear, taylorseries, mebdfi和classic。采用盒计数法计算边界的分形维数。新版本的原因:Ndynamics软件包仍在使用(从非常新的引用[1]中可以看出),因此值得更新其编程,例如,通过包括Maple商业发行版中可用的新数字积分器(刚刚在解决方法上引用)。我们还取消了一些不再可用的命令,从而使软件包更强大,并修复了一些方面。(在发布时)包的巨大新颖性,即打开外部maple数值积分接口的可能性被更新,我们改变了数值c积分器的建议,并改进了当前maple包中可用的RK45数值积分例程的某些方面,最后一次这样的升级是在12年前完成的。修订摘要:自多年前我们的软件包[2,3]首次发布以来,随着我们如何进行动力系统积分的思想和方法的实施,图形化地分析这种积分并通过盒计数算法计算相关的分形维数,该软件包已被证明仍在研究界使用。如前所述,我们的论文(和论文包)的最新引用是[1](非线性科学与数值模拟,140卷,第1部分,2025年1月),因此,这篇论文和相应的计算实现仍然是相关的,为研究界提供了一套有用的工具。Ndynamics包随着Maple平台(我们的程序和命令运行的平台)上的新开发而大大改变。数字编译器可以与Maple编程结合使用,这是我们引入的创新理念之一,在它第一次发布时,通过Maple命令系统(允许Maple使用在使用它的系统上运行的程序,然后返回到Maple -请参阅Maple帮助系统[4])-有点过时。我们还更新了编程与新的Maple命令的数值积分现在可用。Nsolve命令是用户使用的命令:在内部使用许多其他命令的表面命令。如上所述,由于现在所做的大部分更改都是针对下面列出的四个例程,因此让我们对它们进行一些详细说明。最相关的是:“解/积分器”;“Nsolve /集成商/点”;‘ Nsolve/integrator/C ’和‘ Nsolve/plotter ’。简而言之,这四个子例程从Nsolve获得输入,a)通过Nsolve传递的参数确定将使用哪些点(以及多少);b)其中两个子例程,也取决于这些参数,仍然在“内部”Maple或叶子Maple中进行积分,并使用包管理的外部接口执行数值积分,最后绘制结果。所有这些过程都由用户控制(通过Nsolve和必要的全局参数)。附加评论,包括限制和不寻常的功能:我们仍然限制在任何欧几里得空间工作。 我们使用Boxcounting算法来计算分形维数。注意,盒计数维度可以在度量空间中定义,但是允许简单计算的定义仅适用于欧几里德空间(请参阅[5]中的示例,了解更多最新方法)。这个包提供了用户友好的软件工具来分析一个动力系统的特征,无论它是否显示混沌行为。包内的选项允许用户指定将轨迹划分为曲线族的特征。结合改变用户视角的功能,这提供了一个图形界面,可以快速轻松地识别具有有趣动态的区域。这个包的一个不寻常的特点是它的接口使用五阶龙格-库塔方法(默认)在c++中执行数值积分。这可能会将数值积分的速度提高几个数量级,并且在需要在难以积分的区域中计算数千个图的情况下,这个特性是非常可取的。除了这个工具之外,更有经验的用户可以创建自己的c++集成器,并通过使用包中可用的命令,将其用作包中提供的c++集成器,只要新的集成器以与默认集成器相同的格式管理输入和输出。参考文献[10]张建军,张建军,张建军,张建军,张建军,张建军,张建军,张建军,张建军。非线性科学。号码。Simul. 140 (Part 1)(2025年1月)108321,https://doi.org/10.1016/j.cnsns.2024.108321.[2]L.G.S。杜尔特,L.A.C.P. da Mota, H.P. de Oliveira, R.O. Ramos, J.E.F. Skea,动力系统的数值分析和边界的分形维数,计算机学报。理论物理。common . 119(2 - 3)(1999年6月2日)256-271,https://doi.org/10.1016/S0010-4655(99)00204-0.[3]J。李志强,李志强,李志强,李志强,李志强,李志强,李志强,李志强,李志强,李志强。理论物理。common . 183(9)(2012年9月)2019-2020,https://doi.org/10.1016/j.cpc.2012.03.024.[4]https://www.maplesoft.com/support/help/Maple/view.aspx?path=ssystem.[5]M。Fernández-Martínez,文学硕士Sánchez-Granero,分形结构的分形维数,天津大学。苹果163(2014年2月15日)93-111,https://doi.org/10.1016/j.topol.2013.10.010。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper. Computer Programs in Physics (CPiP) These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged. Computational Physics Papers (CP) These are research papers in, but are not limited to, the following themes across computational physics and related disciplines. mathematical and numerical methods and algorithms; computational models including those associated with the design, control and analysis of experiments; and algebraic computation. Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.
期刊最新文献
Zandpack: A general tool for time-dependent transportsimulation of nanoelectronics A numerical approach to calculate cross sections for relativistic electrons and terrestrial gamma-ray flashes An effective implementation of the bidirectional buffer: Towards laminar and turbulent open-boundary flows AutoParaTrans: An integrated workflow for CUDA acceleration and automated parallel algorithm transformation in electrical and thermal transport cfdmfFTFoam: a front-tracking solver for multiphase flows on general unstructured grids in OpenFOAM
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1