Skip to content
Snippets Groups Projects
TestSequencing.py 708 B
Newer Older
from pystencilssfg import SourceFileGenerator, SfgComposer
Frederik Hennig's avatar
Frederik Hennig committed

from lbmpy.advanced_streaming import Timestep
from lbmpy import LBMConfig, create_lb_ast

with SourceFileGenerator() as ctx:
    sfg = SfgComposer(ctx)
Frederik Hennig's avatar
Frederik Hennig committed

    lb_config = LBMConfig(streaming_pattern='esotwist')

    lb_ast_even = create_lb_ast(lbm_config=lb_config, timestep=Timestep.EVEN)
Frederik Hennig's avatar
Frederik Hennig committed
    lb_ast_odd = create_lb_ast(lbm_config=lb_config, timestep=Timestep.ODD)

Frederik Hennig's avatar
Frederik Hennig committed
    kernel_even = sfg.kernels.add(lb_ast_even, "lb_even")
    kernel_odd = sfg.kernels.add(lb_ast_odd, "lb_odd")
Frederik Hennig's avatar
Frederik Hennig committed

    sfg.function("myFunction")(
        sfg.branch("(timestep & 1) ^ 1")(
            sfg.call(kernel_even)
        )(
            sfg.call(kernel_odd)
        )
    )