Skip to content
Snippets Groups Projects
Select Git revision
  • fc12b0e5a8ab0e5318e237c52ca841fa4f6c5d98
  • master default protected
  • suffa/cumulantfourth_order_correction_with_psm
  • mr_refactor_wfb
  • Sparse
  • WallLaw
  • improved_comm
  • release/1.3.7
  • release/1.3.6
  • release/1.3.5
  • release/1.3.4
  • release/1.3.3
  • release/1.3.2
  • release/1.3.1
  • release/1.3
  • release/1.2
  • release/1.1.1
  • release/1.1
  • release/1.0.1
  • release/1.0
  • release/0.4.4
  • release/0.4.3
  • release/0.4.2
  • release/0.4.1
  • release/0.4.0
  • release/0.3.4
  • release/0.3.3
27 results

test_force_on_boundary.py

Blame
  • Markus Holzer's avatar
    Markus Holzer authored and Helen Schottenhamml committed
    5b7d9b52
    History
    test_force_on_boundary.py 1.15 KiB
    import numpy as np
    
    from lbmpy.boundaries import UBB, NoSlip
    from lbmpy.enums import ForceModel
    from lbmpy.scenarios import create_channel
    from pystencils import make_slice
    
    # try:
    #     import waLBerla as wLB
    # except ImportError:
    wLB = None
    
    
    def calculate_force(step, obstacle):
        bh = step.boundary_handling
        bh.set_boundary(obstacle, make_slice[0.3:0.4, 0:0.5])
        step.run(100)
        return bh.force_on_boundary(obstacle)
    
    
    def test_force_on_boundary():
        results = []
        domain_size = (80, 30)
    
        boundaries = [NoSlip('obstacle_noslip'),
                      UBB((0,) * len(domain_size), name='obstacle_UBB')]
    
        for parallel in (False, True) if wLB else (False,):
            for boundary_obj in boundaries:
                print(f"Testing parallel {parallel}, boundary {boundary_obj.name}")
                step = create_channel(domain_size, force=1e-5, relaxation_rate=1.5, parallel=parallel,
                                      force_model=ForceModel.BUICK)
                force = calculate_force(step, boundary_obj)
                print(f"  -> force = {force}")
                results.append(force)
    
        for res in results[1:]:
            np.testing.assert_almost_equal(results[0], res)