Skip to content
Snippets Groups Projects
Select Git revision
  • f76edf725ea1125ed0bbcb2799c68a788b518924
  • master default protected
  • v2.0-dev protected
  • zikeliml/Task-96-dotExporterForAST
  • zikeliml/124-rework-tutorials
  • fma
  • fhennig/v2.0-deprecations
  • holzer-master-patch-46757
  • 66-absolute-access-is-probably-not-copied-correctly-after-_eval_subs
  • gpu_bufferfield_fix
  • hyteg
  • vectorization_sqrt_fix
  • target_dh_refactoring
  • const_fix
  • improved_comm
  • gpu_liveness_opts
  • release/1.3.7 protected
  • release/1.3.6 protected
  • release/2.0.dev0 protected
  • release/1.3.5 protected
  • release/1.3.4 protected
  • release/1.3.3 protected
  • release/1.3.2 protected
  • release/1.3.1 protected
  • release/1.3 protected
  • release/1.2 protected
  • release/1.1.1 protected
  • release/1.1 protected
  • release/1.0.1 protected
  • release/1.0 protected
  • release/0.4.4 protected
  • last/Kerncraft
  • last/OpenCL
  • last/LLVM
  • release/0.4.3 protected
  • release/0.4.2 protected
36 results

setup.py

Blame
  • 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)