【DDSCAT——离散偶极近似仿真程序02】初步运行案例程序
这部分我们直接讲怎么运行一个DDSCAT程序,来计算模型的消光系数(散射和吸收),并计算其近场且通过其他软件呈现近场图。
一.、软件下载
直接从官网下载:http://ddscat.wikidot.com/downloads
选择Downloads标签页,并如图选择下载不需要自行编译的Windows版本(目前阶段博主先给大家讲如何在windows上使用,后期会介绍一些在linux系统上的使用)。
所以我们下载的其实是7.3.0版本,并不是最新的7.3.2版本,不过影响不大。
解压后的文件内容如下。
下面我们需要做的是,其他先不管,直接进入examples_exp文件夹,对里面的示例项目进行测试运行。
我们选择RCTGLPRSM模型(一个立方体模型)进行测试,我们把新建一个文件夹DDA,并将RCTGLPRSM和diel文件夹(里面是一些不同物质的介电函数文件)考进去。
二、设置参数
如下图,先把bin_mingw32_gfortran_single_nomp_nompi(这里我们建议选择32位的运行程序,因为64位的会有一些问题,我们后面再说)文件夹中的两个程序考到RCTGLPRSM文件夹中,然后我们看RCTGLPRSM中的文件。
ddscat.exe是程序包为我们编译好的windows运行程序(从它所在的文件夹名称bin_mingw32_gfortran_single_nomp_nompi可以看出它的一些编译条件),配置好了参数之后,直接点击运行就行。
ddscat.par是RCTGLPRSM中另一个比较重要的文件,这是我们运行DDSCAT前需要的配置文件,需要进行一番配置。
ddscat.par
打开ddscat.par文件(使用记事本或Notepad、EditPlus等代码编辑软件打开),我们先只关注我框出来的这些参数配置,后面再解释其他的。
line10 设置模型几何形状和模型的组成介质。
line11 'RCTGLPRSM'表示这个模型是一个block立方块。
line12 16 32 32 表示这个立方模型的长宽高。
line13 1表示这个模型仅由一种介质材料组成。
line14 '../diel/Au_evap'指的是材料1的文件位置,即当前文件上一层目录的diel文件夹中的Au_evap文件(evaporated Au脱水的金材料)。
line8-9 初始化内存分配。100 100 100是内存单位Mbytes,但是同时对应着必须大于模型的三个维度上的尺寸,当前案例中,100 100 100分贝大于16 32 32,是正确的内存分配。
line15-17 设置是否进行近场计算,0表示不计算,1表示计算。我们先运行一个没有近场计算的程序。
line20-21 允许的最大迭代次数。如果模型非常大,即组成模型的偶极子数量非常多,这个值就需要设置得更大些。
line26-27 设置入射光波长。可以设置单个波长值,也可以设置多个。因为我们分析的是在某个波长入射光照射下介质的消光效应,所以得设置入射光的波长。我们计算默认单个的500nm波长下的消光效应。
line30-31 模型的有效半径。这个是已知模型的实际体积,更具公式 aeff=(3V/4pi)^{1/3} 可以计算出来的。假设模型体积为V=0.25um x 0.5um x 0.5um=0.0625 um^3,则有效半径aeff=(3V/4pi)^{1/3} = 0.246186um。关于模型的体积V、有效半径aeff、偶极子数量N、偶极子间距d的关系我们在后面再详细讲解。
这些参数都是需要根据自己的需求设置的,我们先来试一下这个示例中默认参数下的计算结果。
三、程序运行
直接双击ddscat.exe,就可以运行程序。但是我们不推荐这样操作,因为如果参数设置有问题,导致程序报错,运行的进程窗口会自动直接关闭闪退,这样我们连报错的内容都看不到。
正确的方式是,win+R输入cmd回车,打开命令行窗口,然后cd转到当前项目的路径,再输入ddscat或ddscat.exe运行程序。这样的话,出现报错窗口就不会闪退了。
开始运行后,窗口中会出现以下内容。
运行结束并且没有错误如下图。
四、输出文件
运行结束后,我们可以在当前项目文件夹RCTGLPRSM中看到,产生了很多新的文件。而我们比较关心的是qtable文件,这个文件里面记录了计算后得出的消光系数。
如下是qtable文件的内容。
aeff表示有效半径,wave是入射波长。接下来我们主要关心三个参数,Q_ext、Q_abs和Q_sca。他们分别代表消光值、吸收值、散射值,且Q_ext=Q_abs+Q_sca。
以上这些就是对DDSCAT中的示例模型进行初步的尝试运行,后面我们加上近场的计算。