DedalusProject / dedalus

A flexible framework for solving PDEs with modern spectral methods.
http://dedalus-project.org/
GNU General Public License v3.0
489 stars 115 forks source link

Attempt to fix regularity recombination when array has size 0 #286

Closed csskene closed 1 month ago

csskene commented 6 months ago

HI I encountered a problem a while a go with a code involving the transpose of the velocity gradient d3.trans(d3.grad(u)). The forward and backwards regularity recombination functions throw an error if data.shape has a zero in the first location, which can occur when using transposes.

A minimal working example is attached which crashes when run with four processors. This same error occurs on much larger resolution problems when the number of processors is large.

This pull request proposes a simple fix by being more specific in how the gdata array is reshaped, as it seems that the (-1,) part of the reshape may be the cause of this issue.

Best, Calum

mwe.txt