Version 5 (modified by 18 months ago) ( diff ) | ,
---|
用户手册
基本介绍
ISSDE是并行程序,在Linux平台编译运行。
程序安装
安装需求
- gcc-7.5.0
- openmpi-4.1.1
- gsl函数库
- Eigen函数库
gcc-7.5.0安装
sudo apt install gcc-7.5.0
openmpi-4.1.1安装
- 在openmpi官网下载安装包
- 解压,编译,安装
tar -zxvf openmpi-4.1.1 cd openmpi-4.1.1 ./configure --prefix=/opt/openmpi-4.1.1 --enable-mpi-cxx --enable-mpi-cxx-seek --enable-debug make make install
openmpi-4.1.1配置
vim ~/.bashrc
- 将以下内容添加到.bashrc结尾
export PATH=$PATH:/opt/openmpi-4.1.1/bin export C_PATH=$C_PATH:/opt/openmpi-4.1.1/include export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openmpi-4.1.1/lib export LIBRARY_PATH=/$LIBRARY_PATH:/opt/openmpi-4.1.1/lib export INCLUDE=$INCLUDE:/opt/openmpi-4.1.1/include
- 更新配置
source ~/.bashrc
gsl函数库安装配置
- 在gsl官网下载安装包
- 解压,编译,安装
tar -zxvf gsl-lastest.tar.gz make make install
Eigen函数库安装配置
- 在Eigen函数库官网下载安装包
- 解压,移动到lib目录下
tar -zxvf eigen-3.4.0.tar.gz
ISSDE程序获取
git clone https://github.com/tingkefengren/ES1d.git
程序编译
cd src make
程序运行
cd bin mpirun -np 4 ./a.out
参数设置
- 主要参数开关
int store_size=10; //数据储存步长 int DATA_NUBEAM=2; //0 单粒子, 1 多粒子束, 2 由NUBEAM生成的源分布 int CO_CTR_TANG_PERP=2; //束编号 int A0BEAM=0; //0 束1,1 束2 int CLOCKWISE=1; //纵向磁场方向 1 逆时针 ,-1 顺时针 int CHECKPOINT=0; //checkpoint开关 1 使用checkpoint处数据, 0 使用初始设定数据 int RIP=0; //波纹场设置 0 无波纹, 1 解析波纹场, 2 EAST工程波纹场, 3 鱼尾波纹场(DEVICE=4), 4 BEST 3.6m半径波纹场工程数据(DEVICE=5), 5 CFETR 7.2m半径波纹场工程数据 (DEVICE=4) int NORMALIZATION=1; //归一化开关 int SPLITTING=1; //分裂法开关 int DEVICE=7; //装置参数, 0 EAST放电#93910, 1 BEST 3.3m半径 Q=1情况, 2 BEST 3.3m半径 Q=5情况, 3 BEST 3.3m大半径NBI Q=1情况, 4 CFETR稳态alpha粒子分布, 5 BEST 3.6m alpha粒子 Q=1情况, 6 BEST 3.6m半径 Q=5情况, 7 EAST放电#101735 int ICRF=1; //当DEVICE=7, 不同少子浓度下ICRF加热NBI, 0 只有NBI, 1 1% H, 2 5% H and 3 10% H int COLLISION=0; //0 无碰撞, 1 和电子碰撞, 2 和D离子碰撞, 3与T离子的碰撞, 4 和电子以及D的碰撞, 5 和电子以及T的碰撞, 6 和离子D以及T的碰撞, 7 同时包含对电子以及所有类型离子的碰撞ions. int BC=1; //0 最外层闭合磁面边界, 1 第一壁边界 int MHD=1; //0 没有MHD, 1 含有MHD扰动场 int MHD_OVERLAP=0; //0 MHD没有重叠,1 MHD的(2,1)和(3,2)重叠
Note:
See TracWiki
for help on using the wiki.