1use crate::ode::*;
5
6#[derive(Clone, Copy)]
8pub struct Krp {
9 pub k: bool,
11 pub g: bool,
13 pub c: bool,
15 pub bounce: dReal,
17 pub mu: dReal
19}
20
21impl Krp {
22 pub fn new(k: bool, g: bool, c: bool, bounce: dReal, mu: dReal) -> Self {
24 Krp{k, g, c, bounce, mu}
25 }
26}
27
28const F: bool = false;
30const T: bool = true;
32
33pub static KRPnk: Krp = Krp{k: F, g: F, c: F, bounce: 0.0001, mu: 0.3};
35pub static KRP100: Krp = Krp{k: T, g: T, c: T, bounce: 1.0, mu: 0.3};
37pub static KRP095: Krp = Krp{k: T, g: T, c: T, bounce: 0.95, mu: 0.3};
39pub static KRP090: Krp = Krp{k: T, g: T, c: T, bounce: 0.9, mu: 0.3};
41pub static KRP080: Krp = Krp{k: T, g: T, c: T, bounce: 0.8, mu: 0.3};
43pub static KRP070: Krp = Krp{k: T, g: T, c: T, bounce: 0.7, mu: 0.3};
45pub static KRP060: Krp = Krp{k: T, g: T, c: T, bounce: 0.6, mu: 0.3};
47pub static KRP050: Krp = Krp{k: T, g: T, c: T, bounce: 0.5, mu: 0.3};
49pub static KRP040: Krp = Krp{k: T, g: T, c: T, bounce: 0.4, mu: 0.3};
51pub static KRP030: Krp = Krp{k: T, g: T, c: T, bounce: 0.3, mu: 0.3};
53pub static KRP020: Krp = Krp{k: T, g: T, c: T, bounce: 0.2, mu: 0.3};
55pub static KRP010: Krp = Krp{k: T, g: T, c: T, bounce: 0.1, mu: 0.3};
57pub static KRP001: Krp = Krp{k: T, g: T, c: T, bounce: 0.01, mu: 0.3};