当前位置: X-MOL 学术Comput. Phys. Commun. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
TurboPy: A lightweight python framework for computational physics
Computer Physics Communications ( IF 6.3 ) Pub Date : 2021-01-01 , DOI: 10.1016/j.cpc.2020.107607
A.S. Richardson , D.F. Gordon , S.B. Swanekamp , I.M. Rittersdorf , P.E. Adamson , O.S. Grannis , G.T. Morgan , A. Ostenfeld , K.L. Phlips , C.G. Sun , G. Tang , D.J. Watkins

Abstract Computational physics problems often have a common set of aspects to them that any particular numerical code will have to address. Because these aspects are common to many problems, having a framework already designed and ready to use will not only speed the development of new codes, but also enhance compatibility between codes. Some of the most common aspects of computational physics problems are: a grid, a clock which tracks the flow of the simulation, and a set of models describing the dynamics of various quantities on the grid. Having a framework that could deal with these basic aspects of the simulation in a common way could provide great value to computational scientists by solving various numerical and class design issues that routinely arise. This paper describes the newly developed computational framework that we have built for rapidly prototyping new physics codes. This framework, called turboPy, is a lightweight physics modeling framework based on the design of the particle-in-cell code turboWAVE. It implements a class (called Simulation ) which drives the simulation and manages communication between physics modules, a class (called PhysicsModule ) which handles the details of the dynamics of the various parts of the problem, and some additional classes such as a Grid class and a Diagnostic class to handle various ancillary issues that commonly arise. Program summary Program Title: TurboPy CPC Library link to program files: http://dx.doi.org/10.17632/rznn6s5myw.1 Developer’s repository link: https://github.com/NRL-Plasma-Physics-Division/turbopy Licensing provisions: CC0 1.0 Programming language: Python Nature of problem: Many computation physics problems have a common set of aspects to them that are often addressed in a custom way in every different code, which leads to lengthy and redundant development and testing, as well as introducing roadblocks to interoperability. Solution method: Implement a set of python classes as a lightweight framework that deals with these common problems, so that development time on new computational physics codes is reduced, and interoperability and reusability are increased. References: A.S. Richardson et al., TurboPy: A lightweight computational physics framework. NRL-Plasma-Physics-Division/turbopy (v2020.08.05). doi:10.5281/zenodo.3973693

中文翻译:

TurboPy:用于计算物理的轻量级 Python 框架

摘要 计算物理问题通常有一组共同的方面,任何特定的数字代码都必须解决这些方面。因为这些方面对于许多问题来说都是共同的,拥有一个已经设计好并可以使用的框架不仅会加快新代码的开发,而且会增强代码之间的兼容性。计算物理问题的一些最常见的方面是:网格、跟踪模拟流程的时钟,以及描述网格上各种量的动力学的一组模型。通过解决经常出现的各种数值和类设计问题,拥有一个能够以通用方式处理模拟的这些基本方面的框架可以为计算科学家提供巨大的价值。本文介绍了我们为快速构建新物理代码原型而构建的新开发的计算框架。这个框架称为 turboPy,是一个轻量级的物理建模框架,它基于细胞内粒子代码 turboWAVE 的设计。它实现了一个类(称为 Simulation ),它驱动模拟并管理物理模块之间的通信,一个类(称为 PhysicsModule )处理问题各个部分的动态细节,以及一些附加类,例如 Grid 类和诊断类,用于处理常见的各种辅助问题。程序摘要程序名称:TurboPy CPC 库程序文件链接:http://dx.doi.org/10.17632/rznn6s5myw.1 开发者存储库链接:https://github.com/NRL-Plasma-Physics-Division/turbopy Licensing规定:CC0 1. 0 编程语言:Python 问题性质:许多计算物理问题都有一组共同的方面,这些方面通常在每个不同的代码中以自定义方式解决,这会导致冗长和冗余的开发和测试,并为互操作性。解决方法:实现一组python类作为处理这些常见问题的轻量级框架,从而减少新计算物理代码的开发时间,增加互操作性和可重用性。参考资料:AS Richardson 等人,TurboPy:轻量级计算物理框架。NRL-Plasma-Physics-Division/turbopy (v2020.08.05)。doi:10.5281/zenodo.3973693 许多计算物理问题都有一组共同的方面,这些方面通常在每个不同的代码中以自定义方式解决,这导致冗长和冗余的开发和测试,并为互操作性引入障碍。解决方法:实现一组python类作为处理这些常见问题的轻量级框架,从而减少新计算物理代码的开发时间,增加互操作性和可重用性。参考资料:AS Richardson 等人,TurboPy:轻量级计算物理框架。NRL-Plasma-Physics-Division/turbopy (v2020.08.05)。doi:10.5281/zenodo.3973693 许多计算物理问题都有一组共同的方面,这些方面通常在每个不同的代码中以自定义方式解决,这导致冗长和冗余的开发和测试,并为互操作性引入障碍。解决方法:实现一组python类作为处理这些常见问题的轻量级框架,从而减少新计算物理代码的开发时间,增加互操作性和可重用性。参考资料:AS Richardson 等人,TurboPy:轻量级计算物理框架。NRL-Plasma-Physics-Division/turbopy (v2020.08.05)。doi:10.5281/zenodo.3973693 实现一组python类作为处理这些常见问题的轻量级框架,从而减少新计算物理代码的开发时间,提高互操作性和可重用性。参考资料:AS Richardson 等人,TurboPy:轻量级计算物理框架。NRL-Plasma-Physics-Division/turbopy (v2020.08.05)。doi:10.5281/zenodo.3973693 实现一组python类作为处理这些常见问题的轻量级框架,从而减少新计算物理代码的开发时间,提高互操作性和可重用性。参考资料:AS Richardson 等人,TurboPy:轻量级计算物理框架。NRL-Plasma-Physics-Division/turbopy (v2020.08.05)。doi:10.5281/zenodo.3973693
更新日期:2021-01-01
down
wechat
bug