Changeset 34b70c for pcp/src/perturbed.c
- Timestamp:
- Apr 22, 2008, 12:18:49 PM (17 years ago)
- Children:
- 87b8ed
- Parents:
- acd467
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/perturbed.c
racd467 r34b70c 3046 3046 struct Lattice *Lat = &P->Lat; 3047 3047 struct LatticeLevel *Lev0 = R->Lev0; 3048 struct FileData *F = &P->Files; 3048 3049 struct Ions *I = &P->Ion; 3049 3050 struct Density *Dens0 = Lev0->Dens; … … 3263 3264 sigma_real[in][i] = gsl_vector_get(eval,in); 3264 3265 } 3265 // Output of diagonalized magnetic field densities for each direction 3266 for (i=0;i<NDIM;i++) 3267 OutputVis(P, sigma_real[i]); 3266 3267 if (Lev0->LevelNo == 0) { 3268 if (!P->Par.me && P->Call.out[NormalOut]) fprintf(stderr,"(%i)Output of NICS map ...\n", P->Par.me); 3269 // Output of magnetic field densities for each direction 3270 //for (i=0;i<NDIM*NDIM;i++) 3271 // OutputVis(P, sigma_real[i]); 3272 // Diagonalizing the tensor "field" B_ij [r] 3273 if (P->Call.out[ValueOut]) fprintf(stderr,"(%i) Diagonalizing B_ij [r] ... \n", P->Par.me); 3274 for (i=0; i< Dens0->LocalSizeR; i++) { 3275 for (in=0; in<NDIM; in++) // index i of vector component in integrand 3276 for (dex=0; dex<NDIM; dex++) { // index j of B component derivation in current density tensor 3277 //fprintf(stderr,"(%i) Setting B_(%i,%i)[%i] ... \n", P->Par.me, in,dex,i); 3278 gsl_matrix_complex_set(H,in,dex,gsl_complex_rect((sigma_real[in+dex*NDIM][i]+sigma_real[dex+in*NDIM][i])/2.,0.)); 3279 } 3280 gsl_eigen_herm(H, eval, w); 3281 gsl_sort_vector(eval); // sort eigenvalues 3282 for (in=0;in<NDIM;in++) 3283 sigma_real[in][i] = gsl_vector_get(eval,in); 3284 } 3285 } 3286 3287 // now absolute the B values (as density scales them by log) and output 3288 if (F->DoOutNICS) { 3289 for (i=0; i< Dens0->LocalSizeR; i++) 3290 for (in=0;in<NDIM;in++) 3291 sigma_real[in][i] = fabs(sigma_real[in][i]); 3292 // Output of diagonalized magnetic field densities for each direction 3293 for (i=0;i<NDIM;i++) 3294 OutputVis(P, sigma_real[i]); 3295 } 3268 3296 for (i=0;i<NDIM*NDIM;i++) 3269 3297 UnLockDensityArray(Dens0,i,real); // sigma_imag/real free
Note:
See TracChangeset
for help on using the changeset viewer.