KVSlab / turtleFSI

Monolithic Fluid-Structure Interaction (FSI) solver
https://turtlefsi2.readthedocs.io/en/latest/
GNU General Public License v3.0
63 stars 24 forks source link

Questions regarding Python versions #25

Closed jorgensd closed 1 year ago

jorgensd commented 1 year ago

In the documentation it is stated that Python >=3.5 is required. However, to use the full version of turtleFSI, fenicstools and cppimport is required. cppimport does not support Python < 3.7.

Should the documentation really state that Python >=3.7 is required?

johannesring commented 1 year ago

Doesn't cppimport support Python 3.6 also? At least that is what I could find. However, I am not sure that we should require cppimport. It is only used for probes, which is not needed to use turtleFSI. The code for probes is copied from fenicstools and it is also copied into VaMPy. If we make VaMPy into a package it is probably better to import it from there. Then we can remove the probes code from turtleFSI.

I don't think we are using fenicstools in turtleFSI? I see it is mentioned in the documentation and that it is needed when using save_deg > 1, but I don't see it being used anywhere in the code.

I see that Python 3.5 is no longer maintained, so it might be a good idea to bump the required version to 3.6.

jorgensd commented 1 year ago

Doesn't cppimport support Python 3.6 also?

cppimport depends (https://github.com/tbenthompson/cppimport/blob/main/setup.py#L9) on Mako (https://pypi.org/project/Mako/) which only supports python 3.7 and upwards. Python 3.6 has reached End Of Life half a year ago, so I think we could skip that as well.

It is unclear how things depend on each-other in turtle. The docs says one thing, and you get tons of warnings without cppimport due to the probes. I think it would be good to iron out what are dependencies, and what should be where.

johannesring commented 1 year ago

Yes, I agree that we can skip Python 3.6 and that we should look into the dependencies.