1
0
Fork 0
mirror of https://github.com/cosmo-sims/MUSIC.git synced 2024-09-19 17:03:46 +02:00

replaced k-space transfer filter with Planck-taper window

removed again the non-kspace averaging with realspace TFs
This commit is contained in:
Oliver Hahn 2013-11-13 03:26:03 +01:00
parent c8619e13e3
commit a4f6909982
2 changed files with 15 additions and 5 deletions

View file

@ -21,8 +21,18 @@ double blend_sharpness = 0.333;
double Blend_Function( double k, double kmax ) double Blend_Function( double k, double kmax )
{ {
#if 0 // this should not be used, doesn't go to zero at kmax
double const eps = blend_sharpness; // this is a global variable double const eps = blend_sharpness; // this is a global variable
return -0.5*(tanh((fabs(k)-kmax)/eps)-1.0f); return -0.5*(tanh((fabs(k)-kmax)/eps)-1.0f);
#else
float kabs = fabs(k);
double const eps = blend_sharpness;
float kp = (1.0f-2.0f*eps)*kmax;
if( kabs >= kmax ) return 0.;
if( kabs > kp ) return 1.0f/(expf( (kp-kmax)/(k-kp) + (kp-kmax)/(k-kmax) ) + 1.0f);
return 1.0f;
#endif
} }
//#define NO_COARSE_OVERLAP //#define NO_COARSE_OVERLAP

View file

@ -1564,7 +1564,7 @@ void random_number_generator<rng,T>::compute_random_numbers( void )
{ {
bool kavg = pcf_->getValueSafe<bool>("random","kaveraging",true); bool kavg = pcf_->getValueSafe<bool>("random","kaveraging",true);
bool rndsign = pcf_->getValueSafe<bool>("random","grafic_sign",false); bool rndsign = pcf_->getValueSafe<bool>("random","grafic_sign",false);
bool brealspace_tf = !pcf_->getValue<bool>("setup","kspace_tf"); bool brealspace_tf = !pcf_->getValue<bool>("setup","kspace_TF");
std::vector< rng* > randc(std::max(levelmax_,levelmin_seed_)+1,(rng*)NULL); std::vector< rng* > randc(std::max(levelmax_,levelmin_seed_)+1,(rng*)NULL);
@ -1606,10 +1606,10 @@ void random_number_generator<rng,T>::compute_random_numbers( void )
LOGINFO("Warning: random seed for level %d will be ignored.\n" \ LOGINFO("Warning: random seed for level %d will be ignored.\n" \
" consistency requires that it is obtained by restriction from level %d", ilevel, levelmin_seed_ ); " consistency requires that it is obtained by restriction from level %d", ilevel, levelmin_seed_ );
if( brealspace_tf && ilevel < levelmax_ ) //if( brealspace_tf && ilevel < levelmax_ )
randc[ilevel] = new rng( *randc[ilevel+1], false ); // randc[ilevel] = new rng( *randc[ilevel+1], false );
else // do k-space averaging //else // do k-space averaging
randc[ilevel] = new rng( *randc[ilevel+1], kavg ); randc[ilevel] = new rng( *randc[ilevel+1], kavg );
if( ilevel+1 > levelmax_ ) if( ilevel+1 > levelmax_ )
{ {