Users' Manual
Introduction
ISSDE is a parallel program that is compiled and run on the Linux platform.
Install
Install Requirement
- gcc-7.5.0
- openmpi-4.1.1
- gsl lib
- Eigen lib
gcc-7.5.0 Install
sudo apt install gcc-7.5.0
openmpi-4.1.1 Install
- Download openmpiInstall package
- Decompress, compile, install
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 configuration
vim ~/.bashrc
- Add contents to the end of .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
- Update the configuration
source ~/.bashrc
gsl lib install and configuration
- Download gsl libInstall package
- Decompress, compile, install
tar -zxvf gsl-lastest.tar.gz cd gsl-2.7.1 sudo ./configure --prefix=/opt/gsl-2.7.1 sudo make sudo make install
Eigen lib install and configuration
- Download Eigen libInstall Package
- Cecompress and mv to lib
tar -zxvf eigen-3.4.0.tar.gz cp -r Eigen path_of_lib
ISSDE compile, run, function and parameter setting
ISSDE Obtain
Contact Us
Email:yifeng.zheng@ipp.ac.cn
Program compile
cd src make
Program run
cd bin mpirun -np 4 ./a.out
Code structure
- bin Binary run files
- src Source code files
- include Head files and input files
- lib lib files
- configure configure files
Source code strctures
- Main function stochastic_process_uniform_field_mpi.cpp
- Input interview function read_data.cpp
- Newton Method function newton_raphason_general.cpp
- Runge-Kutta Method runge_kutta_general.cpp
- Extern function ext_fun.cpp
Parameter Setting
- Major paramters
int store_size=10; //store size int DATA_NUBEAM=2; //0 single particle, 1 multi-particles, 2 source from NUBEAM int CO_CTR_TANG_PERP=2; //Numbers of beam int A0BEAM=0; //0 for beam 1,1 for beam 2 int CLOCKWISE=1; //Direction of longitudinal magnetic field, 1 for counterclockwise ,-1 for clockwise int CHECKPOINT=0; //checkpoint, 1 use checkpoint data, 0 use initial data int RIP=0; //Ripple setting, 0 no ripple, 1 analysis solution of ripple, 2 EAST Engineering ripple data, 3 Fish-tail ripple(DEVICE=4), 4 BEST Engineering ripple for 3.6m case(DEVICE=5), 5 CFETR Engineering data for 7.2m case (DEVICE=4) int NORMALIZATION=1; //Normalization int SPLITTING=1; //Splitting method int DEVICE=7; //Devices, 0 for EAST discharge #93910, 1 for BEST 3.3m case with Q=1, 2 for BEST 3.3m case with Q=5, 3 for BEST 3.3m with Q=1, 4 for CFETR steady-state case with alpha particles, 5 for BEST 3.6m with alpha particle and Q=, 6 for BEST 3.6m with Q=5, 7 for EAST discharge #101735 int ICRF=1; //When DEVICE=7, ICRF-NBI fast ion with different minority concentration, 0 for only NBI, 1 for 1% H, 2 for 5% H and 3 for 10% H int COLLISION=0; //0 no collision, 1 collision with electron, 2 collision with D, 3 collision with T, 4 collision with electron and D, 5 collision with electron and T, 6 collision with D and t 7 collision with electron, D and T. int BC=1; //0 for LCFS boundary, 1 for first wall int MHD=1; //0 no MHD, 1 with MHD perturbation field int MHD_OVERLAP=0; //0 no MHD overleaping,1 for overlaping of MHD (2,1) and (3,2)
- Major output files
v_para_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Parallel velocity distribution of particles v_perp_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Perpendecular velocity distribution of particles v_x_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Velocity distribution in x direction v_y_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Velocity distribution in y direction v_z_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Velocity distribution in z direction x_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Position distribution in x direction y_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Position distribution in y direction z_dis_NBI_1_ICRF_EAST_mhd_one_particle_D_Limiter_g_nor_mi_e_i_t_f_mpi.txt; //Position distribution in z direction
Results
- The agreement between the results of ISSDE code and the analytical solution of FP equation
- The agreement between the results of ISSDE code and the physical process
- Comparison of long-term stability between splitting method and stochastic Runge-Kutta method
- Fast ion trajectory compared with the results of PTC
- Fast ion loss in EAST
Last modified
5 weeks ago
Last modified on Sep 10, 2024, 2:28:41 AM
Note:
See TracWiki
for help on using the wiki.