openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
721 stars 38 forks source link

[REVIEW]: FEniCS-arclength: A numerical continuation package in FEniCS for nonlinear problems in solid mechanics #5727

Closed editorialbot closed 9 months ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@pprachas<!--end-author-handle-- (Peerasait Prachaseree) Repository: https://github.com/pprachas/fenics_arclength Branch with paper.md (empty if default branch): Version: v0.2.0 Editor: !--editor-->@prashjha<!--end-editor-- Reviewers: @w-luo-academic, @kingyin3613 Archive: 10.5281/zenodo.10563095

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/c4791755683fc95dd5ccd9c8e8708a08"><img src="https://joss.theoj.org/papers/c4791755683fc95dd5ccd9c8e8708a08/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/c4791755683fc95dd5ccd9c8e8708a08/status.svg)](https://joss.theoj.org/papers/c4791755683fc95dd5ccd9c8e8708a08)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@w-luo-academic & @kingyin3613, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @prashjha know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @kingyin3613

📝 Checklist for @w-luo-academic

editorialbot commented 1 year ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=3.21 s (10.9 files/s, 260173.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
XML                              1              0              0           1703
Jupyter Notebook                 7              0         829381           1133
Python                           8            373            247           1085
Markdown                         4            313              0            730
reStructuredText                 9            378            305            317
TeX                              1             25              0            259
YAML                             3              3              4             34
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            35           1104         829945           5296
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 1 year ago

Wordcount for paper.md is 1301

editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1016/0045-7825(88)90024-2 is OK
- 10.1016/j.eml.2022.101797 is OK
- 10.1016/j.engstruct.2020.111755 is OK
- 10.1103/PhysRevB.101.064101 is OK
- 10.1103/PhysRevLett.127.138102 is OK
- 10.1016/j.cma.2018.10.002 is OK
- 10.21105/joss.01292 is OK
- 10.1016/0045-7949(81)90108-5 is OK
- 10.1002/nme.2447 is OK
- 10.1016/0020-7683(79)90081-7 is OK
- 10.1061/JMCEA3.0000966 is OK
- 10.1016/0045-7825(86)90079-4 is OK
- 10.5281/zenodo.1287832 is OK
- 10.21105/joss.01539 is OK
- 10.1016/j.softx.2018.10.005 is OK
- 10.1002/nme.1620140811 is OK
- 10.1115/1.4006992 is OK
- 10.1115/1.4005960 is OK
- 10.1098/rsta.2016.0163 is OK
- 10.1007/BF03184638 is OK
- 10.1137/S0895479899358194 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

prashjha commented 1 year ago

Dear @w-luo-academic, @kingyin3613, please read the first couple of comments in this thread and create your review checklist if not done already. You can read the reviewer guidelines here. Also, you can browse the closed "REVIEW" issues on the "joss-reviews" repository to get some ideas on how to complete the reviews. Good luck!

kingyin3613 commented 1 year ago

Review checklist for @kingyin3613

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

kingyin3613 commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

kingyin3613 commented 1 year ago

Hi @pprachas, very useful and well-documented package! While I am trying to install this package on various OS (Windows + Mac + Ubuntu), I noticed two minor issues:

  1. have you ever considered using automated package management for easy installation? For example, since your package and FEniCS are mainly written in Python, PyPI (classical "pip install") can be used, or in conda environment, Conda-forge can be used. Using automated package management would simplify the installation for users under very different environments, and would benefit package maintenance in cases where the dependencies are changed.
  2. in your documentation, I could not find a clear guide for contributing to the package/reporting bugs/etc. I suggest you add a community support or a contributing section. You may take a look at these packages as references: https://github.com/bessagroup/CRATE or http://gala.adrian.pw/en/latest/contributing.html.

I am looking for your reply!

pprachas commented 1 year ago

Hi @kingyin3613,

Thanks for your response! In an attempt to address the issues you presented, we made the following changes:

  1. We made our package pip installable. Instructions on the specific commands are now on readthedocs and GitHub README. However, a working FEniCS installation is required. There are many ways to install FEniCS and we specified the common ones in our GitHub README and provide links to the official FEniCS installation documentation. We note that this is inline with most FEniCS-based packages in JOSS (i.e. dolfin-adjoint, pulse).

  2. We added a guide on community contribution in the last section of the README.

Please let us know what you think!

kingyin3613 commented 1 year ago

Hi @pprachas,

Your new pip installation looks good! However, I found this issue: https://github.com/pprachas/fenics_arclength/issues/10 when installing fenics_arclength in Windows+Docker environment. I am looking for your solutions!

The contribution section should be good to go according to JOSS requirements!

prashjha commented 1 year ago

Hi @w-luo-academic, please update how the review is progressing. I see that you still need to create a checklist. I would appreciate it if you could start the review soon. Thanks! :)

w-luo-academic commented 1 year ago

Thanks for the reminder. Will do.

Wen

On Mon, Sep 4, 2023 at 21:11 Prashant K. Jha @.***> wrote:

Hi @w-luo-academic https://github.com/w-luo-academic, please update how the review is progressing. I see that you still need to create a checklist. I would appreciate it if you could start the review soon. Thanks! :)

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1705848542, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMA2UGEUN4PH3FGVJ73XY2C6DANCNFSM6AAAAAA3ADT5JM . You are receiving this because you were mentioned.Message ID: @.***>

w-luo-academic commented 1 year ago

Review checklist for @w-luo-academic

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

prashjha commented 1 year ago

Hi @w-luo-academic and @kingyin3613, could you please provide an update on how your review is progressing? Thanks!!

w-luo-academic commented 1 year ago

Sure, I will run the code one more time in a few days.

Wen

On Sun, Oct 8, 2023 at 11:10 PM Prashant K. Jha @.***> wrote:

Hi @w-luo-academic https://github.com/w-luo-academic and @kingyin3613 https://github.com/kingyin3613, could you please provide an update on how your review is progressing? Thanks!!

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1752320544, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMDHWBPEGW3HHOILLV3X6N2M7AVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJSGMZDANJUGQ . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

kingyin3613 commented 1 year ago

I will also complete my reviewing asap.

kingyin3613 commented 1 year ago

Hi @pprachas,

I'm still stuck at installation and opened a new issue: https://github.com/pprachas/fenics_arclength/issues/12, this issue happened for both Windows+Docker and Mac OS environments.

Hao

kingyin3613 commented 1 year ago

The problem has been fixed, issue #12 closed. I will complete my review soon!

kingyin3613 commented 1 year ago

Hi @prashjha and @pprachas, this software significantly supplements the open-source finite element FEniCS in the nonlinear equations regime. The documentation is well-written and complete, I could successfully install the package by following the README step-by-step, and all validation tests for classical nonlinear FEM benchmarks have been passed, results are correct. All boxes are ticked, I recommend acceptance in JOSS!

prashjha commented 1 year ago

Hi @kingyin3613, thank you for your efforts and for providing your recommendations. I appreciate it.

w-luo-academic commented 1 year ago

Hi @pprachas,

While running the validation examples, I encountered the following message: "line 4, in from ufl import diag, Jacobian, shape ModuleNotFoundError: No module named 'ufl'

Wen

On Fri, Oct 13, 2023 at 11:17 AM Prashant K. Jha @.***> wrote:

Hi @kingyin3613 https://github.com/kingyin3613, thank you for your efforts and for providing your recommendations. I appreciate it.

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1761774075, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMDQJWRA4UYEZX6DIYTX7FSQHANCNFSM6AAAAAA3ADT5JM . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

pprachas commented 1 year ago

Hi @w-luo-academic ,

Thanks for bringing this issue up! To hekp us debug the issue, how did you install FEniCS(i.e. conda/docker) and what is your computer's operating system?

w-luo-academic commented 1 year ago

I use the wsl in windows.

On Sun, Oct 29, 2023 at 3:53 PM Peerasait Prachaseree (Jeffrey) < @.***> wrote:

Hi @w-luo-academic https://github.com/w-luo-academic ,

Thanks for bringing this issue up! To hekp us debug the issue, how did you install FEniCS(i.e. conda/docker) and what is your computer's operating system?

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1784221927, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMGZEDSC7ARUYSKJXS3YB263LAVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBUGIZDCOJSG4 . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

pprachas commented 1 year ago

Couple more questions -- please bear with me.

  1. Did you install FEniCS directly with PPA or with a conda environment?
  2. If you installed FEniCS with PPA is there other software in wsl that also calls ufl? It might be due to a conflict of ufl versions (see post by fenics developers here).

Please let us know if this is the issue!

w-luo-academic commented 1 year ago

I simply followed the following steps posted on the repo:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fenics-packages/fenics
sudo apt-get update
sudo apt-get install fenics

On Sun, Oct 29, 2023 at 4:08 PM Peerasait Prachaseree (Jeffrey) < @.***> wrote:

Couple more questions -- please bear with me.

  1. Did you install FEniCS directly with PPA or with a conda environment?
  2. If you installed FEniCS with PPA is there other software in wsl that also calls ufl? It might be due to a conflict of ufl versions (see post by fenics developers here https://fenicsproject.discourse.group/t/announcement-ufl-legacy-and-legacy-dolfin/11583 ).

Please let us know if this is the issue!

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1784225525, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMG366KNS3IQK54VVLLYB3AU7AVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBUGIZDKNJSGU . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

pprachas commented 1 year ago

Can you please run these commands in wsl and show us the output?

python3 -c "import ufl; import dolfin; print(f'dolfin version: {dolfin.__version__}'); print(f'ufl version: {ufl.__version__}')"

w-luo-academic commented 1 year ago

Following is the result:

Traceback (most recent call last):

File "", line 1, in

ModuleNotFoundError: No module named 'ufl'

On Sun, Oct 29, 2023 at 4:42 PM Peerasait Prachaseree (Jeffrey) < @.***> wrote:

Can you please run these commands in wsl and show us the output?

python3 -c "import ufl; import dolfin; print(f'dolfin version: {dolfin.version}'); print(f'ufl version: {ufl.version}')"

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1784232887, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMFPC6MUQ7VPWOGRLX3YB3ETDAVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBUGIZTEOBYG4 . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

pprachas commented 1 year ago

Thanks! Again please bear with me as I try to pinpoint the issue. Can you please run this command (theres a slight change in the import) and show us the output?

python3 -c "import ufl_legacy as ufl; import dolfin; print(f'dolfin version: {dolfin.__version__}'); print(f'ufl version: {ufl.__version__}')"

pprachas commented 1 year ago

Hi @w-luo-academic — just checking in here to see if we can help you de-bug or if you are able to get the code running.

prashjha commented 11 months ago

Hi @w-luo-academic, could you please check if you are satisfied with the response and if there are any other concerns, comments, or suggestions? Thank you.

pprachas commented 11 months ago

Hi @w-luo-academic,

Are there any updates on running the software or anything we can help with?

w-luo-academic commented 11 months ago

Hi Peerasait,

Sorry for the late reply, it was a crazy semester. I will do it by this week!

Wen

On Mon, Dec 11, 2023 at 11:27 AM Peerasait Prachaseree (Jeffrey) < @.***> wrote:

Hi @w-luo-academic https://github.com/w-luo-academic,

Are there any updates on running the software or anything we can help with?

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1850534046, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLME47FHF3T2HLHSBF4DYI47AHAVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJQGUZTIMBUGY . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

pprachas commented 10 months ago

Hi @w-luo-academic,

First of all Happy New year! Hope you are having a good start to the year.

I am wondering if there are any updates in the review or anything we can help with?

Thanks!

w-luo-academic commented 9 months ago

Hi Jeffrey,

I was trying to install FENICS on my Windows PC - it was a pain in the neck. Is there any good tutorial on installation?

Thanks Wen

On Fri, Jan 12, 2024 at 2:43 PM Peerasait Prachaseree (Jeffrey) < @.***> wrote:

Hi @w-luo-academic https://github.com/w-luo-academic,

First of all Happy New year! Hope you are having a good start to the year.

I am wondering if there are any updates in the review or anything we can help with?

Thanks!

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1889925655, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMCTWV2C3BO4C5R2BODYOGN77AVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBZHEZDKNRVGU . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

pprachas commented 9 months ago

Hi @w-luo-academic,

If you are using wsl the simplest method is to create a conda environment and install fenics and fenics-arclength from conda-forge.

Here are link to install miniconda (run the commands Linux in wsl terminal; you might have to restart wsl after installation).

After install miniconda you can install fenics (and all the dependencies for fenics-arclength) with the provided environment.yml in our github repo. To use the environment.yml navigate to the directory of the downloaded file and use the following commands:

conda create -n fenicsproject
conda activate fenicsproject
conda env update -f environment.yml

Jupyter notebooks are optional but are needed to run examples (Jupyter notebooks can be install by conda install -c conda-forge jupyter)

Finally, to install fenics-arclength and run all the examples we recommend you first clone the repository then install fenics-arclength:

git clone https://github.com/pprachas/fenics_arclength.git
cd fenics_arclength
pip install .

Hopefully this clears up installation issues and let me know if you have anymore questions! We will review the installation instructions and make sure that it is clear in the meantime.

w-luo-academic commented 9 months ago

I have successfully installed FEniCS and executed the validation examples. Therefore, I would recommend the acceptance in JOSS.

Wen

On Sun, Jan 14, 2024 at 3:11 PM Peerasait Prachaseree (Jeffrey) < @.***> wrote:

Hi @w-luo-academic https://github.com/w-luo-academic,

If you are using wsl the simplest method is to create a conda environment and install fenics and fenics-arclength from conda-forge.

Here are link to install miniconda https://docs.conda.io/projects/miniconda/en/latest/ (run the commands Linux in wsl terminal; you might have to restart wsl after installation).

After install miniconda you can install fenics (and all the dependencies for fenics-arclength) with the provided environment.yml https://github.com/pprachas/fenics_arclength/blob/master/environment.yml in our github repo. To use the environment.yml navigate to the directory of the downloaded file and use the following commands:

conda create -n fenicsproject conda activate fenicsproject conda env update -f environment.yml

Jupyter notebooks are optional but are needed to run examples (Jupyter notebooks can be install by conda install -c conda-forge jupyter)

Finally, to install fenics-arclength and run all the examples we recommend you first clone the repository then install fenics-arclength:

git clone https://github.com/pprachas/fenics_arclength.git cd fenics_arclength pip install .

Hopefully this clears up installation issues and let me know if you have anymore questions! We will review the installation instructions and make sure that it is clear in the meantime.

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1891073469, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMFYJ63B5LMERHWCBXTYORCYRAVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJRGA3TGNBWHE . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

prashjha commented 9 months ago

Hi @kingyin3613 and @w-luo-academic, thank you both for your effort in reviewing this submission and providing your final recommendations.

prashjha commented 9 months ago

@w-luo-academic, one last thing, could you please complete your checklist? If you feel some items could not be marked complete, could you please provide a reason (for only major ones)? Thank you!!

prashjha commented 9 months ago

@pprachas, reviews are almost complete. I will read the draft once and let you know if I have any comments.

Meanwhile, could you please archive (if not done already) the release using zenodo and provide the archive reference so that I can associate it with your JOSS submission? Make sure that the zenodo archive's title matches this JOSS article's title.

If you have updated a version of your code, let me know, and I can update it here.

prashjha commented 9 months ago

@editorialbot generate pdf

editorialbot commented 9 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

pprachas commented 9 months ago

Hi @prashjha,

I have updated the version of the final code to v0.2.0. The corresponding Zenodo DOI is : 10.5281/zenodo.10563095.

Thanks!

w-luo-academic commented 9 months ago

I can no longer make any changes to the checklist. Is there a way to reactivate it?

On Wed, Jan 24, 2024 at 8:37 AM Prashant K. Jha @.***> wrote:

@w-luo-academic https://github.com/w-luo-academic, one last thing, could you please complete your checklist https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1712675366? If you feel some items could not be marked complete, could you please provide a reason (for only major ones)? Thank you!!

— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/5727#issuecomment-1908259568, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7GLMH7Q5BPADXKUTJWE3TYQEMBRAVCNFSM6AAAAAA3ADT5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBYGI2TSNJWHA . You are receiving this because you were mentioned.Message ID: @.***>

--

Wen Luo

Ph.D., Theoretical and Applied Mechanics

Northwestern University

Evanston IL

prashjha commented 9 months ago

@w-luo-academic, I can modify the checklist. Are you sure you can not modify?

prashjha commented 9 months ago

@editorialbot set version v0.2.0

editorialbot commented 9 months ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

prashjha commented 9 months ago

@editorialbot set v0.2.0 as version

editorialbot commented 9 months ago

Done! version is now v0.2.0