Changeset 3770 in Sophya for trunk/Cosmo/SimLSS


Ignore:
Timestamp:
May 7, 2010, 7:32:40 PM (15 years ago)
Author:
cmv
Message:

relecture des redshift-distorsion + calcul des spectres, cmv 07/05/2010

Location:
trunk/Cosmo/SimLSS
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/Makefile

    r3768 r3770  
    1818PROGS = \
    1919       $(EXE)cmvobserv3d $(EXE)cmvobserv3df \
    20        $(EXE)cmvginit3d $(EXE)cmvginit3df \
     20       $(EXE)cmvginit3d $(EXE)cmvginit3df $(EXE)cmvrvloscorf \
    2121       $(EXE)cmvtuniv $(EXE)cmvtransf $(EXE)cmvtgrowth $(EXE)cmvtstpk \
    2222       $(EXE)cmvtstsch $(EXE)cmvtstblack $(EXE)cmvtvarspec $(EXE)cmvdefsurv \
     
    2626PROGSOBJ = \
    2727          $(OBJ)cmvobserv3d.o $(OBJ)cmvobserv3df.o \
    28           $(OBJ)cmvginit3d.o $(OBJ)cmvginit3df.o \
     28          $(OBJ)cmvginit3d.o $(OBJ)cmvginit3df.o $(OBJ)cmvrvloscorf.o \
    2929          $(OBJ)cmvtuniv.o $(OBJ)cmvtransf.o $(OBJ)cmvtgrowth.o $(OBJ)cmvtstpk.o \
    3030          $(OBJ)cmvtstsch.o $(OBJ)cmvtstblack.o $(OBJ)cmvtvarspec.o $(OBJ)cmvdefsurv.o \
     
    206206
    207207##############################################################################
     208cmvrvloscorf: $(EXE)cmvrvloscorf
     209        echo $@ " done"
     210$(EXE)cmvrvloscorf: $(OBJ)cmvrvloscorf.o $(LIBR) $(LIBG4)
     211        $(CXXLINK) $(CXXREP) -o $@ $(OBJ)cmvrvloscorf.o $(MYLIB4)
     212$(OBJ)cmvrvloscorf.o: cmvrvloscor.cc
     213        $(CXXCOMPILE) $(CXXREP) -I$(MYEXTINC) -DGEN3D_FLOAT -o $@ cmvrvloscor.cc
     214
     215##############################################################################
    208216cmvtintfun: $(EXE)cmvtintfun
    209217        echo $@ " done"
  • trunk/Cosmo/SimLSS/cmvginit3d.cc

    r3768 r3770  
    509509   //-----------------------------------------------------------------
    510510   cout<<"\n--- Modifying cube for Transverse velocity"<<endl;
    511    fluct3d.ToVelTrans();
     511   fluct3d.ToVelLoS();
    512512   fluct3d.NTupleCheck(posobs,string("ntpvgenf"),ntnent);
    513513   PrtTim(">>>> End Modifying cube for Transverse velocity");
     
    601601 //----TRY-CATCH-TRY-CATCH-TRY-CATCH-TRY-CATCH-TRY-CATCH-TRY-CATCH
    602602 } catch (PException& exc) {
    603    cerr<<"cmvobserv3d.cc catched PException"<<exc.Msg()<<endl;
     603   cerr<<"cmvginit3d.cc catched PException"<<exc.Msg()<<endl;
    604604   return 77;
    605605 } catch (std::exception& sex) {
    606    cerr << "cmvobserv3d.cc std::exception :"
     606   cerr << "cmvginit3d.cc std::exception :"
    607607        << (string)typeid(sex).name() << "\n msg= "
    608608        << sex.what() << endl;
    609609   return 78;
    610610 } catch (...) {
    611    cerr << "cmvobserv3d.cc catched unknown (...) exception  " << endl;
     611   cerr << "cmvginit3d.cc catched unknown (...) exception  " << endl;
    612612   return 79;
    613613 }
  • trunk/Cosmo/SimLSS/genefluct3d.cc

    r3768 r3770  
    9292 kredsh_ref_ = 0.;
    9393 dred_ref_ = -999.;
     94 h_ref_ = -999.;
    9495 loscom_ref_ = -999.;
    9596 dtrc_ref_ = dlum_ref_ = dang_ref_ = -999.;
     
    277278 dlum_ref_ = cosmo_->Dlum(redsh_ref_);
    278279 dang_ref_ = cosmo_->Dang(redsh_ref_);
    279  h_ref = cosmo_->H(redsh_ref_);
     280 h_ref_ = cosmo_->H(redsh_ref_);
    280281 growth_ref_ = (*growth_)(redsh_ref_);
    281282 dsdz_growth_ref_ = growth_->DsDz(redsh_ref_,zinc);
     
    287288       <<", nuref="<<nu_ref_ <<" GHz"
    288289       <<", dnuref="<<dnu_ref_ <<" GHz"<<endl
    289        <<"   H="<<h_ref<<" km/s/Mpc"
     290       <<"   H="<<h_ref_<<" km/s/Mpc"
    290291       <<", D="<<growth_ref_
    291292       <<", dD/dz="<<dsdz_growth_ref_<<endl
     
    445446   fwrt.WriteKey("ZREF",redsh_ref_," reference redshift");
    446447   fwrt.WriteKey("KZREF",kredsh_ref_," reference redshift on z axe");
     448   fwrt.WriteKey("HREF",h_ref_," ref H(z)");
    447449   fwrt.WriteKey("Growth",Dref()," growth at reference redshift");
    448450   fwrt.WriteKey("GrowthPk",DrefPk()," growth at Pk computed redshift");
     
    503505   R_.Info()["ZREF"] = (r_8)redsh_ref_;
    504506   R_.Info()["KZREF"] = (r_8)kredsh_ref_;
     507   R_.Info()["HREF"] = (r_8)h_ref_;
    505508   R_.Info()["Growth"] = (r_8)Dref();
    506509   R_.Info()["GrowthPk"] = (r_8)DrefPk();
     
    691694 long lmod = Nx_/20; if(lmod<1) lmod=1;
    692695 for(long i=0;i<Nx_;i++) {
    693    double kx = Kx(i);  kx *= kx;
    694    if(lp_>0 && i%lmod==0) cout<<"i="<<i<<"\t nx-i="<<Nx_-i<<"\t kx="<<kx<<"\t pk="<<pk_at_z(kx)<<endl;
     696   double kx = AbsKx(i);  kx *= kx;
     697   if(lp_>0 && i%lmod==0) cout<<"i="<<i<<"\t nx-i="<<Nx_-i<<"\t kx="<<Kx(i)<<"\t pk="<<pk_at_z(kx)<<endl;
    695698   for(long j=0;j<Ny_;j++) {
    696      double ky = Ky(j);  ky *= ky;
     699     double ky = AbsKy(j);  ky *= ky;
    697700     for(long l=0;l<NCz_;l++) {
    698        double kz = Kz(l);  kz *= kz;
     701       double kz = AbsKz(l);  kz *= kz;
    699702       if(i==0 && j==0 && l==0) continue; // Suppression du continu
    700703       double k = sqrt(kx+ky+kz);
     
    734737 long lmod = Nx_/20; if(lmod<1) lmod=1;
    735738 for(long i=0;i<Nx_;i++) {
    736    double kx = Kx(i);  kx *= kx;
    737    if(lp_>0 && i%lmod==0) cout<<"i="<<i<<"\t nx-i="<<Nx_-i<<"\t kx="<<kx<<"\t pk="<<pk_at_z(kx)<<endl;
     739   double kx = AbsKx(i);  kx *= kx;
     740   if(lp_>0 && i%lmod==0) cout<<"i="<<i<<"\t nx-i="<<Nx_-i<<"\t kx="<<Kx(i)<<"\t pk="<<pk_at_z(kx)<<endl;
    738741   for(long j=0;j<Ny_;j++) {
    739      double ky = Ky(j);  ky *= ky;
     742     double ky = AbsKy(j);  ky *= ky;
    740743     for(long l=0;l<NCz_;l++) {
    741        double kz = Kz(l);  kz *= kz;
     744       double kz = AbsKz(l);  kz *= kz;
    742745       if(i==0 && j==0 && l==0) continue; // Suppression du continu
    743746       double k = sqrt(kx+ky+kz);
     
    877880
    878881 for(long i=0;i<Nx_;i++) {
    879    double kx = Kx(i) *Dx_/2;
     882   double kx = AbsKx(i) *Dx_/2;
    880883   double pk_x = pixelfilter(kx);
    881884   for(long j=0;j<Ny_;j++) {
    882      double ky = Ky(j) *Dy_/2;
     885     double ky = AbsKy(j) *Dy_/2;
    883886     double pk_y = pixelfilter(ky);
    884887     for(long l=0;l<NCz_;l++) {
    885        double kz = Kz(l) *Dz_/2;
     888       double kz = AbsKz(l) *Dz_/2;
    886889       double pk_z =  pixelfilter(kz);
    887890       T_(l,j,i) *= pk_x*pk_y*pk_z;
     
    893896
    894897//-------------------------------------------------------------------
    895 void GeneFluct3D::ToVelTrans(void)
    896 {
    897   cout<<"-------------------- TO BE VERIFIED ToVelTrans"<<endl;
    898 
     898void GeneFluct3D::ToVelLoS(void)
     899{
    899900 double zpk = compute_pk_redsh_ref_;
    900901 double dpsd = -cosmo_->H(zpk) * growth_->DsDz(zpk,good_dzinc_) / (*growth_)(zpk);
    901  if(lp_>0) cout<<"--- ToVelTrans --- at z="<<zpk<<", D'/D="<<dpsd
     902 if(lp_>0) cout<<"--- ToVelLoS --- at z="<<zpk<<", D'/D="<<dpsd
    902903               <<" (km/s)/Mpc (comp. for dz="<<good_dzinc_<<")"<<endl;
    903904 check_array_alloc();
     
    963964// Apply Conformal derivative of Growth to real space for transverse velocity cube
    964965{
    965   cout<<"-------------------- TO BE VERIFIED ApplyDerGrowthFactor"<<endl;
    966 
    967966 if(lp_>0) cout<<"--- ApplyDerGrowthFactor: evol="<<type_evol<<endl;
    968967 check_array_alloc();
     
    10441043 // Attention a l'ordre
    10451044 for(long i=0;i<Nx_;i++) {
    1046    double kx = Kx(i);  kx *= kx;
     1045   double kx = AbsKx(i);  kx *= kx;
    10471046   for(long j=0;j<Ny_;j++) {
    1048      double ky = Ky(j);  ky *= ky;
     1047     double ky = AbsKy(j);  ky *= ky;
    10491048     for(long l=0;l<NCz_;l++) {
    1050        double kz = Kz(l);
     1049       double kz = AbsKz(l);
    10511050       double k = sqrt(kx+ky+kz*kz);
    10521051       double pk = MODULE2(T_(l,j,i));
     
    10741073 // Attention a l'ordre
    10751074 for(long i=0;i<Nx_;i++) {
    1076    double kx = Kx(i);  kx *= kx;
     1075   double kx = AbsKx(i);  kx *= kx;
    10771076   for(long j=0;j<Ny_;j++) {
    1078      double ky = Ky(j);  ky *= ky;
     1077     double ky = AbsKy(j);  ky *= ky;
    10791078     double kt = sqrt(kx+ky);
    10801079     for(long l=0;l<NCz_;l++) {
    1081        double kz = Kz(l);
     1080       double kz = AbsKz(l);
    10821081       double pk = MODULE2(T_(l,j,i));
    10831082       herr.Add(kt,kz,pk);
     
    11181117 // Attention a l'ordre
    11191118 for(long i=0;i<Nx_;i++) {
    1120    double kx = Kx(i);
     1119   double kx = AbsKx(i);
    11211120   double fx = (pixcor) ? pixelfilter(kx*Dx_/2): 1.;
    11221121   kx *= kx; fx *= fx;
    11231122   for(long j=0;j<Ny_;j++) {
    1124      double ky = Ky(j);
     1123     double ky = AbsKy(j);
    11251124     double fy = (pixcor) ? pixelfilter(ky*Dy_/2): 1.;
    11261125     ky *= ky; fy *= fy;
    11271126     for(long l=0;l<NCz_;l++) {
    1128        double kz = Kz(l);
     1127       double kz = AbsKz(l);
    11291128       double k = sqrt(kx+ky+kz*kz);
    11301129       double pk = MODULE2(T_(l,j,i)) - sigma2;
     
    11631162 // Attention a l'ordre
    11641163 for(long i=0;i<Nx_;i++) {
    1165    double kx = Kx(i);
     1164   double kx = AbsKx(i);
    11661165   double fx = (pixcor) ? pixelfilter(kx*Dx_/2) : 1.;
    11671166   kx *= kx; fx *= fx;
    11681167   for(long j=0;j<Ny_;j++) {
    1169      double ky = Ky(j);
     1168     double ky = AbsKy(j);
    11701169     double fy = (pixcor) ? pixelfilter(ky*Dy_/2) : 1.;
    11711170     ky *= ky; fy *= fy;
    11721171     double kt = sqrt(kx+ky);
    11731172     for(long l=0;l<NCz_;l++) {
    1174        double kz = Kz(l);
     1173       double kz = AbsKz(l);
    11751174       double pk = MODULE2(T_(l,j,i)) - sigma2;
    11761175       double fz = (pixcor) ? vfz(l): 1.;
  • trunk/Cosmo/SimLSS/genefluct3d.h

    r3768 r3770  
    2222#define WITH_FFTW_THREAD
    2323
    24 //NE PAS DECOMMENTER, UTILISEZ LA MAKEFILE ("g++ -DGEN3D_FLOAT ...")
     24//NE PAS DECOMMENTER, UTILISEZ LA MAKEFILE ("g++ -c -DGEN3D_FLOAT ...")
    2525#if defined(GEN3D_FLOAT)
    2626#define GEN3D_TYPE r_4
     
    8585
    8686  // Return |K_i| module relative to pixel indices
    87   inline r_8 Kx(long i) {long ii=(i>Nx_/2)? Nx_-i :i; return ii*Dkx_;}
    88   inline r_8 Ky(long j) {long jj=(j>Ny_/2)? Ny_-j :j; return jj*Dky_;}
     87  inline r_8 AbsKx(long i) {long ii=(i>Nx_/2)? Nx_-i :i; return ii*Dkx_;}
     88  inline r_8 AbsKy(long j) {long jj=(j>Ny_/2)? Ny_-j :j; return jj*Dky_;}
     89  inline r_8 AbsKz(long l) {return l*Dkz_;}
     90  inline r_8 Kx(long i) {long ii=(i>Nx_/2)? i-Nx_ :i; return ii*Dkx_;}
     91  inline r_8 Ky(long j) {long jj=(j>Ny_/2)? j-Ny_ :j; return jj*Dky_;}
    8992  inline r_8 Kz(long l) {return l*Dkz_;}
    9093
     
    109112  double DrefPk(void)
    110113    {return (growth_!=NULL && compute_pk_redsh_ref_>=0.) ? (*growth_)(compute_pk_redsh_ref_): -999.;}
     114  double Href(void) {return h_ref_;}
    111115
    112116  void ComputeFourier0(PkSpectrumZ& pk_at_z);
    113117  void ComputeFourier(PkSpectrumZ& pk_at_z);
    114118  void FilterByPixel(void);
    115   void ToVelTrans(void);
     119  void ToVelLoS(void);
    116120
    117121  void ComputeReal(void);
     
    202206  double redsh_ref_,kredsh_ref_,dred_ref_;
    203207  double compute_pk_redsh_ref_;
    204   double h_ref, loscom_ref_,dtrc_ref_, dlum_ref_, dang_ref_;
     208  double h_ref_, loscom_ref_,dtrc_ref_, dlum_ref_, dang_ref_;
    205209  double growth_ref_, dsdz_growth_ref_;
    206210  double nu_ref_, dnu_ref_ ;
Note: See TracChangeset for help on using the changeset viewer.