This paper describes a component-based non-linear physical system simulation prototyping package written entirely in Java using object-oriented design to provide scientists and engineers a "developer-friendly" software environment for large-scale computational method and physical model development. The software design centers on the Jacobian-Free Newton-Krylov solution method surrounding a finite-volume treatment of conservation equations. This enables a clean component-based implementation. We first provide motivation for the development of the software and then describe software structure. Discussion of software structure includes a description of the use of Java's built-in thread facility that enables data-parallel, shared-memory computations on a wide variety of unstructured grids with triangular, quadrilateral, tetrahedral and hexahedral elements. We also discuss the use of Java's inheritance mechanism in the construction of a hierarchy of physics-systems objects and linear and non-linearsolver objects that simplify development and foster software re-use. As a compliment to the discussion of these object hierarchies, we provide a brief review of the Jacobian-Free Newton-Krylov nonlinear system solution method and discuss how it fits into our design. Following this, we show results from preliminary calculations and then discuss future plans including the extension of the software to distributed memory computer systems.
本文介绍了一个完全使用Java编写的基于组件的非线性物理系统仿真原型设计包,它使用面向对象的设计为科学家和工程师提供了一个“开发人员友好的”软件环境,用于大规模计算方法和物理模型开发。软件设计的重点是围绕守恒方程的有限体积处理的Jacobian-Free Newton-Krylov解法。这实现了基于组件的干净实现。我们首先为软件开发提供动力,然后描述软件结构。软件结构的讨论包括对Java内置线程功能的使用的描述,该功能可在具有三角形,四边形,四面体和六面体元素的各种非结构化网格上实现数据并行,共享内存计算。我们还将讨论在构造物理系统对象以及线性和非线性求解器对象的层次结构时使用Java的继承机制,这些对象可以简化开发并促进软件的重用。作为对这些对象层次结构的讨论的补充,我们简要回顾了Jacobian-Free Newton-Krylov非线性系统求解方法,并讨论了其如何适合我们的设计。在此之后,我们将显示初步计算的结果,然后讨论将来的计划,包括将该软件扩展到分布式内存计算机系统。 P>
机译:CartaBlanca-一种纯Java,基于组件的系统仿真工具,用于在非结构化网格上耦合非线性物理-更新
机译:二维流域施肥中非结构网格地表水流与溶质运移的迭代与非迭代耦合数值模拟
机译:非结构网格上的液位和流体体积耦合方法,用于包括相变在内的两相流的直接数值模拟
机译:CARTABLANCA ---一种纯粹的Java,基于组件的系统仿真工具,用于非结构化网格上的非线性物理
机译:用于耦合非线性多物理场仿真的高分辨率数值方法及其在反应堆分析中的应用。
机译:用混合非结构化网格进行心电神经学模拟的宏观有限元制剂
机译:非结构网格CFD工具TetrUss的推进模拟