diff --git a/src/liblbm_f32.fut b/src/liblbm_f32.fut index 119ad1b5420f37c0e96552b9f713bdc172e048e7..0e7309bb533c72456a2677a2ccb15a9fe8785cce 100644 --- a/src/liblbm_f32.fut +++ b/src/liblbm_f32.fut @@ -10,6 +10,19 @@ module sim_d3q19_reg_bfl_f32 = mk_sim d3q19_reg_bfl_f32 entry main_d3q19_reg = sim_d3q19_reg_bfl_f32.run +-- Test the sub1 function. +-- == +-- input { 21i64 21i64 21i64 27i64 3i64 1.5f32 1000i64 } +-- auto output +let main (nx: i64) (ny: i64) (nz: i64) (q: i64) (d: i64) (omega: f32) (max_t: i64): [nx][ny][nz][q]f32 = + let fin = replicate nx (replicate ny (replicate nz (replicate q 0f32))) + let dist = replicate nx (replicate ny (replicate nz (replicate q (-1.0f32)))) + let u = replicate nx (replicate ny (replicate nz (replicate d 0f32))) + + in sim_d3q27_reg_bfl_f32.run fin u dist omega max_t + + + -- -- executes Lattice-Boltzmann it times and -- let lattice_boltzmann [nx][ny][nz] (fin: [nx][ny][nz](lbm_model.vec_q real)) (vel: [nx][ny][nz](lbm_model.vec_d real)) (dists: [nx][ny][nz](lbm_model.vec_q real)) (omega: real) (max_t: i64): [nx][ny][nz](lbm_model.vec_q real) = @@ -41,13 +54,3 @@ entry main_d3q19_reg = sim_d3q19_reg_bfl_f32.run -- in (lbm_model.to_array_q f, rho, (lbm_model.to_array_d u)) --- Testing main --- == --- entry: test_main --- compiled input { 213 123 0.8 1 } --- auto output - --- entry test_main (nx: i64)(ny: i64)(tau: real)(it: i64): [9][]real = --- let f_ini = init_f_in(nx)(ny) --- let f = lattice_boltzmann(nx)(ny)(f_ini)(tau)(it) --- in from_tuple_to_array(f)