Skip to content
Snippets Groups Projects
Commit 587d0903 authored by Markus Holzer's avatar Markus Holzer
Browse files

Merge branch 'FixIBC' of i10git.cs.fau.de:holzer/lbmpy into FixIBC

parents c84e0bb6 be2b2b73
Branches
Tags
No related merge requests found
Pipeline #60620 canceled
......@@ -273,7 +273,7 @@ class QuadraticBounceBack(LbBoundary):
v = [TypedSymbol(f"c_{i}", self.data_type) for i in range(lb_method.stencil.D)]
v_inv = [TypedSymbol(f"c_inv_{i}", self.data_type) for i in range(lb_method.stencil.D)]
one = sp.Float(1.0)
half = sp.Rational(1, 3)
half = sp.Rational(1, 2)
subexpressions = [Assignment(pdf_symbols[i], pdf) for i, pdf in enumerate(pdf_field_accesses)]
subexpressions.append(Assignment(f_xf, f_out(dir_symbol)))
......@@ -296,11 +296,6 @@ class QuadraticBounceBack(LbBoundary):
u = sp.Matrix(cqc.velocity_symbols)
compressible = cqc.compressible
zero_centered = cqc.zero_centered_pdfs
if not zero_centered and not lb_method.equilibrium_distribution.deviation_only:
raise NotImplementedError("The combination of PDFs stored in absolute form (zero_centered=False) and "
"the equilibrium in its absolute form (delta_equilibrium=False) is not yet "
"supported by the QuadraticBounceBack boundary condition. For this combination "
"the NoSlipLinearBouzidi boundary condition can be used as an alternative")
cqe = cqc.equilibrium_input_equations_from_pdfs(pdf_symbols, False)
subexpressions.append(cqe.all_assignments)
......
......@@ -76,23 +76,19 @@ def couette_flow(stencil, method_enum, zero_centered, wall_distance, compressibl
check_velocity(noslip_velocity, bouzidi_velocity, wall_distance)
zero_centered = lb_step_noslip.method.conserved_quantity_computation.zero_centered_pdfs
deviation_only = lb_step_noslip.method.equilibrium_distribution.deviation_only
lb_step_quadratic_bb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=(True, False),
lbm_config=lbm_config, compute_velocity_in_every_step=True)
if not (zero_centered is False and deviation_only is False):
lb_step_quadratic_bb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=(True, False),
lbm_config=lbm_config, compute_velocity_in_every_step=True)
lb_step_quadratic_bb.boundary_handling.set_boundary(quadratic_bb, slice_from_direction('S', dim))
lb_step_quadratic_bb.boundary_handling.set_boundary(moving_wall, slice_from_direction('N', dim))
lb_step_quadratic_bb.run(timesteps)
lb_step_quadratic_bb.boundary_handling.set_boundary(quadratic_bb, slice_from_direction('S', dim))
lb_step_quadratic_bb.boundary_handling.set_boundary(moving_wall, slice_from_direction('N', dim))
lb_step_quadratic_bb.run(timesteps)
if dim == 2:
quadratic_bb_velocity = lb_step_bouzidi.velocity[domain_size[0] // 2, :, 0]
else:
quadratic_bb_velocity = lb_step_bouzidi.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0]
if dim == 2:
quadratic_bb_velocity = lb_step_quadratic_bb.velocity[domain_size[0] // 2, :, 0]
else:
quadratic_bb_velocity = lb_step_quadratic_bb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0]
check_velocity(noslip_velocity, quadratic_bb_velocity, wall_distance)
check_velocity(noslip_velocity, quadratic_bb_velocity, wall_distance)
@pytest.mark.parametrize("zero_centered", [False, True])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment