puts("-S <file> \t save to file");
puts("-R <file> \t read from random file");
puts("-P <file> \t specify implantation profile file");
+ puts("-N <file> \t specify nuclear energy loss profile file");
printf("-H <value> \t collisions per ion in simulation window (default %d)\n",CPI);
return 1;
char l_file[MAX_CHARS];
char c_file[MAX_CHARS];
char p_file[MAX_CHARS];
+ char n_e_file[MAX_CHARS];
char convert;
char r_file[MAX_CHARS];
#ifdef USE_DFB_API
strcpy(l_file,"");
strcpy(c_file,"");
strcpy(p_file,IMP_PROFILE);
+ strcpy(n_e_file,NEL_PROFILE);
convert=0;
strcpy(r_file,"");
mode=0;
case 'P':
strcpy(p_file,argv[++i]);
break;
+ case 'N':
+ strcpy(n_e_file,argv[++i]);
+ break;
case 'g':
strcpy(l_file,argv[++i]);
if(i<argc-1) if(argv[i+1][0]!='-') c_step=atoi(argv[++i]);
return -1;
}
ip_max=get_reject_graph(&my_info,&d3_l,p_file,c_profile);
+ ne_max=get_reject_graph(&my_info,&d3_l,n_e_file,n_e_loss);
#ifdef DEBUG_RAND
while(1)
{
+#ifdef DEBUG_CP
printf("%d\n",get_rand_reject(d3_l.max_z,ip_max,c_profile));
+#endif
+#ifdef DEBUG_NEL
+ printf("%d\n",get_rand_reject(d3_l.max_z,ne_max,n_e_loss));
+#endif
}
#endif
{
x_c=get_rand(d3_l.max_x);
y_c=get_rand(d3_l.max_y);
- z_c=get_rand_lgp(d3_l.max_z,my_info.a_el,my_info.b_el);
- // printf("%d\n",z_c);
+ // z_c=get_rand_lgp(d3_l.max_z,my_info.a_el,my_info.b_el);
+ z_c=get_rand_reject(d3_l.max_z,ne_max,n_e_loss);
process_cell(&d3_l,x_c,y_c,z_c,&my_info);
}
distrib_c(&d3_l,&my_info,i,c_ratio,ip_max,c_profile);