GAPS

GAPS项目是一个致力于先进科学计算与模拟研究的软件开发项目。项目名称"GAPS"是 Geo-Algorithmic Plasma Simulator的首字母缩写,即等离子体几何算法模拟器。

GAPS项目发展纲要

GAPS启动目的与背景: 在进行等离子体研究工作时,我们(GAPSer)深深感到我们的等离体模拟研究已在多方面大大落后于现代数值模拟研究与软件工程,如算法、开发模式、组织模式、开发思路等都明显滞后,因而也造成了许多过程不求甚解、结果无法证伪、研究目的混乱、开发规模小、开发效率低下、协作困难、工具与方法陈旧等大量问题。GAPS的提出以及相关系列工作的开展意在解决这些问题,帮助在研究过程中遇到困难或者想不断提升数值模拟研究效率与能力的每个参与者实现目标,努力提高我们利用计算机解决物理与工程问题的能力,让参与者感受到计算机技术的进步所带来的便利与快乐。

GAPS的宗旨与精神(Spirit)

标准(Standardized) 开放(Open) 先进(Advanced)

  • “标准”是GAPS的核心精神,是指从数据结构、代码结构、接口、配置文件格式到运行效率、数值精度等各方面都有详细的规范标准与衡量标准。只有制定出严格、合理的标准,才能避免交流障碍和其他一系列问题的出现,让所有参与者自由并且最大限度地发挥贡献。好的标准是开放的前提。“标准”在程序框架中具体体现是 单元测试模块 和 代码同行评议机制。

  • “开放”是指在符合标准的前提下,让所有感兴趣的参与者都能自由地在GAPS的某个或多个具体层上进行开发,每个GAPSer都能推动GAPS的发展。开放的开发精神与传统项目开发模式相比,更能够充分发挥互联网技术的优势,也与科学研究自由探索、紧密协作的方式相吻合,是当今最高效的程序开发模式与合作模式。在开放的基础上可以便利地实现科学研究数值代码的快速迭代开发。

  • “先进”是指在GAPS的各层都尽量保持独特的先进性,比如GAPS提倡的几何算法先进性、所研究物理与技术问题的先进性、数据处理的先进性等,这些先进性能够保持GAPS的持续发展与持续领先。GAPS各方面先进性要依靠足够的开放性进行保证。个人的时间、精力都很有限,只有充分发挥GAPSer们的参与积极性与能动性才能确保GAPS项目的持续先进性。最重要的是,GAPS平台本身及GAPS项目的架构组织形式在现阶段技术环境下也是最先进的。