use explicit integration routine
This commit is contained in:
parent
596605a8b7
commit
9bf2a1513c
|
@ -43,7 +43,7 @@ impl<SBP: SbpOperator> System<SBP> {
|
||||||
let boundaries = boundary_extractor(y, grid, &bc);
|
let boundaries = boundary_extractor(y, grid, &bc);
|
||||||
RHS_trad(k, y, metrics, &boundaries, wb)
|
RHS_trad(k, y, metrics, &boundaries, wb)
|
||||||
};
|
};
|
||||||
integrate::rk4(
|
integrate::integrate::<integrate::Rk4, _, _, _, _>(
|
||||||
rhs_trad,
|
rhs_trad,
|
||||||
&self.sys.0,
|
&self.sys.0,
|
||||||
&mut self.sys.1,
|
&mut self.sys.1,
|
||||||
|
@ -103,7 +103,7 @@ impl<UO: UpwindOperator> System<UO> {
|
||||||
let boundaries = boundary_extractor(y, grid, &bc);
|
let boundaries = boundary_extractor(y, grid, &bc);
|
||||||
RHS_upwind(k, y, metrics, &boundaries, wb)
|
RHS_upwind(k, y, metrics, &boundaries, wb)
|
||||||
};
|
};
|
||||||
integrate::rk4(
|
integrate::integrate::<integrate::Rk4, _, _, _, _>(
|
||||||
rhs_upwind,
|
rhs_upwind,
|
||||||
&self.sys.0,
|
&self.sys.0,
|
||||||
&mut self.sys.1,
|
&mut self.sys.1,
|
||||||
|
|
|
@ -140,21 +140,3 @@ pub fn integrate<'a, BTableau, F: 'a, RHS, MT, C>(
|
||||||
rhs(&mut k[i], &fut, simtime, constants, &mut mutables);
|
rhs(&mut k[i], &fut, simtime, constants, &mut mutables);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn rk4<'a, F: 'a, RHS, MT, C>(
|
|
||||||
rhs: RHS,
|
|
||||||
prev: &F,
|
|
||||||
fut: &mut F,
|
|
||||||
time: &mut Float,
|
|
||||||
dt: Float,
|
|
||||||
k: &mut [F; 4],
|
|
||||||
|
|
||||||
constants: C,
|
|
||||||
mutables: &mut MT,
|
|
||||||
) where
|
|
||||||
C: Copy,
|
|
||||||
F: std::ops::Deref<Target = Array3<Float>> + std::ops::DerefMut<Target = Array3<Float>>,
|
|
||||||
RHS: Fn(&mut F, &F, Float, C, &mut MT),
|
|
||||||
{
|
|
||||||
integrate::<Rk6, F, RHS, MT, C>(rhs, prev, fut, time, dt, k, constants, mutables)
|
|
||||||
}
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ impl<SBP: SbpOperator> System<SBP> {
|
||||||
RHS(fut, prev, grid, metrics, m);
|
RHS(fut, prev, grid, metrics, m);
|
||||||
}
|
}
|
||||||
let mut _time = 0.0;
|
let mut _time = 0.0;
|
||||||
integrate::rk4(
|
integrate::integrate::<integrate::Rk4, _, _, _, _>(
|
||||||
rhs_adaptor,
|
rhs_adaptor,
|
||||||
&self.sys.0,
|
&self.sys.0,
|
||||||
&mut self.sys.1,
|
&mut self.sys.1,
|
||||||
|
@ -154,7 +154,7 @@ impl<UO: UpwindOperator> System<UO> {
|
||||||
RHS_upwind(fut, prev, grid, metrics, m);
|
RHS_upwind(fut, prev, grid, metrics, m);
|
||||||
}
|
}
|
||||||
let mut _time = 0.0;
|
let mut _time = 0.0;
|
||||||
integrate::rk4(
|
integrate::integrate::<integrate::Rk4, _, _, _, _>(
|
||||||
rhs_adaptor,
|
rhs_adaptor,
|
||||||
&self.sys.0,
|
&self.sys.0,
|
||||||
&mut self.sys.1,
|
&mut self.sys.1,
|
||||||
|
|
Loading…
Reference in New Issue