odisseo.option_classes module#
- class odisseo.option_classes.LogarithmicParams(v0: float = 220.0, q: float = 0.9)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the logarithmic potential
- q: float#
Alias for field number 1
- v0: float#
Alias for field number 0
- class odisseo.option_classes.MNParams(M: float = 65000000000.0, a: float = 3.0, b: float = 0.28)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the Miyamoto-Nagai profile
- M: float#
Alias for field number 0
- a: float#
Alias for field number 1
- b: float#
Alias for field number 2
- class odisseo.option_classes.NFWParams(Mvir: float = 162000000000.0, r_s: float = 15.3)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the NFW profile
- Mvir: float#
Alias for field number 0
- r_s: float#
Alias for field number 1
- class odisseo.option_classes.PSPParams(M, alpha, r_c)[source]#
Bases:
NamedTuple- M: float#
Alias for field number 0
- alpha: float#
Alias for field number 1
- r_c: float#
Alias for field number 2
- class odisseo.option_classes.PlummerParams(a: float = 7, Mtot: float = 1.0)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the Plummer profile
- Mtot: float#
Alias for field number 1
- a: float#
Alias for field number 0
- class odisseo.option_classes.PointMassParams(M: float = 1.0)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the point mass
- M: float#
Alias for field number 0
- class odisseo.option_classes.SimulationConfig(N_particles: int = 1000, dimensions: int = 3, return_snapshots: bool = False, num_snapshots: int = 10, fixed_timestep: bool = True, num_timesteps: int = 1000, softening: float = 1e-10, integrator: int = 0, diffrax_solver: int = 0, acceleration_scheme: int = 0, batch_size: int = 10000, double_map: bool = False, external_accelerations: tuple = (), differentation_mode: int = 1, diffrax_adjoint_method: int = 0, num_checkpoints: int = 100, progress_bar: bool = False, gradient_horizon: int = 0, sech2_z: bool = False, MN3_positive_density: bool = True, glorder: int = 50)[source]#
Bases:
NamedTupleNamedTuple containing the configuration for the simulation. This parameter require recompilation
- MN3_positive_density: bool#
Alias for field number 19
- N_particles: int#
Alias for field number 0
- acceleration_scheme: int#
Alias for field number 9
- batch_size: int#
Alias for field number 10
- differentation_mode: int#
Alias for field number 13
- diffrax_adjoint_method: int#
Alias for field number 14
- diffrax_solver: int#
Alias for field number 8
- dimensions: int#
Alias for field number 1
- double_map: bool#
Alias for field number 11
- external_accelerations: tuple#
Alias for field number 12
- fixed_timestep: bool#
Alias for field number 4
- glorder: int#
Alias for field number 20
- gradient_horizon: int#
Alias for field number 17
- integrator: int#
Alias for field number 7
- num_checkpoints: int#
Alias for field number 15
- num_snapshots: int#
Alias for field number 3
- num_timesteps: int#
Alias for field number 5
- progress_bar: bool#
Alias for field number 16
- return_snapshots: bool#
Alias for field number 2
- sech2_z: bool#
Alias for field number 18
- softening: float#
Alias for field number 6
- class odisseo.option_classes.SimulationParams(G: float = 1.0, t_end: float = 1.0, Plummer_params: PlummerParams = (7, 1.0), NFW_params: NFWParams = (162000000000.0, 15.3), PointMass_params: PointMassParams = (1.0,), MN_params: MNParams = (65000000000.0, 3.0, 0.28), PSP_params: PSPParams = (4501365375.06545, 1.8, 1.9), Logarithmic_params: LogarithmicParams = (220.0, 0.9), TriaxialNFW_params: TriaxialNFWParams = (162000000000.0, 15.3, 1.0, 1.0), ThinMN3Disk_params: ThinMN3DiskParams = (10000000000.0, 3.0, 0.3), ThickMN3Disk_params: ThickMN3DiskParams = (5000000000.0, 3.0, 1.0), TwoPowerTriaxial_params: TwoPowerTriaxialParams = (0.015, 20.0, 1.0, 1.0, 1.0, 3.0))[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the simulation. This parameter do not require recompilation
- G: float#
Alias for field number 0
- Logarithmic_params: LogarithmicParams#
Alias for field number 7
- Plummer_params: PlummerParams#
Alias for field number 2
- PointMass_params: PointMassParams#
Alias for field number 4
- ThickMN3Disk_params: ThickMN3DiskParams#
Alias for field number 10
- ThinMN3Disk_params: ThinMN3DiskParams#
Alias for field number 9
- TriaxialNFW_params: TriaxialNFWParams#
Alias for field number 8
- TwoPowerTriaxial_params: TwoPowerTriaxialParams#
Alias for field number 11
- t_end: float#
Alias for field number 1
- class odisseo.option_classes.ThickMN3DiskParams(M: float = 5000000000.0, hr: float = 3.0, hz: float = 1.0)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the thick Miyamoto-Nagai 3 disk potential
- M: float#
Alias for field number 0
- hr: float#
Alias for field number 1
- hz: float#
Alias for field number 2
- class odisseo.option_classes.ThinMN3DiskParams(M: float = 10000000000.0, hr: float = 3.0, hz: float = 0.3)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the thin Miyamoto-Nagai 3 disk potential
- M: float#
Alias for field number 0
- hr: float#
Alias for field number 1
- hz: float#
Alias for field number 2
- class odisseo.option_classes.TriaxialNFWParams(Mvir, r_s, q1, q2)[source]#
Bases:
NamedTuple- Mvir: float#
Alias for field number 0
- q1: float#
Alias for field number 2
- q2: float#
Alias for field number 3
- r_s: float#
Alias for field number 1
- class odisseo.option_classes.TwoPowerTriaxialParams(rho: float = 0.015, a: float = 20.0, b: float = 1.0, c: float = 1.0, alpha: float = 1.0, beta: float = 3.0)[source]#
Bases:
NamedTupleNamedTuple containing the parameters for the two power-law triaxial potential
- a: float#
Alias for field number 1
- alpha: float#
Alias for field number 4
- b: float#
Alias for field number 2
- beta: float#
Alias for field number 5
- c: float#
Alias for field number 3
- rho: float#
Alias for field number 0