首页 | 本学科首页   官方微博 | 高级检索  
     


Kranc: a Mathematica package to generate numerical codes for tensorial evolution equations
Authors:Sascha Husa  Ian Hinder
Affiliation:a Max-Planck-Institut für Gravitationsphysik, Albert-Einstein-Institut, Am Mühlenberg 1, D-14476, Potsdam, Germany
b School of Mathematics, University of Southampton, Southampton, SO17 1BJ, United Kingdom
Abstract:We present a suite of Mathematica-based computer-algebra packages, termed “Kranc”, which comprise a toolbox to convert certain (tensorial) systems of partial differential evolution equations to parallelized C or Fortran code for solving initial boundary value problems. Kranc can be used as a “rapid prototyping” system for physicists or mathematicians handling very complicated systems of partial differential equations, but through integration into the Cactus computational toolkit we can also produce efficient parallelized production codes. Our work is motivated by the field of numerical relativity, where Kranc is used as a research tool by the authors. In this paper we describe the design and implementation of both the Mathematica packages and the resulting code, we discuss some example applications, and provide results on the performance of an example numerical code for the Einstein equations.

Program summary

Title of program: KrancCatalogue identifier: ADXS_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/ADXS_v1_0Program obtainable from: CPC Program Library, Queen's University of Belfast, N. IrelandDistribution format: tar.gzComputer for which the program is designed and others on which it has been tested: General computers which run Mathematica (for code generation) and Cactus (for numerical simulations), tested under LinuxProgramming language used: Mathematica, C, Fortran 90Memory required to execute with typical data: This depends on the number of variables and gridsize, the included ADM example requires 4308 KBHas the code been vectorized or parallelized: The code is parallelized based on the Cactus framework.Number of bytes in distributed program, including test data, etc.: 1 578 142Number of lines in distributed program, including test data, etc.: 11 711Nature of physical problem: Solution of partial differential equations in three space dimensions, which are formulated as an initial value problem. In particular, the program is geared towards handling very complex tensorial equations as they appear, e.g., in numerical relativity. The worked out examples comprise the Klein-Gordon equations, the Maxwell equations, and the ADM formulation of the Einstein equations.Method of solution: The method of numerical solution is finite differencing and method of lines time integration, the numerical code is generated through a high level Mathematica interface.Restrictions on the complexity of the program: Typical numerical relativity applications will contain up to several dozen evolution variables and thousands of source terms, Cactus applications have shown scaling up to several thousand processors and grid sizes exceeding 5003.Typical running time: This depends on the number of variables and the grid size: the included ADM example takes approximately 100 seconds on a 1600 MHz Intel Pentium M processor.Unusual features of the program: based on Mathematica and Cactus
Keywords:04.25.Dm   2.70.Bf   2.60.Cb
本文献已被 ScienceDirect 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号