From 5c4c739afcab2a02b306ab0dcc21dbbdd2d0129c Mon Sep 17 00:00:00 2001 From: Rudolf Weeber <weeber@icp.uni-stuttgart.de> Date: Tue, 13 Oct 2020 15:36:16 +0200 Subject: [PATCH] Test: Separate out lb instance generation for fluctuating lb test --- lbmpy_tests/test_fluctuating_lb.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/lbmpy_tests/test_fluctuating_lb.py b/lbmpy_tests/test_fluctuating_lb.py index 7ce27c90..58468f40 100644 --- a/lbmpy_tests/test_fluctuating_lb.py +++ b/lbmpy_tests/test_fluctuating_lb.py @@ -15,7 +15,9 @@ def single_component_maxwell(x1, x2, kT, mass): def rr_getter(moment_group): - """Mapos moments to 4 relaxation rates for shear, bulk, odd, even modes""" + """Maps a group of moments to a relaxation rate (shear, bulk, even, odd) + in the 4 relaxation time thermalized LB model + """ is_shear = [is_shear_moment(m, 3) for m in moment_group] is_bulk = [is_bulk_moment(m, 3) for m in moment_group] order = [get_order(m) for m in moment_group] @@ -52,21 +54,14 @@ def add_pressure_output_to_collision_rule(collision_rule, pressure_field): collision_rule.main_assignments = collision_rule.main_assignments + pressure_ouput -def test(): +def get_fluctuating_lb(size=None, kT=None, omega_shear=None, omega_bulk=None, omega_odd=None, omega_even=None, rho_0=None, target=None): # Parameters stencil = get_stencil('D3Q19') - L = [60]*3 - kT = 4E-4 - rho_0 = 0.8 - omega_shear = 0.8 - omega_bulk = 0.3 - omega_even = 0.5 - omega_odd = 0.4 - target = 'cpu' # Setup data handling - dh = ps.create_data_handling(L, periodicity=True, default_target=target) + dh = ps.create_data_handling( + [size]*3, periodicity=True, default_target=target) src = dh.add_array('src', values_per_cell=len(stencil), layout='f') dst = dh.add_array_like('dst', 'src') rho = dh.add_array('rho', layout='f', latex_name='\\rho') @@ -82,7 +77,7 @@ def test(): compressible=True, weighted=True, relaxation_rate_getter=rr_getter, - force_model=force_model_from_string('luo', force_field.center_vector)) + force_model=force_model_from_string('schiller', force_field.center_vector)) collision_rule = create_lb_collision_rule( method, fluctuating={ @@ -135,6 +130,17 @@ def test(): dh.swap(src.name, dst.name) return start+steps + return dh, time_loop + + +def test_resting_fluid(): + rho_0 = 0.86 + kT = 4E-4 + L = [60]*3 + dh, time_loop = get_fluctuating_lb(size=L[0], target="cpu", + rho_0=rho_0, kT=kT, + omega_shear=0.8, omega_bulk=0.5, omega_even=.04, omega_odd=0.3) + # Test t = 0 # warm up -- GitLab