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


Ignore:
Timestamp:
Feb 18, 2010, 10:45:29 AM (16 years ago)
Author:
cmv
Message:

correction pour petits cubes (demande assez de pys pour zref_), cmv 18/02/2010

File:
1 edited

Legend:

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

    r3743 r3746  
    307307 // TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED
    308308 if(loscom_min_<=1.e-50)
    309    for(int i=0;i<50;i++)
     309   for(int i=0;i<10;i++)
    310310     cout<<"ATTENTION TOUTES LES PARTIES DU CODE NE MARCHENT PAS POUR UN OBSERVATEUR DANS LE CUBE"<<endl;
    311311 // TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED
     
    337337 // Be shure to have one dlc <loscom_min and one >loscom_max
    338338 if(zinc<=0.) zinc = 0.01;
    339  for(double z=0.; ; z+=zinc) {
    340    double dlc = cosmo_->Dloscom(z);
    341    if(dlc<loscom_min_) {zred_.resize(0); loscom_.resize(0);}
    342    zred_.push_back(z);
    343    loscom_.push_back(dlc);
    344    z += zinc;
    345    if(dlc>loscom_max_) break; // on sort apres avoir stoque un dlc>dlcmax
     339 double zmin = 0., dlcmin=0.;
     340 while(1) {
     341   if(lp_>0)
     342     cout<<"...Filling zred starting at zmin="<<zmin<<" with zinc="<<zinc
     343         <<", loscom_min-max=["<<loscom_min_<<","<<loscom_max_<<"]"<<endl;
     344   zred_.resize(0); loscom_.resize(0);
     345   for(double z=zmin; ; z+=zinc) {
     346     double dlc = cosmo_->Dloscom(z);
     347     if(dlc<loscom_min_) {
     348       dlcmin = dlc;
     349       zmin = z;
     350       zred_.resize(0); loscom_.resize(0);
     351     }
     352     zred_.push_back(z);
     353     loscom_.push_back(dlc);
     354     z += zinc;
     355     if(dlc>loscom_max_) {
     356       if(lp_>0)
     357         cout<<"  Min: z="<<zmin<<" dlc="<<dlcmin<<", Max: z="<<z<<" dlc="<<dlc<<endl;
     358       break; // on sort apres avoir stoque un dlc>dlcmax
     359     }
     360   }
     361   if(zred_.size()>=10) break;
     362   zinc /= 10.;
     363   cout<<"  not enough points ("<<zred_.size()<<") for zref, retry with zinc="<<zinc<<endl;
    346364 }
    347365
Note: See TracChangeset for help on using the changeset viewer.