Skip to content
Snippets Groups Projects
Commit b1970233 authored by Russel Arbore's avatar Russel Arbore
Browse files

verify flag for cfd

parent 2bc2bf6a
No related branches found
No related tags found
2 merge requests!215Large benches,!214More optimizations
Pipeline #202008 passed
...@@ -19,6 +19,8 @@ pub struct CFDInputs { ...@@ -19,6 +19,8 @@ pub struct CFDInputs {
pub block_size: usize, pub block_size: usize,
#[clap(short = None, long = Some("pre-euler"))] #[clap(short = None, long = Some("pre-euler"))]
pub pre_euler: bool, pub pre_euler: bool,
#[clap(short, long)]
pub verify: bool,
} }
fn run_euler( fn run_euler(
...@@ -219,6 +221,7 @@ pub fn cfd_harness(args: CFDInputs) { ...@@ -219,6 +221,7 @@ pub fn cfd_harness(args: CFDInputs) {
iterations, iterations,
block_size, block_size,
pre_euler, pre_euler,
verify,
} = args; } = args;
let FarFieldConditions { let FarFieldConditions {
...@@ -268,37 +271,39 @@ pub fn cfd_harness(args: CFDInputs) { ...@@ -268,37 +271,39 @@ pub fn cfd_harness(args: CFDInputs) {
&ff_fc_momentum_z, &ff_fc_momentum_z,
) )
}; };
let res_rust = if pre_euler { if verify {
rust_cfd::pre_euler( let res_rust = if pre_euler {
nelr, rust_cfd::pre_euler(
iterations, nelr,
variables, iterations,
areas.as_slice(), variables,
elements_surrounding_elements.as_slice(), areas.as_slice(),
&normals, elements_surrounding_elements.as_slice(),
&ff_variable, &normals,
&ff_fc_density_energy, &ff_variable,
&ff_fc_momentum_x, &ff_fc_density_energy,
&ff_fc_momentum_y, &ff_fc_momentum_x,
&ff_fc_momentum_z, &ff_fc_momentum_y,
) &ff_fc_momentum_z,
} else { )
rust_cfd::euler( } else {
nelr, rust_cfd::euler(
iterations, nelr,
variables, iterations,
areas.as_slice(), variables,
elements_surrounding_elements.as_slice(), areas.as_slice(),
&normals, elements_surrounding_elements.as_slice(),
&ff_variable, &normals,
&ff_fc_density_energy, &ff_variable,
&ff_fc_momentum_x, &ff_fc_density_energy,
&ff_fc_momentum_y, &ff_fc_momentum_x,
&ff_fc_momentum_z, &ff_fc_momentum_y,
) &ff_fc_momentum_z,
}; )
};
if !compare_floats(&res_juno, &res_rust) { if !compare_floats(&res_juno, &res_rust) {
panic!("Mismatch in results"); panic!("Mismatch in results");
}
} }
} }
...@@ -14,6 +14,7 @@ fn test_euler() { ...@@ -14,6 +14,7 @@ fn test_euler() {
iterations: 1, iterations: 1,
block_size: 16, block_size: 16,
pre_euler: false, pre_euler: false,
verify: true,
}); });
} }
...@@ -24,5 +25,6 @@ fn test_pre_euler() { ...@@ -24,5 +25,6 @@ fn test_pre_euler() {
iterations: 1, iterations: 1,
block_size: 16, block_size: 16,
pre_euler: true, pre_euler: true,
verify: true,
}); });
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment