Changeset 3770 in Sophya for trunk/Cosmo/SimLSS/genefluct3d.cc


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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.;
Note: See TracChangeset for help on using the changeset viewer.