_initialize_star_cluster_bound¶
-
amuse_util.ic.star_cluster.
_initialize_star_cluster_bound
(number_of_particles: (<class 'int'>, <class 'amuse.datamodel.particles.Particles'>), \*, imf_func: (<class 'bool'>, typing.Callable) = True, imf_args: list = [], imf_kwargs: dict = {}, distr_func: (<class 'bool'>, typing.Callable) = True, distr_args: list = [], distr_kwargs: dict = {}, Rvirial: unit<parsec> = quantity<10 parsec>, position: unit<kpc> = quantity<[0, 0, 0] kpc>, velocity: unit<kms> = quantity<[0, 0, 0] kms>, obj_radius: unit<AU> = quantity<0 AU>, evln_func: (<class 'bool'>, typing.Callable) = False, evln_kwargs: dict = {}, gravity_func: (<class 'bool'>, typing.Callable) = False, gravity_args: list = [], gravity_kwargs: dict = {}, smoothing_length: unit<parsec> = quantity<0.0 parsec>, opening_angle: float = 0.6, number_of_workers: int = 8, use_self_gravity: int = 1, converter: (<class 'amuse.units.nbody_system.nbody_to_si'>, None) = None, timestep: unit<Myr> = quantity<1.0 Myr>, random=True, _num_particles_reconstruct: (<class 'int'>, None) = None, logger: utilipy.utils.logging._LogFile.LogFile = <utilipy.utils.logging._LogPrint.LogPrint object at 0x1245f2a90>, verbose: (<class 'int'>, None) = None, _scale_to_standard: bool = True, store_inputs: bool = True) → tuple[source]¶ Bound Star Cluster Helper Function.
- Parameters
- number_of_particles: int or Particles
if int, number of particles in the system if Particles instance, then the
imf_
,distr_
, and kwargs beforeevln_func
are ignored- imf_func: Callable
function for initial mass function ex)
new_kroupa_mass_distribution
signature of function should be:func(number_of_particles, *imf_args, random=random, **imf_kwargs)
- imf_args: list, optional
the arguments for
imf_func
- imf_kwargs: dict, optional
the kwargs for
imf_func
- distr_func: Callable
function for object spatial distribution ex)
new_plummer_model
signature of function should be:func(number_of_particles, *distr_args, convert_nbody=converter, **distr_kwargs)
- distr_args: list, optional
the arguments for
distr_func
- distr_kwargs: dict, optional
the kwargs for
distr_func
- Rvirial: Quantity, optional
the virial radius of the system, default 10 pc
- position: Quantity, optional
the position of the system in GC coordinates default [0,0,0] pc
- velocity: Quantity, optional
the velocity of the system in GC coordinates (default [0,0,0] kms)
- obj_radius: Quantity, optional
the radius of the individual objects, (default 0 AU)
- evln_func: Callable or False, optional
(default False) object evolution function
- imf_kwargs: dict, optional
the kwargs for
evln_func
- gravity_func: Callable or False, optional
gravity code signature of function should be:
func(converter, *gravity_args, number_of_workers=number_of_workers, **gravity_kwargs)
- gravity_args: list, optional
the arguments for
gravity_func
- gravity_kwargs: dict, optional
the kwargs for
gravity_func
- smoothing_length: Quantity, optional
the smoothing length used in scaling and the gravity (default 0 pc)
- opening_angle: float, optional
(default 0.6)
- number_of_workers: int, optional
number of gravity workers (default 1)
- use_self_gravity: int
flag for usage of self gravity, 1 or 0 (True or False)
- converter: nbody_to_si, optional
nbody converter, takes total mass and virial radius calculated if not provided
- timestep: time quantity, optional
the timestep for evolving the gravity and stellar evolution (default 1 Myr)
- random: True or Generator, optional
(default True) ex: np.random.default_rng(seed=0) will default to random seed
- _scale_to_standard: bool
whether to call
scale_to_standard
- store_inputs: bool
whether to store function inputs in a BoundArguments instance default True
- Returns
- system: datamodel.System
a dataclass object with parameters
particles
evolution
gravity
converter
will try to automatically make channels to/from all things the amuse particles / evolution / gravity classes are proxied in a datamodel.Container that adds .name, .channel_to/from
- inputs: BoundArguments
the inputs to initialize_system
- inputs: BoundArguments
the inputs to
_initialize_star_cluster_bound
only returned ifstore_inputs
is True other returned values are in now in a tuple