odisseo.option_classes module

Contents

odisseo.option_classes module#

class odisseo.option_classes.LogarithmicParams(v0: float = 220.0, q: float = 0.9)[source]#

Bases: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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

MN_params: MNParams#

Alias for field number 5

NFW_params: NFWParams#

Alias for field number 3

PSP_params: PSPParams#

Alias for field number 6

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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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: NamedTuple

NamedTuple 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