00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 void save_BB(int num)
00035 {
00036
00037 int i;
00038 FILE *fp;
00039 char s[200];
00040
00041 printf("Saving the BB format files... num = %d\n",num);
00042
00043 sprintf(s,"potential/BB_mesh_format/potential%d.bb",num);
00044 if(num<100) sprintf(s,"potential/BB_mesh_format/potential0%d.bb",num);
00045 if(num<10) sprintf(s,"potential/BB_mesh_format/potential00%d.bb",num);
00046
00047 fp=fopen(s,"w");
00048 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00049 for(i=0;i<Ng;i++){
00050
00051 fprintf(fp,"%g\n",V[i]);
00052
00053 }
00054 fclose(fp);
00055
00056 sprintf(s,"E/Ex_BB_mesh_format/Ex%d.bb",num);
00057 if(num<100) sprintf(s,"E/Ex_BB_mesh_format/Ex0%d.bb",num);
00058 if(num<10) sprintf(s,"E/Ex_BB_mesh_format/Ex00%d.bb",num);
00059
00060 fp=fopen(s,"w");
00061 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00062 for(i=0;i<Ng;i++){
00063 fprintf(fp,"%g\n",Ex[i]);
00064 }
00065 fclose(fp);
00066
00067 sprintf(s,"E/Ey_BB_mesh_format/Ey%d.bb",num);
00068 if(num<100) sprintf(s,"E/Ey_BB_mesh_format/Ey0%d.bb",num);
00069 if(num<10) sprintf(s,"E/Ey_BB_mesh_format/Ey00%d.bb",num);
00070
00071 fp=fopen(s,"w");
00072 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00073 for(i=0;i<Ng;i++){
00074 fprintf(fp,"%g\n",Ey[i]);
00075 }
00076 fclose(fp);
00077
00078 sprintf(s,"E/Ez_BB_mesh_format/Ez%d.bb",num);
00079 if(num<100) sprintf(s,"E/Ez_BB_mesh_format/Ez0%d.bb",num);
00080 if(num<10) sprintf(s,"E/Ez_BB_mesh_format/Ez00%d.bb",num);
00081
00082 fp=fopen(s,"w");
00083 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00084 for(i=0;i<Ng;i++){
00085 fprintf(fp,"%g\n",Ez[i]);
00086 }
00087 fclose(fp);
00088
00089 sprintf(s,"e_density/BB_mesh_format/e_density%d.bb",num);
00090 if(num<100) sprintf(s,"e_density/BB_mesh_format/e_density0%d.bb",num);
00091 if(num<10) sprintf(s,"e_density/BB_mesh_format/e_density00%d.bb",num);
00092
00093 fp=fopen(s,"w");
00094 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00095 for(i=0;i<Ng;i++){
00096 fprintf(fp,"%g\n",NE[i]);
00097 }
00098 fclose(fp);
00099
00100 if((it==number_of_steps-1) || (it==number_of_steps)){
00101 sprintf(s,"e_velocity/xvel_BB_mesh_format/xvel%d.bb",num);
00102 if(num<100) sprintf(s,"e_velocity/xvel_BB_mesh_format/xvel0%d.bb",num);
00103 if(num<10) sprintf(s,"e_velocity/xvel_BB_mesh_format/xvel00%d.bb",num);
00104
00105 fp=fopen(s,"w");
00106 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00107 for(i=0;i<Ng;i++){
00108 fprintf(fp,"%g\n",XVEL[i]/((double)MEAN));
00109 }
00110 fclose(fp);
00111
00112 sprintf(s,"e_velocity/yvel_BB_mesh_format/yvel%d.bb",num);
00113 if(num<100) sprintf(s,"e_velocity/yvel_BB_mesh_format/yvel0%d.bb",num);
00114 if(num<10) sprintf(s,"e_velocity/yvel_BB_mesh_format/yvel00%d.bb",num);
00115
00116 fp=fopen(s,"w");
00117 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00118 for(i=0;i<Ng;i++){
00119 fprintf(fp,"%g\n",YVEL[i]/((double)MEAN));
00120 }
00121 fclose(fp);
00122
00123 sprintf(s,"e_velocity/zvel_BB_mesh_format/zvel%d.bb",num);
00124 if(num<100) sprintf(s,"e_velocity/zvel_BB_mesh_format/zvel0%d.bb",num);
00125 if(num<10) sprintf(s,"e_velocity/zvel_BB_mesh_format/zvel00%d.bb",num);
00126
00127 fp=fopen(s,"w");
00128 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00129 for(i=0;i<Ng;i++){
00130 fprintf(fp,"%g\n",ZVEL[i]/((double)MEAN));
00131 }
00132 fclose(fp);
00133
00134 sprintf(s,"e_current/e_current_x_BB_mesh_format/xcurr%d.bb",num);
00135 if(num<100) sprintf(s,"e_current/e_current_x_BB_mesh_format/xcurr0%d.bb",num);
00136 if(num<10) sprintf(s,"e_current/e_current_x_BB_mesh_format/xcurr00%d.bb",num);
00137
00138 fp=fopen(s,"w");
00139 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00140 for(i=0;i<Ng;i++){
00141 fprintf(fp,"%g\n",-Q*NE[i]*XVEL[i]/((double)MEAN));
00142 }
00143 fclose(fp);
00144
00145 sprintf(s,"e_current/e_current_y_BB_mesh_format/ycurr%d.bb",num);
00146 if(num<100) sprintf(s,"e_current/e_current_y_BB_mesh_format/ycurr0%d.bb",num);
00147 if(num<10) sprintf(s,"e_current/e_current_y_BB_mesh_format/ycurr00%d.bb",num);
00148
00149 fp=fopen(s,"w");
00150 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00151 for(i=0;i<Ng;i++){
00152 fprintf(fp,"%g\n",-Q*NE[i]*YVEL[i]/((double)MEAN));
00153 }
00154 fclose(fp);
00155
00156 sprintf(s,"e_current/e_current_z_BB_mesh_format/zcurr%d.bb",num);
00157 if(num<100) sprintf(s,"e_current/e_current_z_BB_mesh_format/zcurr0%d.bb",num);
00158 if(num<10) sprintf(s,"e_current/e_current_z_BB_mesh_format/zcurr00%d.bb",num);
00159
00160 fp=fopen(s,"w");
00161 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00162 for(i=0;i<Ng;i++){
00163 fprintf(fp,"%g\n",-Q*NE[i]*ZVEL[i]/((double)MEAN));
00164 }
00165 fclose(fp);
00166
00167
00168 sprintf(s,"e_energy/BB_mesh_format/e_energy%d.bb",num);
00169 if(num<100) sprintf(s,"e_energy/BB_mesh_format/e_energy0%d.bb",num);
00170 if(num<10) sprintf(s,"e_energy/BB_mesh_format/e_energy00%d.bb",num);
00171
00172 fp=fopen(s,"w");
00173 fprintf(fp,"%d %d %d %d\n",dim,1,Ne,2);
00174 for(i=0;i<Ng;i++){
00175 fprintf(fp,"%g\n",ENEL[i]/((double)MEAN));
00176 }
00177 fclose(fp);
00178 }
00179
00180
00181
00182
00183 sprintf(s,"potential/BB_mesh_format/potential%d.mesh",num);
00184 if(num<100) sprintf(s,"potential/BB_mesh_format/potential0%d.mesh",num);
00185 if(num<10) sprintf(s,"potential/BB_mesh_format/potential00%d.mesh",num);
00186 fp=fopen(s,"w");
00187 fprintf(fp,"MeshVersionFormatted 1\n");
00188 fprintf(fp,"Dimension\n");
00189 fprintf(fp,"3\n");
00190 fprintf(fp,"Vertices\n");
00191 fprintf(fp,"%d\n",Ng);
00192 for(i=0;i<Ng;i++)
00193 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00194 coord[2][i]*1.e6,i_front[i]);
00195 fprintf(fp,"Tetrahedra\n");
00196 fprintf(fp,"%d\n",Ne);
00197 for(i=0;i<Ne;i++)
00198 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00199 noeud_geo[2][i],noeud_geo[3][i],
00200 i_dom[i]);
00201 fclose(fp);
00202
00203 sprintf(s,"E/Ex_BB_mesh_format/Ex%d.mesh",num);
00204 if(num<100) sprintf(s,"E/Ex_BB_mesh_format/Ex0%d.mesh",num);
00205 if(num<10) sprintf(s,"E/Ex_BB_mesh_format/Ex00%d.mesh",num);
00206 fp=fopen(s,"w");
00207 fprintf(fp,"MeshVersionFormatted 1\n");
00208 fprintf(fp,"Dimension\n");
00209 fprintf(fp,"3\n");
00210 fprintf(fp,"Vertices\n");
00211 fprintf(fp,"%d\n",Ng);
00212 for(i=0;i<Ng;i++)
00213 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00214 coord[2][i]*1.e6,i_front[i]);
00215 fprintf(fp,"Tetrahedra\n");
00216 fprintf(fp,"%d\n",Ne);
00217 for(i=0;i<Ne;i++)
00218 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00219 noeud_geo[2][i],noeud_geo[3][i],
00220 i_dom[i]);
00221 fclose(fp);
00222
00223 sprintf(s,"E/Ey_BB_mesh_format/Ey%d.mesh",num);
00224 if(num<100) sprintf(s,"E/Ey_BB_mesh_format/Ey0%d.mesh",num);
00225 if(num<10) sprintf(s,"E/Ey_BB_mesh_format/Ey00%d.mesh",num);
00226 fp=fopen(s,"w");
00227 fprintf(fp,"MeshVersionFormatted 1\n");
00228 fprintf(fp,"Dimension\n");
00229 fprintf(fp,"3\n");
00230 fprintf(fp,"Vertices\n");
00231 fprintf(fp,"%d\n",Ng);
00232 for(i=0;i<Ng;i++)
00233 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00234 coord[2][i]*1.e6,i_front[i]);
00235 fprintf(fp,"Tetrahedra\n");
00236 fprintf(fp,"%d\n",Ne);
00237 for(i=0;i<Ne;i++)
00238 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00239 noeud_geo[2][i],noeud_geo[3][i],
00240 i_dom[i]);
00241 fclose(fp);
00242
00243 sprintf(s,"E/Ez_BB_mesh_format/Ez%d.mesh",num);
00244 if(num<100) sprintf(s,"E/Ez_BB_mesh_format/Ez0%d.mesh",num);
00245 if(num<10) sprintf(s,"E/Ez_BB_mesh_format/Ez00%d.mesh",num);
00246 fp=fopen(s,"w");
00247 fprintf(fp,"MeshVersionFormatted 1\n");
00248 fprintf(fp,"Dimension\n");
00249 fprintf(fp,"3\n");
00250 fprintf(fp,"Vertices\n");
00251 fprintf(fp,"%d\n",Ng);
00252 for(i=0;i<Ng;i++)
00253 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00254 coord[2][i]*1.e6,i_front[i]);
00255 fprintf(fp,"Tetrahedra\n");
00256 fprintf(fp,"%d\n",Ne);
00257 for(i=0;i<Ne;i++)
00258 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00259 noeud_geo[2][i],noeud_geo[3][i],
00260 i_dom[i]);
00261 fclose(fp);
00262
00263 sprintf(s,"e_density/BB_mesh_format/e_density%d.mesh",num);
00264 if(num<100) sprintf(s,"e_density/BB_mesh_format/e_density0%d.mesh",num);
00265 if(num<10) sprintf(s,"e_density/BB_mesh_format/e_density00%d.mesh",num);
00266 fp=fopen(s,"w");
00267 fprintf(fp,"MeshVersionFormatted 1\n");
00268 fprintf(fp,"Dimension\n");
00269 fprintf(fp,"3\n");
00270 fprintf(fp,"Vertices\n");
00271 fprintf(fp,"%d\n",Ng);
00272 for(i=0;i<Ng;i++)
00273 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00274 coord[2][i]*1.e6,i_front[i]);
00275 fprintf(fp,"Tetrahedra\n");
00276 fprintf(fp,"%d\n",Ne);
00277 for(i=0;i<Ne;i++)
00278 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00279 noeud_geo[2][i],noeud_geo[3][i],
00280 i_dom[i]);
00281 fclose(fp);
00282 if((it==number_of_steps-1) || (it==number_of_steps)){
00283
00284 sprintf(s,"e_velocity/xvel_BB_mesh_format/xvel%d.mesh",num);
00285 if(num<100) sprintf(s,"e_velocity/xvel_BB_mesh_format/xvel0%d.mesh",num);
00286 if(num<10) sprintf(s,"e_velocity/xvel_BB_mesh_format/xvel00%d.mesh",num);
00287 fp=fopen(s,"w");
00288 fprintf(fp,"MeshVersionFormatted 1\n");
00289 fprintf(fp,"Dimension\n");
00290 fprintf(fp,"3\n");
00291 fprintf(fp,"Vertices\n");
00292 fprintf(fp,"%d\n",Ng);
00293 for(i=0;i<Ng;i++)
00294 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00295 coord[2][i]*1.e6,i_front[i]);
00296 fprintf(fp,"Tetrahedra\n");
00297 fprintf(fp,"%d\n",Ne);
00298 for(i=0;i<Ne;i++)
00299 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00300 noeud_geo[2][i],noeud_geo[3][i],
00301 i_dom[i]);
00302 fclose(fp);
00303
00304 sprintf(s,"e_velocity/yvel_BB_mesh_format/yvel%d.mesh",num);
00305 if(num<100) sprintf(s,"e_velocity/yvel_BB_mesh_format/yvel0%d.mesh",num);
00306 if(num<10) sprintf(s,"e_velocity/yvel_BB_mesh_format/yvel00%d.mesh",num);
00307 fp=fopen(s,"w");
00308 fprintf(fp,"MeshVersionFormatted 1\n");
00309 fprintf(fp,"Dimension\n");
00310 fprintf(fp,"3\n");
00311 fprintf(fp,"Vertices\n");
00312 fprintf(fp,"%d\n",Ng);
00313 for(i=0;i<Ng;i++)
00314 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00315 coord[2][i]*1.e6,i_front[i]);
00316 fprintf(fp,"Tetrahedra\n");
00317 fprintf(fp,"%d\n",Ne);
00318 for(i=0;i<Ne;i++)
00319 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00320 noeud_geo[2][i],noeud_geo[3][i],
00321 i_dom[i]);
00322 fclose(fp);
00323
00324 sprintf(s,"e_velocity/zvel_BB_mesh_format/zvel%d.mesh",num);
00325 if(num<100) sprintf(s,"e_velocity/zvel_BB_mesh_format/zvel0%d.mesh",num);
00326 if(num<10) sprintf(s,"e_velocity/zvel_BB_mesh_format/zvel00%d.mesh",num);
00327 fp=fopen(s,"w");
00328 fprintf(fp,"MeshVersionFormatted 1\n");
00329 fprintf(fp,"Dimension\n");
00330 fprintf(fp,"3\n");
00331 fprintf(fp,"Vertices\n");
00332 fprintf(fp,"%d\n",Ng);
00333 for(i=0;i<Ng;i++)
00334 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00335 coord[2][i]*1.e6,i_front[i]);
00336 fprintf(fp,"Tetrahedra\n");
00337 fprintf(fp,"%d\n",Ne);
00338 for(i=0;i<Ne;i++)
00339 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00340 noeud_geo[2][i],noeud_geo[3][i],
00341 i_dom[i]);
00342 fclose(fp);
00343
00344
00345 sprintf(s,"e_current/e_current_x_BB_mesh_format/xcurr%d.mesh",num);
00346 if(num<100) sprintf(s,"e_current/e_current_x_BB_mesh_format/xcurr0%d.mesh",num);
00347 if(num<10) sprintf(s,"e_current/e_current_x_BB_mesh_format/xcurr00%d.mesh",num);
00348 fp=fopen(s,"w");
00349 fprintf(fp,"MeshVersionFormatted 1\n");
00350 fprintf(fp,"Dimension\n");
00351 fprintf(fp,"3\n");
00352 fprintf(fp,"Vertices\n");
00353 fprintf(fp,"%d\n",Ng);
00354 for(i=0;i<Ng;i++)
00355 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00356 coord[2][i]*1.e6,i_front[i]);
00357 fprintf(fp,"Tetrahedra\n");
00358 fprintf(fp,"%d\n",Ne);
00359 for(i=0;i<Ne;i++)
00360 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00361 noeud_geo[2][i],noeud_geo[3][i],
00362 i_dom[i]);
00363 fclose(fp);
00364
00365 sprintf(s,"e_current/e_current_y_BB_mesh_format/ycurr%d.mesh",num);
00366 if(num<100) sprintf(s,"e_current/e_current_y_BB_mesh_format/ycurr0%d.mesh",num);
00367 if(num<10) sprintf(s,"e_current/e_current_y_BB_mesh_format/ycurr00%d.mesh",num);
00368 fp=fopen(s,"w");
00369 fprintf(fp,"MeshVersionFormatted 1\n");
00370 fprintf(fp,"Dimension\n");
00371 fprintf(fp,"3\n");
00372 fprintf(fp,"Vertices\n");
00373 fprintf(fp,"%d\n",Ng);
00374 for(i=0;i<Ng;i++)
00375 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00376 coord[2][i]*1.e6,i_front[i]);
00377 fprintf(fp,"Tetrahedra\n");
00378 fprintf(fp,"%d\n",Ne);
00379 for(i=0;i<Ne;i++)
00380 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00381 noeud_geo[2][i],noeud_geo[3][i],
00382 i_dom[i]);
00383 fclose(fp);
00384
00385 sprintf(s,"e_current/e_current_z_BB_mesh_format/zcurr%d.mesh",num);
00386 if(num<100) sprintf(s,"e_current/e_current_z_BB_mesh_format/zcurr0%d.mesh",num);
00387 if(num<10) sprintf(s,"e_current/e_current_z_BB_mesh_format/zcurr00%d.mesh",num);
00388 fp=fopen(s,"w");
00389 fprintf(fp,"MeshVersionFormatted 1\n");
00390 fprintf(fp,"Dimension\n");
00391 fprintf(fp,"3\n");
00392 fprintf(fp,"Vertices\n");
00393 fprintf(fp,"%d\n",Ng);
00394 for(i=0;i<Ng;i++)
00395 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00396 coord[2][i]*1.e6,i_front[i]);
00397 fprintf(fp,"Tetrahedra\n");
00398 fprintf(fp,"%d\n",Ne);
00399 for(i=0;i<Ne;i++)
00400 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00401 noeud_geo[2][i],noeud_geo[3][i],
00402 i_dom[i]);
00403 fclose(fp);
00404
00405
00406 sprintf(s,"e_energy/BB_mesh_format/e_energy%d.mesh",num);
00407 if(num<100) sprintf(s,"e_energy/BB_mesh_format/e_energy0%d.mesh",num);
00408 if(num<10) sprintf(s,"e_energy/BB_mesh_format/e_energy00%d.mesh",num);
00409 fp=fopen(s,"w");
00410 fprintf(fp,"MeshVersionFormatted 1\n");
00411 fprintf(fp,"Dimension\n");
00412 fprintf(fp,"3\n");
00413 fprintf(fp,"Vertices\n");
00414 fprintf(fp,"%d\n",Ng);
00415 for(i=0;i<Ng;i++)
00416 fprintf(fp,"%g %g %g %d\n",coord[0][i]*1.e6,coord[1][i]*1.e6,
00417 coord[2][i]*1.e6,i_front[i]);
00418 fprintf(fp,"Tetrahedra\n");
00419 fprintf(fp,"%d\n",Ne);
00420 for(i=0;i<Ne;i++)
00421 fprintf(fp,"%d %d %d %d %d\n",noeud_geo[0][i],noeud_geo[1][i],
00422 noeud_geo[2][i],noeud_geo[3][i],
00423 i_dom[i]);
00424 fclose(fp);
00425 }
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472 }
00473