def test_notation_i(self): clip_z_dimension = True m_seed = [0, 1, 2] rmoments_order = get_m_order_as_in_r(m_seed, m_seed, m_seed) e_seed = [0, 1, -1] ex, ey, ez, e_new = get_e_as_in_r(e_seed, e_seed, e_seed) if clip_z_dimension: rmoments_order = rmoments_order[0:9] q, d = rmoments_order.shape d = 2 ex = ex[0:9] ey = ey[0:9] ez = ez[0:9] e_D2Q9 = e_new[0:9, :] else: q, d = rmoments_order.shape expected_e = Matrix([[0, 0, 0], [1, 0, 0], [-1, 0, 0], [0, 1, 0], [1, 1, 0], [-1, 1, 0], [0, -1, 0], [1, -1, 0], [-1, -1, 0]]) assert e_D2Q9 == expected_e rev_i = get_reverse_indices(e_D2Q9) expected_rev_i = np.array([0, 2, 1, 6, 8, 7, 3, 5, 4]) np.testing.assert_array_equal(rev_i, expected_rev_i)
import numpy as np import pandas as pd from SymbolicCollisions.core.cm_symbols import moments_dict, e_D3Q27, ex_D3Q27 from SymbolicCollisions.core.MatrixGenerator import get_m_order_as_in_r, get_e_as_in_r e_seed = [0, 1, -1] grid = get_m_order_as_in_r(e_seed, e_seed, e_seed) moments_order = grid.to_numpy() print(f"order of moments: \n {moments_order}") ex_D3Q27new, ey_D3Q27new, ez_D3Q27new, e_D3Q27new = get_e_as_in_r( e_seed, e_seed, e_seed) print(f"lattice velocities - e: \n {e_D3Q27new}") print(e_D3Q27) print(ex_D3Q27) print(ex_D3Q27new) print() # > U # Var1 Var2 Var3 # 1 0 0 0 # 2 1 0 0 # 3 -1 0 0 # 4 0 1 0 # 5 1 1 0 # 6 -1 1 0 # 7 0 -1 0 # 8 1 -1 0 # 9 -1 -1 0 # 10 0 0 1
print('\n//Force -> Force_cm - from continous definition: \n' 'k_mn = integrate(fun, (x, -oo, oo), (y, -oo, oo)) \n' 'where fun = forceM(rho,u,x,y) *(x-ux)^m *(y-uy)^n *(z-uz)^o ') F_cm = get_mom_vector_from_continuous_def( ccmt.get_force_Guo, continuous_transformation=ccmt.get_cm, moments_order=moments_dict[lattice]) print_as_vector(F_cm, 'F_cm') print('\n//Force -> Force_cm - from continous definition: \n' 'k_mn = integrate(fun, (x, -oo, oo), (y, -oo, oo)) \n' 'where fun = forceM(rho,u,x,y) *(x-ux)^m *(y-uy)^n *(z-uz)^o ') lattice = 'D3Q27' F_cm = get_mom_vector_from_continuous_def( ccmt.get_force_He_MB, continuous_transformation=ccmt.get_cm, moments_order=moments_dict[lattice]) print_as_vector(F_cm, 'F_cm') m_seed = [0, 1, 2] rmoments_order = get_m_order_as_in_r(m_seed, m_seed, m_seed) F_cm = get_mom_vector_from_continuous_def( ccmt.get_force_He_MB, continuous_transformation=ccmt.get_cm, moments_order=rmoments_order) print_as_vector(F_cm, 'F_cmr', output_order_of_moments=rmoments_order) print(f'\n\n Done in {time.process_time() - start} [s].')