Patch lbmpy for compatibility with pystencils 2.0:
Introduce a module lbmpy._compat
that facilitates compatibility between the divergent APIs of pystencils 1.3 and 2.0.
Mask out code paths using the IS_PYSTENCILS_2
flag where necessary.
lbmpy.custom_code_nodes
module will be replaced by a new lbmpy.lookup_tables
,
utilizing the novel capability of pystencils 2.0 to treat SymPy tuples as arraysminimal_conda
and ubuntu
CI tasks
pycodegen/ubuntu
docker image is based on a CUDA image, and using a virtual environment for Python,
the ubuntu
task effectively does the same as the Nox+CUDA taskThe following features will be temporarily unavailable until the underlying systems are either reintroduced in pystencils 2.0, or they can be reimplemented on top of 2.0's novel APIs:
create_lb_update_rule
: Remove the workaround once field duplication is fixed in pystencilsLatticeBoltzmannBoundaryHandling
does not allow to specify a data type and always uses float64
. This leads to type errors when combined with LB fields with float32
dtype.