1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use super::Model;
use crate::orbit::calc::potentials::{miyamoto_nagai, navarro_frenk_white, plummer};
use crate::F;
const M_B: F = 443.0;
const B_B: F = 0.2672;
const M_D: F = 2798.0;
const A_D: F = 4.40;
const B_D: F = 0.3084;
const M_H: F = 12474.0;
const A_H: F = 7.7;
pub struct M1 {}
impl Model for M1 {
fn phi(&self, r: F, z: F) -> F {
plummer::phi(r, z, M_B, B_B)
+ miyamoto_nagai::phi(r, z, M_D, A_D, B_D)
+ navarro_frenk_white::phi(r, z, M_H, A_H)
}
fn phi_dr(&self, r: F, z: F) -> F {
plummer::phi_dr(r, z, M_B, B_B)
+ miyamoto_nagai::phi_dr(r, z, M_D, A_D, B_D)
+ navarro_frenk_white::phi_dr(r, z, M_H, A_H)
}
fn phi_dz(&self, r: F, z: F) -> F {
plummer::phi_dz(r, z, M_B, B_B)
+ miyamoto_nagai::phi_dz(r, z, M_D, A_D, B_D)
+ navarro_frenk_white::phi_dz(r, z, M_H, A_H)
}
}