Changeset 3134 in Sophya for trunk/Cosmo/SimLSS
- Timestamp:
- Jan 12, 2007, 3:21:39 PM (19 years ago)
- Location:
- trunk/Cosmo/SimLSS
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/cmvobserv3d.cc
r3129 r3134 265 265 266 266 cout<<"\n--- Check mean and variance in real space"<<endl; 267 size_tnlowone = fluct3d.NumberOfBad(-1.,1e+200);268 double rm,rs2; size_tnm;267 int_8 nlowone = fluct3d.NumberOfBad(-1.,1e+200); 268 double rm,rs2; int_8 nm; 269 269 nm = fluct3d.MeanSigma2(rm,rs2); 270 270 cout<<"rgen:("<<nm<<") Mean = "<<rm<<", Sigma^2 = " … … 274 274 cout<<"\n--- Check variance sigmaR in real space"<<endl; 275 275 double varr; 276 size_tnvarr = fluct3d.VarianceFrReal(R,varr);276 int_8 nvarr = fluct3d.VarianceFrReal(R,varr); 277 277 cout<<"R="<<R<<" : sigmaR^2="<<varr<<" -> "<<sqrt(varr)<<", n="<<nvarr<<endl; 278 278 } -
trunk/Cosmo/SimLSS/genefluct3d.cc
r3129 r3134 127 127 double sntot = sqrt((double)NRtot_); 128 128 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 129 size_tip = l+NTz_*(j+Ny_*i);129 int_8 ip = l+NTz_*(j+Ny_*i); 130 130 data[ip] = NorRand()/sntot; 131 131 } … … 259 259 long i=0; 260 260 if(ii==1) {if( Nx_%2!=0) continue; else i = Nx_/2;} 261 size_tip = k+NCz_*(j+Ny_*i);261 int_8 ip = k+NCz_*(j+Ny_*i); 262 262 //cout<<"i="<<i<<" j="<<j<<" k="<<k<<" = ("<<fdata[ip][0]<<","<<fdata[ip][1]<<")"<<endl; 263 263 fdata[ip][1] = 0.; fdata[ip][0] *= M_SQRT2; … … 279 279 if(jj==1) {if( Ny_%2!=0) continue; else j = Ny_/2;} 280 280 for(long i=1;i<(Nx_+1)/2;i++) { 281 size_tip = k+NCz_*(j+Ny_*i);282 size_tip1 = k+NCz_*(j+Ny_*(Nx_-i));281 int_8 ip = k+NCz_*(j+Ny_*i); 282 int_8 ip1 = k+NCz_*(j+Ny_*(Nx_-i)); 283 283 fdata[ip1][0] = fdata[ip][0]; fdata[ip1][1] = -fdata[ip][1]; 284 284 nconj1++; … … 289 289 if(ii==1) {if( Nx_%2!=0) continue; else i = Nx_/2;} 290 290 for(long j=1;j<(Ny_+1)/2;j++) { 291 size_tip = k+NCz_*(j+Ny_*i);292 size_tip1 = k+NCz_*((Ny_-j)+Ny_*i);291 int_8 ip = k+NCz_*(j+Ny_*i); 292 int_8 ip1 = k+NCz_*((Ny_-j)+Ny_*i); 293 293 fdata[ip1][0] = fdata[ip][0]; fdata[ip1][1] = -fdata[ip][1]; 294 294 nconj1++; … … 307 307 for(long i=1;i<Nx_;i++) { 308 308 if(Nx_%2==0 && i==Nx_/2) continue; // on ne retraite pas nyquist en i 309 size_tip = k+NCz_*(j+Ny_*i);310 size_tip1 = k+NCz_*((Ny_-j)+Ny_*(Nx_-i));309 int_8 ip = k+NCz_*(j+Ny_*i); 310 int_8 ip1 = k+NCz_*((Ny_-j)+Ny_*(Nx_-i)); 311 311 fdata[ip1][0] = fdata[ip][0]; fdata[ip1][1] = -fdata[ip][1]; 312 312 nconj2++; … … 445 445 446 446 //------------------------------------------------------- 447 size_tGeneFluct3D::VarianceFrReal(double R,double& var)447 int_8 GeneFluct3D::VarianceFrReal(double R,double& var) 448 448 // Recompute MASS variance in spherical top-hat (rayon=R) 449 449 { … … 457 457 cout<<"dnx="<<dnx<<" dny="<<dny<<" dnz="<<dnz<<endl; 458 458 459 double sum=0., sum2=0., r2 = R*R; size_tnsum=0;459 double sum=0., sum2=0., r2 = R*R; int_8 nsum=0; 460 460 461 461 for(long i=dnx;i<Nx_-dnx;i+=dnx) { 462 462 for(long j=dny;j<Ny_-dny;j+=dny) { 463 463 for(long l=dnz;l<Nz_-dnz;l+=dnz) { 464 double s=0.; size_tn=0;464 double s=0.; int_8 n=0; 465 465 for(long ii=i-dnx;ii<=i+dnx;ii++) { 466 466 double x = (ii-i)*Dx_; x *= x; … … 470 470 double z = (ll-l)*Dz_; z *= z; 471 471 if(x+y+z>r2) continue; 472 size_tip = ll+NTz_*(jj+Ny_*ii);472 int_8 ip = ll+NTz_*(jj+Ny_*ii); 473 473 s += 1.+data[ip]; 474 474 n++; … … 496 496 497 497 //------------------------------------------------------- 498 size_tGeneFluct3D::NumberOfBad(double vmin,double vmax)498 int_8 GeneFluct3D::NumberOfBad(double vmin,double vmax) 499 499 // number of pixels outside of ]vmin,vmax[ extremites exclues 500 500 // -> vmin and vmax are considered as bad … … 502 502 double *data = (double *) (&T_(0,0,0)); 503 503 504 size_tnbad = 0;505 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 506 size_tip = l+NTz_*(j+Ny_*i);504 int_8 nbad = 0; 505 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 506 int_8 ip = l+NTz_*(j+Ny_*i); 507 507 double v = data[ip]; 508 508 if(v<=vmin || v>=vmax) nbad++; … … 512 512 } 513 513 514 size_tGeneFluct3D::MeanSigma2(double& rm,double& rs2,double vmin,double vmax)514 int_8 GeneFluct3D::MeanSigma2(double& rm,double& rs2,double vmin,double vmax) 515 515 // mean,sigma^2 pour pixels avec valeurs ]vmin,vmax[ extremites exclues 516 516 // -> mean and sigma^2 are NOT computed with pixels values vmin and vmax … … 518 518 double *data = (double *) (&T_(0,0,0)); 519 519 520 size_tn = 0;520 int_8 n = 0; 521 521 rm = rs2 = 0.; 522 522 523 523 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 524 size_tip = l+NTz_*(j+Ny_*i);524 int_8 ip = l+NTz_*(j+Ny_*i); 525 525 double v = data[ip]; 526 526 if(v<=vmin || v>=vmax) continue; … … 538 538 } 539 539 540 size_tGeneFluct3D::SetToVal(double vmin, double vmax,double val0)540 int_8 GeneFluct3D::SetToVal(double vmin, double vmax,double val0) 541 541 // set to "val0" if out of range ]vmin,vmax[ extremites exclues 542 542 // -> vmin and vmax are set to val0 … … 544 544 double *data = (double *) (&T_(0,0,0)); 545 545 546 size_tnbad = 0;547 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 548 size_tip = l+NTz_*(j+Ny_*i);546 int_8 nbad = 0; 547 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 548 int_8 ip = l+NTz_*(j+Ny_*i); 549 549 double v = data[ip]; 550 550 if(v<=vmin || v>=vmax) {data[ip] = val0; nbad++;} … … 563 563 564 564 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 565 size_tip = l+NTz_*(j+Ny_*i);565 int_8 ip = l+NTz_*(j+Ny_*i); 566 566 data[ip] += 1.; 567 567 } … … 580 580 581 581 double m,s2; 582 size_tngood = MeanSigma2(m,s2,0.,1e+200);582 int_8 ngood = MeanSigma2(m,s2,0.,1e+200); 583 583 if(lp) cout<<"TurnMass2MeanNumber: ngood="<<ngood 584 584 <<" m="<<m<<" s2="<<s2<<" -> "<<sqrt(s2)<<endl; … … 596 596 double sum = 0.; 597 597 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 598 size_tip = l+NTz_*(j+Ny_*i);598 int_8 ip = l+NTz_*(j+Ny_*i); 599 599 data[ip] *= dn; // par coherence on multiplie aussi les <=0 600 600 if(data[ip]>0.) sum += data[ip]; // mais on ne les compte pas … … 617 617 double sum = 0.; 618 618 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 619 size_tip = l+NTz_*(j+Ny_*i);619 int_8 ip = l+NTz_*(j+Ny_*i); 620 620 double v = data[ip]; 621 621 if(v>0.) { … … 647 647 double sum = 0.; 648 648 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 649 size_tip = l+NTz_*(j+Ny_*i);649 int_8 ip = l+NTz_*(j+Ny_*i); 650 650 double v = data[ip]; 651 651 if(v>0.) { … … 676 676 677 677 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) { 678 size_tip = l+NTz_*(j+Ny_*i);678 int_8 ip = l+NTz_*(j+Ny_*i); 679 679 data[ip] += snoise*NorRand(); 680 680 } -
trunk/Cosmo/SimLSS/genefluct3d.h
r3129 r3134 29 29 double GetVol(void) {return Vol_;} 30 30 double GetDVol(void) {return dVol_;} 31 size_tNPix(void) {return NRtot_;}31 int_8 NPix(void) {return NRtot_;} 32 32 double GetKmax(void) {return sqrt(Knyqx_*Knyqx_+Knyqy_*Knyqy_+Knyqz_*Knyqz_);} 33 33 vector<r_8> GetKinc(void) … … 47 47 void ReComputeFourier(void); 48 48 49 size_tVarianceFrReal(double R,double& var);50 size_tMeanSigma2(double& rm,double& rs2,double vmin=-1.e+150,double vmax=1.e+150);51 size_tNumberOfBad(double vmin=-1.e+150,double vmax=1.e+150);52 size_tSetToVal(double vmin, double vmax,double val0=0.);49 int_8 VarianceFrReal(double R,double& var); 50 int_8 MeanSigma2(double& rm,double& rs2,double vmin=-1.e+150,double vmax=1.e+150); 51 int_8 NumberOfBad(double vmin=-1.e+150,double vmax=1.e+150); 52 int_8 SetToVal(double vmin, double vmax,double val0=0.); 53 53 54 54 void TurnFluct2Mass(void); … … 71 71 sa_size_t SzK_[3]; 72 72 long NCz_,NTz_; 73 size_tNRtot_;73 int_8 NRtot_; 74 74 double Dx_,Dy_,Dz_; 75 75 double dVol_, Vol_;
Note:
See TracChangeset
for help on using the changeset viewer.