Problem related to LIFT operator

51 views
Skip to first unread message

shashank singh

unread,
Jul 13, 2025, 7:39:48 AMJul 13
to Dedalus Users

Screenshot 2025-07-10 112642.pngI I I was trying to apply 1-D Hyper-dissipation equation into Dedalus and the error related to 'Lift' operator keeps popping up. Can someone tell me how to resolve this issue. I am using 1-D Chebyshev gridding.    

Jeffrey S. Oishi

unread,
Jul 13, 2025, 7:43:51 AMJul 13
to dedalu...@googlegroups.com
Hi,

Without more details, it's a little hard to see what's going on here. If you can post a minimal example, that would help.

That said, using hyperdiffusion and boundaries is usually not a great idea. You will need a lot of boundary conditions to satisfy the high order differential operator, but these are (like hyperdiffusion itself) totally unphysical. You might want to rethink whatever it is you're trying to do. 

Jeff

On Sun, Jul 13, 2025 at 7:39 AM shashank singh <shashank...@gmail.com> wrote:

Screenshot 2025-07-10 112642.pngI I I was trying to apply 1-D Hyper-dissipation equation into Dedalus and the error related to 'Lift' operator keeps popping up. Can someone tell me how to resolve this issue. I am using 1-D Chebyshev gridding.    

--
You received this message because you are subscribed to the Google Groups "Dedalus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dedalus-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dedalus-users/7b9f35eb-577d-4b67-a2ee-0d549ce83de5n%40googlegroups.com.

shashank singh

unread,
Jul 19, 2025, 9:49:04 AMJul 19
to dedalu...@googlegroups.com
Even when I was trying the given example of dedalus v3. I was getting the same error message.

Error:

Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/shashank.singh/dedalus/ISM/test.py", line 41, in <module>
    grad_u = d3.grad(u) + ez*lift(tau_u1) # First-order reduction
                             ~~~~^^^^^^^^
  File "/home/shashank.singh/dedalus/ISM/test.py", line 40, in <lambda>
    lift = lambda A: d3.Lift(A, lift_basis, -1)
                     ~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/tools/dispatch.py", line 29, in __call__
    if subclass._check_args(*args, **kw):
       ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/basis.py", line 802, in _check_args
    raise SkipDispatchException(output=P*operand)
                                       ~^~~~~~~~
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/field.py", line 107, in __mul__
    return Multiply(self, other)
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/tools/dispatch.py", line 44, in __call__
    return subclass(*args, **kw)
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/tools/dispatch.py", line 23, in __call__
    return super().__call__(*args, **kw)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/arithmetic.py", line 843, in __init__
    self.arg1_ghost_broadcaster = GhostBroadcaster(arg1.domain, self.dist.grid_layout, broadcast_dims)
                                  ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/arithmetic.py", line 880, in __init__
    self.subcomm = domain.dist.comm_cart.Sub(remain_dims=deploy_dims)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src/mpi4py/MPI.src/Comm.pyx", line 3139, in mpi4py.MPI.Cartcomm.Sub
  File "src/mpi4py/MPI.src/asarray.pxi", line 54, in mpi4py.MPI.chkarray
  File "src/mpi4py/MPI.src/asarray.pxi", line 47, in mpi4py.MPI.getarray
TypeError: 'numpy.bool' object cannot be interpreted as an integer
  File "/home/shashank.singh/dedalus/ISM/test.py", line 41, in <module>
    grad_u = d3.grad(u) + ez*lift(tau_u1) # First-order reduction
                             ~~~~^^^^^^^^
  File "/home/shashank.singh/dedalus/ISM/test.py", line 40, in <lambda>
    lift = lambda A: d3.Lift(A, lift_basis, -1)
                     ~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/tools/dispatch.py", line 29, in __call__
    if subclass._check_args(*args, **kw):
       ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/basis.py", line 802, in _check_args
    raise SkipDispatchException(output=P*operand)
                                       ~^~~~~~~~
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/field.py", line 107, in __mul__
    return Multiply(self, other)
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/tools/dispatch.py", line 44, in __call__
    return subclass(*args, **kw)
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/tools/dispatch.py", line 23, in __call__
    return super().__call__(*args, **kw)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/arithmetic.py", line 843, in __init__
    self.arg1_ghost_broadcaster = GhostBroadcaster(arg1.domain, self.dist.grid_layout, broadcast_dims)
                                  ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shashank.singh/miniconda3/envs/dedalus3/lib/python3.13/site-packages/dedalus/core/arithmetic.py", line 880, in __init__
    self.subcomm = domain.dist.comm_cart.Sub(remain_dims=deploy_dims)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src/mpi4py/MPI.src/Comm.pyx", line 3139, in mpi4py.MPI.Cartcomm.Sub
  File "src/mpi4py/MPI.src/asarray.pxi", line 54, in mpi4py.MPI.chkarray
  File "src/mpi4py/MPI.src/asarray.pxi", line 47, in mpi4py.MPI.getarray
TypeError: 'numpy.bool' object cannot be interpreted as an integer

Calum Skene

unread,
Jul 20, 2025, 6:59:11 AMJul 20
to Dedalus Users
Hi,
This is a known issue (see here https://github.com/DedalusProject/dedalus/issues/319 ), it has been fixed on the master branch.
You can currently get a working version by either installing Dedalus directly from source (https://dedalus-project.readthedocs.io/en/latest/pages/installation.html#building-from-source), or by downgrading numpy to a version <2.3
Hope this helps,
Calum

shashank singh

unread,
Jul 20, 2025, 7:19:12 AMJul 20
to dedalu...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages