import numpy as np from lbmpy.phasefield_allen_cahn.parameter_calculation import calculate_dimensionless_rising_bubble, \ calculate_parameters_rti, calculate_parameters_taylor_bubble from lbmpy.phasefield_allen_cahn.analytical import analytic_rising_speed def test_analytical(): parameters = calculate_dimensionless_rising_bubble(reference_time=18000, density_heavy=1.0, bubble_radius=16, bond_number=30, reynolds_number=420, density_ratio=1000, viscosity_ratio=100) assert np.isclose(parameters.density_light, 0.001) assert np.isclose(parameters.gravitational_acceleration, -9.876543209876543e-08) parameters = calculate_parameters_rti(reference_length=128, reference_time=18000, density_heavy=1.0, capillary_number=9.1, reynolds_number=128, atwood_number=1.0, peclet_number=744, density_ratio=3, viscosity_ratio=3) assert np.isclose(parameters.density_light, 1/3) assert np.isclose(parameters.gravitational_acceleration, -3.9506172839506174e-07) assert np.isclose(parameters.mobility, 0.0012234169653524492) rs = analytic_rising_speed(1 - 6, 20, 0.01) assert np.isclose(rs, 16666.666666666668) parameters = calculate_parameters_taylor_bubble(reference_length=192, reference_time=36000, density_heavy=1.0, diameter_outer=0.0254, diameter_inner=0.0127) assert np.isclose(parameters.density_heavy, 1.0) assert np.isclose(parameters.density_light, 0.001207114228456914) assert np.isclose(parameters.dynamic_viscosity_heavy, 5.733727652152216e-05) assert np.isclose(parameters.dynamic_viscosity_light, 1.0417416358027054e-06) assert np.isclose(parameters.gravitational_acceleration, -7.407407407407407e-08) assert np.isclose(parameters.surface_tension, 3.149857262258028e-05, rtol=1e-05)