Changeset 3134 in Sophya for trunk/Cosmo/SimLSS


Ignore:
Timestamp:
Jan 12, 2007, 3:21:39 PM (19 years ago)
Author:
cmv
Message:

modifs pour gros fichiers suite cmv 12/01/2007

Location:
trunk/Cosmo/SimLSS
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/cmvobserv3d.cc

    r3129 r3134  
    265265
    266266 cout<<"\n--- Check mean and variance in real space"<<endl;
    267  size_t nlowone = fluct3d.NumberOfBad(-1.,1e+200);
    268  double rm,rs2; size_t nm;
     267 int_8 nlowone = fluct3d.NumberOfBad(-1.,1e+200);
     268 double rm,rs2; int_8 nm;
    269269 nm = fluct3d.MeanSigma2(rm,rs2);
    270270 cout<<"rgen:("<<nm<<") Mean = "<<rm<<", Sigma^2 = "
     
    274274   cout<<"\n--- Check variance sigmaR in real space"<<endl;
    275275   double varr;
    276    size_t nvarr = fluct3d.VarianceFrReal(R,varr);
     276   int_8 nvarr = fluct3d.VarianceFrReal(R,varr);
    277277   cout<<"R="<<R<<" : sigmaR^2="<<varr<<" -> "<<sqrt(varr)<<",   n="<<nvarr<<endl;
    278278 }
  • trunk/Cosmo/SimLSS/genefluct3d.cc

    r3129 r3134  
    127127 double sntot = sqrt((double)NRtot_);
    128128 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    129    size_t ip = l+NTz_*(j+Ny_*i);
     129   int_8 ip = l+NTz_*(j+Ny_*i);
    130130   data[ip] = NorRand()/sntot;
    131131 }
     
    259259       long i=0;
    260260       if(ii==1) {if( Nx_%2!=0) continue; else i = Nx_/2;}
    261        size_t ip = k+NCz_*(j+Ny_*i);
     261       int_8 ip = k+NCz_*(j+Ny_*i);
    262262       //cout<<"i="<<i<<" j="<<j<<" k="<<k<<" = ("<<fdata[ip][0]<<","<<fdata[ip][1]<<")"<<endl;
    263263       fdata[ip][1] = 0.; fdata[ip][0] *= M_SQRT2;
     
    279279     if(jj==1) {if( Ny_%2!=0) continue; else j = Ny_/2;}
    280280     for(long i=1;i<(Nx_+1)/2;i++) {
    281        size_t ip = k+NCz_*(j+Ny_*i);
    282        size_t ip1 = 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));
    283283       fdata[ip1][0] = fdata[ip][0]; fdata[ip1][1] = -fdata[ip][1];
    284284       nconj1++;
     
    289289     if(ii==1) {if( Nx_%2!=0) continue; else i = Nx_/2;}
    290290     for(long j=1;j<(Ny_+1)/2;j++) {
    291        size_t ip = k+NCz_*(j+Ny_*i);
    292        size_t ip1 = 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);
    293293       fdata[ip1][0] = fdata[ip][0]; fdata[ip1][1] = -fdata[ip][1];
    294294       nconj1++;
     
    307307     for(long i=1;i<Nx_;i++) {
    308308       if(Nx_%2==0 && i==Nx_/2) continue; // on ne retraite pas nyquist en i
    309        size_t ip = k+NCz_*(j+Ny_*i);
    310        size_t ip1 = 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));
    311311       fdata[ip1][0] = fdata[ip][0]; fdata[ip1][1] = -fdata[ip][1];
    312312       nconj2++;
     
    445445
    446446//-------------------------------------------------------
    447 size_t GeneFluct3D::VarianceFrReal(double R,double& var)
     447int_8 GeneFluct3D::VarianceFrReal(double R,double& var)
    448448// Recompute MASS variance in spherical top-hat (rayon=R)
    449449{
     
    457457 cout<<"dnx="<<dnx<<" dny="<<dny<<" dnz="<<dnz<<endl;
    458458
    459  double sum=0., sum2=0., r2 = R*R; size_t nsum=0;
     459 double sum=0., sum2=0., r2 = R*R; int_8 nsum=0;
    460460
    461461 for(long i=dnx;i<Nx_-dnx;i+=dnx) {
    462462   for(long j=dny;j<Ny_-dny;j+=dny) {
    463463     for(long l=dnz;l<Nz_-dnz;l+=dnz) {
    464        double s=0.; size_t n=0;
     464       double s=0.; int_8 n=0;
    465465       for(long ii=i-dnx;ii<=i+dnx;ii++) {
    466466         double x = (ii-i)*Dx_; x *= x;
     
    470470             double z = (ll-l)*Dz_; z *= z;
    471471             if(x+y+z>r2) continue;
    472              size_t ip = ll+NTz_*(jj+Ny_*ii);
     472             int_8 ip = ll+NTz_*(jj+Ny_*ii);
    473473             s += 1.+data[ip];
    474474             n++;
     
    496496
    497497//-------------------------------------------------------
    498 size_t GeneFluct3D::NumberOfBad(double vmin,double vmax)
     498int_8 GeneFluct3D::NumberOfBad(double vmin,double vmax)
    499499// number of pixels outside of ]vmin,vmax[ extremites exclues
    500500//     ->  vmin and vmax are considered as bad
     
    502502 double *data = (double *) (&T_(0,0,0));
    503503
    504  size_t 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    size_t ip = 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);
    507507   double v = data[ip];
    508508   if(v<=vmin || v>=vmax) nbad++;
     
    512512}
    513513
    514 size_t GeneFluct3D::MeanSigma2(double& rm,double& rs2,double vmin,double vmax)
     514int_8 GeneFluct3D::MeanSigma2(double& rm,double& rs2,double vmin,double vmax)
    515515// mean,sigma^2 pour pixels avec valeurs ]vmin,vmax[ extremites exclues
    516516//   -> mean and sigma^2 are NOT computed with pixels values vmin and vmax
     
    518518 double *data = (double *) (&T_(0,0,0));
    519519
    520  size_t n = 0;
     520 int_8 n = 0;
    521521 rm = rs2 = 0.;
    522522
    523523 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    524    size_t ip = l+NTz_*(j+Ny_*i);
     524   int_8 ip = l+NTz_*(j+Ny_*i);
    525525   double v = data[ip];
    526526   if(v<=vmin || v>=vmax) continue;
     
    538538}
    539539
    540 size_t GeneFluct3D::SetToVal(double vmin, double vmax,double val0)
     540int_8 GeneFluct3D::SetToVal(double vmin, double vmax,double val0)
    541541// set to "val0" if out of range ]vmin,vmax[ extremites exclues
    542542//     ->  vmin and vmax are set to val0
     
    544544 double *data = (double *) (&T_(0,0,0));
    545545
    546  size_t 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    size_t ip = 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);
    549549   double v = data[ip];
    550550   if(v<=vmin || v>=vmax) {data[ip] = val0; nbad++;}
     
    563563
    564564 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    565    size_t ip = l+NTz_*(j+Ny_*i);
     565   int_8 ip = l+NTz_*(j+Ny_*i);
    566566   data[ip] += 1.;
    567567 }
     
    580580
    581581 double m,s2;
    582  size_t ngood = MeanSigma2(m,s2,0.,1e+200);
     582 int_8 ngood = MeanSigma2(m,s2,0.,1e+200);
    583583 if(lp) cout<<"TurnMass2MeanNumber: ngood="<<ngood
    584584            <<" m="<<m<<" s2="<<s2<<" -> "<<sqrt(s2)<<endl;
     
    596596 double sum = 0.;
    597597 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    598    size_t ip = l+NTz_*(j+Ny_*i);
     598   int_8 ip = l+NTz_*(j+Ny_*i);
    599599   data[ip] *= dn; // par coherence on multiplie aussi les <=0
    600600   if(data[ip]>0.) sum += data[ip];  // mais on ne les compte pas
     
    617617 double sum = 0.;
    618618 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    619    size_t ip = l+NTz_*(j+Ny_*i);
     619   int_8 ip = l+NTz_*(j+Ny_*i);
    620620   double v = data[ip];
    621621   if(v>0.) {
     
    647647 double sum = 0.;
    648648 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    649    size_t ip = l+NTz_*(j+Ny_*i);
     649   int_8 ip = l+NTz_*(j+Ny_*i);
    650650   double v = data[ip];
    651651   if(v>0.) {
     
    676676
    677677 for(long i=0;i<Nx_;i++) for(long j=0;j<Ny_;j++) for(long l=0;l<Nz_;l++) {
    678    size_t ip = l+NTz_*(j+Ny_*i);
     678   int_8 ip = l+NTz_*(j+Ny_*i);
    679679   data[ip] += snoise*NorRand();
    680680 }
  • trunk/Cosmo/SimLSS/genefluct3d.h

    r3129 r3134  
    2929  double GetVol(void) {return Vol_;}
    3030  double GetDVol(void) {return dVol_;}
    31   size_t NPix(void) {return NRtot_;}
     31  int_8 NPix(void) {return NRtot_;}
    3232  double GetKmax(void) {return sqrt(Knyqx_*Knyqx_+Knyqy_*Knyqy_+Knyqz_*Knyqz_);}
    3333  vector<r_8> GetKinc(void)
     
    4747  void ReComputeFourier(void);
    4848
    49   size_t VarianceFrReal(double R,double& var);
    50   size_t MeanSigma2(double& rm,double& rs2,double vmin=-1.e+150,double vmax=1.e+150);
    51   size_t NumberOfBad(double vmin=-1.e+150,double vmax=1.e+150);
    52   size_t SetToVal(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.);
    5353
    5454  void TurnFluct2Mass(void);
     
    7171  sa_size_t SzK_[3];
    7272  long NCz_,NTz_;
    73   size_t NRtot_;
     73  int_8 NRtot_;
    7474  double Dx_,Dy_,Dz_;
    7575  double dVol_, Vol_;
Note: See TracChangeset for help on using the changeset viewer.