LLNL / echemfem

Finite Element Method for Electrochemical Transport (EchemFEM)
MIT License
20 stars 5 forks source link

Installation with Firedrake #8

Closed sudarshanv01 closed 4 months ago

sudarshanv01 commented 6 months ago

Hi @tlroy, this issue is with regards to this review. I am having some trouble with installing Firedrake, which seems to be an important dependency for echemfem.

Please correct me if I am mistaken, but to summarize my understanding: Firedrake requires root access for accessing the package manager (apt/brew) in order to install required packages. There also appear to be several configuration options to install Firedrake through their python installer (with torch, complex, etc). I do not currently see any recommended installation instructions for Firedrake within the install instructions of this package. Could there be more explicit options on tags to pass to the Firedrake installer? Optionally, to make it easier for users, you may provide a set of required packages that can be installed by apt/brew that is required specifically for the features of Firedrake that this package required.

Specifically to my installation troubles, I am attempting to install Firedrake on a (clean) ubuntu virtual machine - allowing root access for the installation. With python3.10, the installer fails with an error that it is not able to install vtk (specifically No matching distribution found for vtk>=9.0.1). It seems like the only way forward to to change firedrake-install, are there any recommendations for what version is needed for echemfem?

tlroy commented 6 months ago

Hi @sudarshanv01 . Firedrake is indeed crucial for EchemFEM. Installing Firedrake is not necessarily trivial as you have experienced. I am going to try to answer all your questions:

As for your specific installation, I have not seen this error yet. Here are some things to try:

sudarshanv01 commented 6 months ago

Thanks for the detailed answer! The docker image works fine and I have been able to install the package. A quick follow up to close this thread - do you need editable install with your pip install command? An alternative that you may consider is publishing the package to pypi.

tlroy commented 6 months ago

pypi is a good idea. I will consider doing this alongside the JOSS publication.

sudarshanv01 commented 6 months ago

Sounds great! I will close this issue and tick the review for

Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution. once you let me know!

TomTranter commented 6 months ago

+1 for more information about installing firedrake in your repo

tlroy commented 5 months ago

I added more firedrake installation details in the QuickStart guide.

sudarshanv01 commented 5 months ago

Looks great!