11import numpy
22import warnings
3- from amuse .ext .evrard_test import body_centered_grid_unit_cube
4- from amuse .ext .evrard_test import regular_grid_unit_cube
5- from amuse .ext .evrard_test import uniform_random_unit_cube
6- from amuse .units import nbody_system
7- from amuse .units import units
83
94from amuse .datamodel import Particles
105from amuse .datamodel import ParticlesWithUnitsConverted
6+ from amuse .ext .evrard_test import uniform_random_unit_cube
7+ from amuse .units import nbody_system
8+
9+
1110def approximate_inverse_error_function (x ):
1211 a = 8 * (numpy .pi - 3 )/ 3 * numpy .pi * (4 - numpy .pi )
1312 return numpy .sign (x )* numpy .sqrt (
@@ -56,11 +55,6 @@ def __init__(
5655 "Rmin is deprecated, use radius_min instead" ,
5756 category = FutureWarning ,
5857 )
59- if radius_min is not None and radius_min != Rmin :
60- raise ValueError (
61- "Rmin and radius_min have different values, "
62- "this is only allowed if one of them is None"
63- )
6458 radius_min = Rmin
6559 if radius_min is None :
6660 raise ValueError ("radius_min must be set" )
@@ -69,15 +63,13 @@ def __init__(
6963 "Rmax is deprecated, use radius_max instead" ,
7064 category = FutureWarning ,
7165 )
72- if radius_max is not None and radius_max != Rmax :
73- raise ValueError (
74- "Rmax and radius_max have different values, "
75- "this is only allowed if one of them is None"
76- )
7766 radius_max = Rmax
7867 if radius_max is None :
7968 raise ValueError ("radius_max must be set" )
8069
70+ if type (targetN ) != int :
71+ targetN = int (targetN )
72+
8173 self .targetN = targetN
8274 self .convert_nbody = convert_nbody
8375 self .densitypower = densitypower
@@ -92,8 +84,8 @@ def __init__(
9284 self .a2 = self .thermalpower / 2
9385 self .g = densitypower
9486 self .g2 = 2 - densitypower
95- self .k_out = ((1 + discfraction )/ Rmax ** 3 )** 0.5
96- self .sigma_out = self .g2 * discfraction / (2 * numpy .pi * Rmax ** self .g * (Rmax ** self .g2 - Rmin ** self .g2 ))
87+ self .k_out = ((1 + discfraction )/ radius_max ** 3 )** 0.5
88+ self .sigma_out = self .g2 * discfraction / (2 * numpy .pi * radius_max ** self .g * (radius_max ** self .g2 - radius_min ** self .g2 ))
9789 self .cs_out = self .q_out * numpy .pi * self .sigma_out / self .k_out
9890
9991 self .base_cylinder = uniform_unit_cylinder (targetN ,base_grid )
0 commit comments