论文标题

涡轮复制:计算物理的轻质Python框架

TurboPy: A Lightweight Python Framework for Computational Physics

论文作者

Richardson, A. S., Gordon, D. F., Swanekamp, S. B., Rittersdorf, I. M., Adamson, P. E., Grannis, O. S., Morgan, G. T., Ostenfeld, A., Phlips, K. L., Sun, C. G., Tang, G., Watkins, D. J.

论文摘要

计算物理问题通常对他们有一系列共同的方面,即任何特定的数值代码都必须解决。由于这些方面对于许多问题来说都是常见的,因此拥有已经设计和使用的框架不仅会加快新代码的开发,而且还可以增强代码之间的兼容性。计算物理问题的一些最常见的方面是:网格,跟踪仿真流的时钟以及描述网格上各种数量的动态的一组模型。拥有一个可以以通用方式处理模拟的这些基本方面的框架,可以通过解决常规出现的各种数值和类设计问题来为计算科学家提供巨大的价值。本文介绍了我们为快速原型制定新物理代码而构建的新开发的计算框架。该框架称为Turbopy,是一个基于粒子中的Code Turbowave设计的轻质物理建模框架。它实现了一个类(称为仿真),该类别驱动仿真并管理物理模块之间的通信,一个类(称为PhysicsModule),该类(称为PhysicsModule)处理问题的各个部分的动态细节,以及一些其他类别的类别,例如网格类和诊断类,以处理通常出现的各种辅助问题。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源