openjournals / joss-reviews

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

[REVIEW]: GridapSolvers.jl: Scalable multiphysics finite element solvers in Julia #7162

Closed editorialbot closed 4 weeks ago

editorialbot commented 2 months ago

Submitting author: !--author-handle-->@JordiManyer<!--end-author-handle-- (Jordi Manyer) Repository: https://github.com/gridap/GridapSolvers.jl Branch with paper.md (empty if default branch): joss-paper Version: 4.1 Editor: !--editor-->@diehlpk<!--end-editor-- Reviewers: @PetrKryslUCSD, @Leticia-maria Archive: 10.5281/zenodo.13879549

Status

status

Status badge code:

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

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

@PetrKryslUCSD & @Leticia-maria, 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 @diehlpk 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 @PetrKryslUCSD

πŸ“ Checklist for @Leticia-maria

editorialbot commented 2 months 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 2 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.12 s (1392.0 files/s, 145421.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Julia                          140           2383           1444          10603
TOML                             5            349              2           1496
TeX                              1             25              0            313
Markdown                        10            111              0            306
YAML                             4              1              8            177
Bourne Shell                     6             16             32             76
-------------------------------------------------------------------------------
SUM:                           166           2885           1486          12971
-------------------------------------------------------------------------------

Commit count by author:

   380  JordiManyer
    10  Alberto F. Martin
     2  CompatHelper Julia
     2  amartin
     1  Santiago Badia
editorialbot commented 2 months ago

Paper file info:

πŸ“„ Wordcount for paper.md is 1489

πŸ”΄ Failed to discover a Statement of need section in paper

editorialbot commented 2 months ago

License info:

βœ… License found: MIT License (Valid open source OSI approved license)

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

βœ… OK DOIs

- 10.1016/j.cpc.2022.108341 is OK
- 10.1137/141000671 is OK
- 10.21105/JOSS.02520 is OK
- 10.1137/20M1328786 is OK
- 10.1137/100791634 is OK
- 10.1016/j.camwa.2020.06.009 is OK
- 10.1515/jnum-2012-0013 is OK
- 10.1007/s00366-006-0049-3 is OK
- 10.1515/jnma-2021-0081 is OK
- 10.1145/1163641.1163644 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1093/acprof:oso/9780199678792.001.0001 is OK
- 10.1137/1.9780898719505 is OK
- 10.1007/978-0-387-09766-4_90 is OK
- 10.1137/s0895479899358194 is OK
- 10.1145/3242094 is OK
- 10.21105/joss.04157 is OK
- 10.1090/S0025-5718-97-00826-0 is OK
- 10.1007/PL00005386 is OK
- 10.1145/3445791 is OK
- 10.48550/arXiv.2405.19004 is OK

🟑 SKIP DOIs

- No DOI given, and none found for title: PETSc/TAO Users Manual
- No DOI given, and none found for title: MPI: A Message-Passing Interface Standard Version ...
- No DOI given, and none found for title: GridapPETSc
- No DOI given, and none found for title: GridapP4est
- No DOI given, and none found for title: PartitionedArrays
- No DOI given, and none found for title: The Trilinos Project Website
- No DOI given, and none found for title: \sl hypre: High Performance Preconditioners

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
editorialbot commented 2 months ago

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

PetrKryslUCSD commented 2 months ago

Review checklist for @PetrKryslUCSD

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

JordiManyer commented 1 month ago

@editorialbot generate pdf

editorialbot commented 1 month ago

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

Leticia-maria commented 1 month ago

Review checklist for @Leticia-maria

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Leticia-maria commented 1 month ago

@diehlpk I finished my checklist, can I also leave some comments here?

PetrKryslUCSD commented 1 month ago

@diehlpk My review is finished.

diehlpk commented 1 month ago

@diehlpk I finished my checklist, can I also leave some comments here?

  • Review reference syntax
  • More details on how the benchmark was performed: details about which benchmark method was used. It was not clear if the algorithm is compute-bound or memory-bound, maybe expand a little bit more on that.
  • Overall, good propositions, I think it fits into the journal, with some corrections.

@JordiManyer please work on these comments. After that I will look at the paper.

JordiManyer commented 1 month ago

Review reference syntax

The skipped DOIs are for references that link to repositories or code papers. I tried my best to find suitable DOIs for them, but I couldn't. It's usually documents that are published by developers but not in journals (like manuals, etc..)

More details on how the benchmark was performed

I can expand on this, but just FYI the paper was already flagged for being too long.

It was not clear if the algorithm is compute-bound or memory-bound

It's quite hard to tell. It's not an easy algorithm, and I don't think I've ever seen anyone touch on this in a FEM paper. Krylov algorithms are memory-bound due to most of their cost being associated to sparse matrix-vector products. However, the picture changes when adding a complex preconditioner (which usually takes most of the cost). In our case, the block-preconditioner is definitely taking most of the cost.

The pressure solver is quite cheap (basically a smaller Krylov-solved solver), but the GMG used for the velocity block is not.

Within the GMG, there are multiple ingredients that can affect performance:

This is not even taking into account that we are in an MPI setting with hundreds of processors, where overhead due to communications cannot be neglected.

I could spend another 500 words arguing this in the paper, but I don't think it's within the scope. Specially in a FEM paper, where the cost per iteration is not important compared to the gains you obtain by using a good preconditioner (in terms of number of iterations). Basically the problem is "mathematics bound", which is the point of using preconditioners that allow you to reduce your number of iterations (no matter what the cost of iteration is).

Maybe @amartinhuertas can correct me or expand on this.

amartinhuertas commented 1 month ago

I agree with @JordiManyer insights.

Long history short: preconditioned iterative solvers for large-scale PDEs are mostly memory-bound (when one uses sparse matrix storage as in the paper/current codes).

Leticia-maria commented 1 month ago

I think that clarifies all the questions on my end! The paper should be good to go. @diehlpk

diehlpk commented 1 month ago

@PetrKryslUCSD, @Leticia-maria thanks for finishing your review!

diehlpk commented 1 month ago

@editorialbot commands

editorialbot commented 1 month ago

Hello @diehlpk, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Add to this issue's reviewers list
@editorialbot add @username as reviewer

# Remove from this issue's reviewers list
@editorialbot remove @username from reviewers

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Assign a user as the editor of this submission
@editorialbot assign @username as editor

# Remove the editor assigned to this submission
@editorialbot remove editor

# Remind an author, a reviewer or the editor to return to a review after a 
# certain period of time (supported units days and weeks)
@editorialbot remind @reviewer in 2 weeks

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for version
@editorialbot set v1.0.0 as version

# Set a value for branch
@editorialbot set joss-paper as branch

# Set a value for repository
@editorialbot set https://github.com/organization/repo as repository

# Set a value for the archive DOI
@editorialbot set 10.5281/zenodo.6861996 as archive

# Mention the EiCs for the correct track
@editorialbot ping track-eic

# Run checks and provide information on the repository and the paper file
@editorialbot check repository

# Check the references of the paper for missing DOIs
@editorialbot check references

# Generates the pdf paper
@editorialbot generate pdf

# Recommends the submission for acceptance
@editorialbot recommend-accept

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Flag submission with questionable scope
@editorialbot query scope

# Get a link to the complete list of reviewers
@editorialbot list reviewers

# Creates a post-review checklist with editor and authors tasks
@editorialbot create post-review checklist

# Open the review issue
@editorialbot start review
diehlpk commented 1 month ago

@editorialbot check references

diehlpk commented 1 month ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

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

βœ… OK DOIs

- 10.1016/j.cpc.2022.108341 is OK
- 10.1137/141000671 is OK
- 10.21105/JOSS.02520 is OK
- 10.1137/20M1328786 is OK
- 10.1137/100791634 is OK
- 10.1016/j.camwa.2020.06.009 is OK
- 10.1515/jnum-2012-0013 is OK
- 10.1007/s00366-006-0049-3 is OK
- 10.1515/jnma-2021-0081 is OK
- 10.1145/1163641.1163644 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1093/acprof:oso/9780199678792.001.0001 is OK
- 10.1137/1.9780898719505 is OK
- 10.1007/978-0-387-09766-4_90 is OK
- 10.1137/s0895479899358194 is OK
- 10.1145/3242094 is OK
- 10.21105/joss.04157 is OK
- 10.1090/S0025-5718-97-00826-0 is OK
- 10.1007/PL00005386 is OK
- 10.1145/3445791 is OK
- 10.48550/arXiv.2405.19004 is OK

🟑 SKIP DOIs

- No DOI given, and none found for title: PETSc/TAO Users Manual
- No DOI given, and none found for title: MPI: A Message-Passing Interface Standard Version ...
- No DOI given, and none found for title: GridapPETSc
- No DOI given, and none found for title: GridapP4est
- No DOI given, and none found for title: PartitionedArrays
- No DOI given, and none found for title: The Trilinos Project Website
- No DOI given, and none found for title: \sl hypre: High Performance Preconditioners

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
diehlpk commented 1 month ago

@editorialbot generate pdf

editorialbot commented 1 month ago

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

diehlpk commented 1 month ago

@JordiManyer please do the following:

JordiManyer commented 1 month ago

My checks:

JordiManyer commented 1 month ago

Version: 4.1

DOI:

DOI

JordiManyer commented 1 month ago

@diehlpk I'm done with my checks.

diehlpk commented 1 month ago

@editorialbot set 4.1 as version

editorialbot commented 1 month ago

Done! version is now 4.1

diehlpk commented 1 month ago

@editorialbot set 10.5281/zenodo.13879549 as archive

editorialbot commented 1 month ago

Done! archive is now 10.5281/zenodo.13879549

diehlpk commented 1 month ago

@JordiManyer the title of the Zenodo archive is

gridap/GridapSolvers.jl: v0.4.1

but it should be the same as of the paper. There is no need to obtain a new DOI and you can just edit the title.

JordiManyer commented 1 month ago

@diehlpk Done!

diehlpk commented 1 month ago

@editorialbot generate pdf

editorialbot commented 1 month ago

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

diehlpk commented 4 weeks ago

@editorialbot recommend-accept

editorialbot commented 4 weeks ago
Attempting dry run of processing paper acceptance...
editorialbot commented 4 weeks ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

βœ… OK DOIs

- 10.1016/j.cpc.2022.108341 is OK
- 10.1137/141000671 is OK
- 10.21105/JOSS.02520 is OK
- 10.1137/20M1328786 is OK
- 10.1137/100791634 is OK
- 10.1016/j.camwa.2020.06.009 is OK
- 10.1515/jnum-2012-0013 is OK
- 10.1007/s00366-006-0049-3 is OK
- 10.1515/jnma-2021-0081 is OK
- 10.1145/1163641.1163644 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1093/acprof:oso/9780199678792.001.0001 is OK
- 10.1137/1.9780898719505 is OK
- 10.1007/978-0-387-09766-4_90 is OK
- 10.1137/s0895479899358194 is OK
- 10.1145/3242094 is OK
- 10.21105/joss.04157 is OK
- 10.1090/S0025-5718-97-00826-0 is OK
- 10.1007/PL00005386 is OK
- 10.1145/3445791 is OK
- 10.48550/arXiv.2405.19004 is OK

🟑 SKIP DOIs

- No DOI given, and none found for title: PETSc/TAO Users Manual
- No DOI given, and none found for title: MPI: A Message-Passing Interface Standard Version ...
- No DOI given, and none found for title: GridapPETSc
- No DOI given, and none found for title: GridapP4est
- No DOI given, and none found for title: PartitionedArrays
- No DOI given, and none found for title: The Trilinos Project Website
- No DOI given, and none found for title: \sl hypre: High Performance Preconditioners

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
editorialbot commented 4 weeks ago

:wave: @openjournals/csism-eics, this paper is ready to be accepted and published.

Check final proof :point_right::page_facing_up: Download article

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/5962, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

danielskatz commented 4 weeks ago

@JordiManyer - as AEiC, I've proofread your paper and suggest the changes in https://github.com/gridap/GridapSolvers.jl/pull/75 - please merge this, or let know what you disagree with, then we can proceed to acceptance and publication.

danielskatz commented 4 weeks ago

@editorialbot recommend-accept

editorialbot commented 4 weeks ago
Attempting dry run of processing paper acceptance...
editorialbot commented 4 weeks ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

βœ… OK DOIs

- 10.1016/j.cpc.2022.108341 is OK
- 10.1137/141000671 is OK
- 10.21105/JOSS.02520 is OK
- 10.1137/20M1328786 is OK
- 10.1137/100791634 is OK
- 10.1016/j.camwa.2020.06.009 is OK
- 10.1515/jnum-2012-0013 is OK
- 10.1007/s00366-006-0049-3 is OK
- 10.1515/jnma-2021-0081 is OK
- 10.1145/1163641.1163644 is OK
- 10.1007/978-3-642-23099-8 is OK
- 10.1093/acprof:oso/9780199678792.001.0001 is OK
- 10.1137/1.9780898719505 is OK
- 10.1007/978-0-387-09766-4_90 is OK
- 10.1137/s0895479899358194 is OK
- 10.1145/3242094 is OK
- 10.21105/joss.04157 is OK
- 10.1090/S0025-5718-97-00826-0 is OK
- 10.1007/PL00005386 is OK
- 10.1145/3445791 is OK
- 10.48550/arXiv.2405.19004 is OK

🟑 SKIP DOIs

- No DOI given, and none found for title: PETSc/TAO Users Manual
- No DOI given, and none found for title: MPI: A Message-Passing Interface Standard Version ...
- No DOI given, and none found for title: GridapPETSc
- No DOI given, and none found for title: GridapP4est
- No DOI given, and none found for title: PartitionedArrays
- No DOI given, and none found for title: The Trilinos Project Website
- No DOI given, and none found for title: \sl hypre: High Performance Preconditioners

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
editorialbot commented 4 weeks ago

:wave: @openjournals/csism-eics, this paper is ready to be accepted and published.

Check final proof :point_right::page_facing_up: Download article

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/5964, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

danielskatz commented 4 weeks ago

@editorialbot accept

editorialbot commented 4 weeks ago
Doing it live! Attempting automated processing of paper acceptance...
editorialbot commented 4 weeks ago

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

``` cff-version: "1.2.0" authors: - family-names: Manyer given-names: Jordi orcid: "https://orcid.org/0000-0002-0178-3890" - family-names: MartΓ­n given-names: Alberto F. orcid: "https://orcid.org/0000-0001-5751-4561" - family-names: Badia given-names: Santiago orcid: "https://orcid.org/0000-0003-2391-4086" contact: - family-names: Manyer given-names: Jordi orcid: "https://orcid.org/0000-0002-0178-3890" doi: 10.5281/zenodo.13879549 message: If you use this software, please cite our article in the Journal of Open Source Software. preferred-citation: authors: - family-names: Manyer given-names: Jordi orcid: "https://orcid.org/0000-0002-0178-3890" - family-names: MartΓ­n given-names: Alberto F. orcid: "https://orcid.org/0000-0001-5751-4561" - family-names: Badia given-names: Santiago orcid: "https://orcid.org/0000-0003-2391-4086" date-published: 2024-10-05 doi: 10.21105/joss.07162 issn: 2475-9066 issue: 102 journal: Journal of Open Source Software publisher: name: Open Journals start: 7162 title: "GridapSolvers.jl: Scalable multiphysics finite element solvers in Julia" type: article url: "https://joss.theoj.org/papers/10.21105/joss.07162" volume: 9 title: "GridapSolvers.jl: Scalable multiphysics finite element solvers in Julia" ```

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

editorialbot commented 4 weeks ago

🐘🐘🐘 πŸ‘‰ Toot for this paper πŸ‘ˆ 🐘🐘🐘

editorialbot commented 4 weeks ago

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited :point_right: https://github.com/openjournals/joss-papers/pull/5965
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.07162
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! πŸŽ‰πŸŒˆπŸ¦„πŸ’ƒπŸ‘»πŸ€˜

Any issues? Notify your editorial technical team...