上一章节中讲了Flash的发展和程序安装,并且我们以Sedov激波为例运行了Flash程序。在这一章节中我们将讲解Flash中一个模拟case的组成部分。
模拟案例-以LaserSlab为例
Flash中提供了丰富的模拟案例。俗话说例子是最好的老师。学习写一个新case肯定需要从读懂已经有的case开始。Flash中所有的case存放在Flash文件夹中的source/Simulation/SimulationMain中,感兴趣的同学解压后可以到该路径下查看。大部分文件夹中都是一个完整的case。由于国内利用Flash做研究的学者大部分都是激光等离子体领域的人,所以在这里我们通过Flash中的LaserSlab这个case来进行讲解。在这个case中基本涉及到了我们上一节所提到的大部分的模块。相信大家可以通过理解这个case一通百通,从而可以写出自己所想要的case。
文件组成
进入LaserSlab文件夹后,看到一大堆文件,心头不由一紧。这也是我第一次看到时的想法。不要担心,我们可以化繁就简,这里面很多文件都是不同情况下的输入文件,就是你所看到的后缀名为.par的文件。组成一个case的基本文件大部分情况下只有6个,分别为Config, Simulation_init.F90, Simulation_data.F90, Simulation_initBlock.F90, Makefile以及flash.par。接下来我们将详细讲解每一个文件中的内容以及其作用。
Config文件
Config文件的主要作用在于确定要用的模块以及定义模拟中会用到的主要参数。如下图所示为LaserSlab案例下Config文件中的内容。以关键字REQUIRE开头的是模拟中需要用到的模块。USERSETUPVARS是指在setup这步时输入的可选参数,如果利用到三温模块(具体什么是三温后续会进行讲解),那么会调用其他的一些热传导以及扩散的模块。DA