change to WB
This commit is contained in:
@@ -12,6 +12,7 @@ pub const GAMMA: Float = 1.4;
|
||||
#[derive(Debug)]
|
||||
pub struct System<SBP: SbpOperator> {
|
||||
sys: (Field, Field),
|
||||
k: [Field; 4],
|
||||
wb: WorkBuffers,
|
||||
grid: (Grid, Metrics<SBP>),
|
||||
}
|
||||
@@ -27,6 +28,12 @@ impl<SBP: SbpOperator> System<SBP> {
|
||||
Self {
|
||||
sys: (Field::new(ny, nx), Field::new(ny, nx)),
|
||||
grid: (grid, metrics),
|
||||
k: [
|
||||
Field::new(ny, nx),
|
||||
Field::new(ny, nx),
|
||||
Field::new(ny, nx),
|
||||
Field::new(ny, nx),
|
||||
],
|
||||
wb: WorkBuffers::new(ny, nx),
|
||||
}
|
||||
}
|
||||
@@ -49,9 +56,9 @@ impl<SBP: SbpOperator> System<SBP> {
|
||||
&mut self.sys.1,
|
||||
&mut 0.0,
|
||||
dt,
|
||||
&mut self.wb.k,
|
||||
&mut self.k,
|
||||
&self.grid,
|
||||
&mut self.wb.tmp,
|
||||
&mut self.wb.0,
|
||||
);
|
||||
std::mem::swap(&mut self.sys.0, &mut self.sys.1);
|
||||
}
|
||||
@@ -109,9 +116,9 @@ impl<UO: UpwindOperator> System<UO> {
|
||||
&mut self.sys.1,
|
||||
&mut 0.0,
|
||||
dt,
|
||||
&mut self.wb.k,
|
||||
&mut self.k,
|
||||
&self.grid,
|
||||
&mut self.wb.tmp,
|
||||
&mut self.wb.0,
|
||||
);
|
||||
std::mem::swap(&mut self.sys.0, &mut self.sys.1);
|
||||
}
|
||||
@@ -1008,24 +1015,18 @@ fn SAT_characteristic(
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct WorkBuffers {
|
||||
k: [Field; 4],
|
||||
tmp: (Field, Field, Field, Field, Field, Field),
|
||||
}
|
||||
pub struct WorkBuffers(pub (Field, Field, Field, Field, Field, Field));
|
||||
|
||||
impl WorkBuffers {
|
||||
pub fn new(nx: usize, ny: usize) -> Self {
|
||||
let arr3 = Field::new(nx, ny);
|
||||
Self {
|
||||
k: [arr3.clone(), arr3.clone(), arr3.clone(), arr3.clone()],
|
||||
tmp: (
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3,
|
||||
),
|
||||
}
|
||||
Self((
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3.clone(),
|
||||
arr3,
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user