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:
parent
c8619e13e3
commit
a4f6909982
2 changed files with 15 additions and 5 deletions
10
densities.cc
10
densities.cc
|
@ -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
|
||||||
|
|
10
random.cc
10
random.cc
|
@ -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_ )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue