Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review of OpenMG: A New Multigrid Implementation in Python #14

Open
hplgit opened this issue Jun 19, 2014 · 3 comments
Open

Review of OpenMG: A New Multigrid Implementation in Python #14

hplgit opened this issue Jun 19, 2014 · 3 comments

Comments

@hplgit
Copy link

hplgit commented Jun 19, 2014

Reviewer: Hans Petter Langtangen

Department/Center/Division: Center for Biomedical Computing

Institution/University/Company: Simula Research Laboratory

Field of interest / expertise: Scientific Computing, Mathematical Modeling

Country: Norway

Article reviewed: See title.

Quality of the approach: meets
Quality of the writing: meets
Quality of the figures/tables: meets

SPECIFIC EVALUATION

For the following questions, please respond with 'yes' or 'no'. If you answer 'no', please provide a brief, one- to two-sentence explanation.

  • Does the article present the problem in an appropriate context? Specifically, does it:
    • explain why the problem is important, YES
    • describe in which situations it arises, YES
    • outline relevant previous work, YES
    • provide background information for non-experts YES
  • Is the content of the paper accessible to a computational scientist with no specific knowledge in the given field? YES
  • Does the paper describe a well-formulated scientific or technical achievement? YES
  • Are the technical and scientific decisions well-motivated and clearly explained? YES
  • Are the code examples (if any) sound, clear, and well-written? YES
  • Is the paper factual correct? seems so
  • Is the language and grammar of sufficient quality? YES
  • Are the conclusions justified? YES
  • Is prior work properly and fully cited? YES
  • Should any part of the article be shortened or expanded? Please explain. NO
  • In your view, is the paper fit for publication in the conference proceedings? YES

Please suggest specific improvements and indicate whether you think the article needs a significant rewrite (rather than a minor revision).

Review

OpenMG is a very nice tool for understanding how the multigrid method works. The article is well written and easy to follow, and can be published after a minor revision.

My main criticism is that there should be a closer relationship between the code and the corresponding mathematical description. Make sure the variable names mimic the symbols in the mathematics. Also be more consistent internally in the code (problemshape vs shape, .size vs len()). The initialization of a list by list(range(n)) is misleading - the idea is to make a list of a fixed length with uninitialized elements, more clearly obtained by [None]*n.

Minor points

  • PyAMG is attributed to Bell et al.
  • Some more information about the differences between AMGlab and OpenMG (apart from the programming languages) would be interesting.
  • Many of the backslashes in the code snippets are redundant. Remove them to produce prettier layout of the code.
@wfspotz
Copy link

wfspotz commented Jun 21, 2014

Independent Review Report

Reviewer: Bill Spotz

Department/Center/Division: Computing Research

Institution/University/Company: Sandia National Laboratories

Field of interest / expertise: Scientific computing

Country: USA

Article reviewed: OpenMG: A New Multigrid Implementation in Python

GENERAL EVALUATION

Please rate the paper using the following criteria (please use the abbreviation
to the right of the description)::

below doesn't meet standards for academic publication
meets meets or exceeds the standards for academic publication
n/a not applicable

  • Quality of the approach: meets
  • Quality of the writing: meets
  • Quality of the figures/tables: below (my only quibble is that the 3D plots could uses some axes for context)

SPECIFIC EVALUATION

For the following questions, please respond with 'yes' or 'no'. If you
answer 'no', please provide a brief, one- to two-sentence explanation.

  • Is the code made publicly available and does the article sufficiently
    describe how to access it? We aim not to publish papers that essentially
    advertise proprietary software. Therefore, if the code is not publicly
    available, please provide a one- to two- sentence response to each of the
    following questions:
    • Does the article focus on a topic other than the features
      of the software itself? Yes
    • Can the majority of statements made be externally validated
      (i.e., without the use of the software)? Yes
    • Is the information presented of interest to readers other than
      those at whom the software is aimed? Yes (some of the approach may be of interest to those who teach scientific programming)
    • Is there any other aspect of the article that would
      justify including it despite the fact that the code
      isn't available? N/A
    • Does the article discuss the reasons the software is closed? N/A
  • Does the article present the problem in an appropriate context?
    Specifically, does it:
    • explain why the problem is important, Yes
    • describe in which situations it arises, Yes (although more discussion of MG applicability to elliptic problems would be appropriate in the introductory sections)
    • outline relevant previous work, Yes (very well)
    • provide background information for non-experts Yes
  • Is the content of the paper accessible to a computational scientist
    with no specific knowledge in the given field? Yes
  • Does the paper describe a well-formulated scientific or technical
    achievement? Yes (although it is intentionally simplified to make it appropriate for teaching environments)
  • Are the technical and scientific decisions well-motivated and
    clearly explained? Yes
  • Are the code examples (if any) sound, clear, and well-written? Yes
  • Is the paper factually correct? Yes
  • Is the language and grammar of sufficient quality? Yes
  • Are the conclusions justified? Yes
  • Is prior work properly and fully cited? Yes (I would also include a reference to the PyTrilinos sub-package ML as another example of a Python multi grid solver)
  • Should any part of the article be shortened or expanded? Please explain. No
  • In your view, is the paper fit for publication in the conference proceedings?
    Please suggest specific improvements and indicate whether you think the
    article needs a significant rewrite (rather than a minor revision). Yes. A majority of the equations did not show up for me, and needs to be addressed. Otherwise, minor revisions as noted here.

@ahmadia
Copy link
Member

ahmadia commented Jun 21, 2014

@ahmadia
Copy link
Member

ahmadia commented Jun 21, 2014

ping: @tsbertalan

This is ready for author response.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants