Newer
Older
from pystencilssfg import SourceFileGenerator, SfgComposer
from lbmpy.advanced_streaming import Timestep
from lbmpy import LBMConfig, create_lb_ast
with SourceFileGenerator() as ctx:
sfg = SfgComposer(ctx)
lb_config = LBMConfig(streaming_pattern='esotwist')
lb_ast_even = create_lb_ast(lbm_config=lb_config, timestep=Timestep.EVEN)
lb_ast_odd = create_lb_ast(lbm_config=lb_config, timestep=Timestep.ODD)
kernel_even = sfg.kernels.add(lb_ast_even, "lb_even")
kernel_odd = sfg.kernels.add(lb_ast_odd, "lb_odd")
sfg.function("myFunction")(
sfg.branch("(timestep & 1) ^ 1")(
sfg.call(kernel_even)
)(
sfg.call(kernel_odd)
)
)