Talk:MFEM

I suggest that we have someone from the FEM community that is not on the MFEM team edit the article in order to resolve the COI problem. Funktektronic (talk) 04:40, 7 July 2020 (UTC)


 * What do you mean by "FEM community"? I do not develop MFEM code, however, I participate in discussion with MFEM developers (and developers of few other opensource FEM codes) how we can make it more accessible to less experienced researchers and engineers. Due to internal complexity of any production ready FEM software for me it is obvious that only product team can only provide a good review of this type of software.Kostyfisik (talk) 07:52, 8 July 2020 (UTC)


 * That is fundamentally at odds with Wikipedia's model, which requires that articles be neutrally written and based primarily on independent sources. - MrOllie (talk) 11:39, 8 July 2020 (UTC)

We know about users out there that only passingly interact with the MFEM team (have sent us a thank you note on github for instance), but have sufficient knowledge to write an article as good as what we have here currently. That would be like the user of any software package writing an article about it. Perhaps we could ask one of the users to jump in a write something. Would that be sufficiently neutral? Funktektronic (talk) 00:36, 9 July 2020 (UTC)
 * That sort of thing isn't forbidden, but it is frowned upon. See related topics at WP:MEAT and WP:CANVASS. In my opinion the important thing is that the sources be independent. - MrOllie (talk) 03:28, 9 July 2020 (UTC)

Help us improve the MFEM page
Dear Wikipedia editors and contributors,

Please help us improve the MFEM page to ensure that the information on it is factual, unbiased and accurate.

The following sections can be useful in that regard.


 * Discussion of the current content
 * Suggestions for new content — Preceding unsigned comment added by Tzanio (talk • contribs) 01:16, 10 July 2020 (UTC)

Discussion of the current content
This section breaks down the current content (as of https://en.wikipedia.org/w/index.php?title=MFEM&oldid=966357362) in separate statements that can be discussed independently for their accuracy, neutrally, wording, merit for inclusion, etc.

MFEM is an open-source C++ library for solving partial differential equations using the finite element method, developed and maintained by researchers at the Lawrence Livermore National Laboratory and the MFEM open-source community on GitHub. MFEM is free software released under a BSD license.

Supporting Evidence
These statements are verifiable at the following links:


 * 1) https://github.com/mfem/mfem/blob/master/LICENSE (open-source, BSD license)
 * 2) https://github.com/mfem/mfem/search?l=C%2B%2B (C++)
 * 3) https://mfem.org/ (solving PDEs with FEM)
 * 4) https://computing.llnl.gov/projects/mfem-scalable-finite-element-discretization-library (developed and maintained at LLNL)
 * 5) https://github.com/mfem/mfem/graphs/contributors (LLNL and open-source developers)
 * 6) https://github.com/orgs/mfem/people (LLNL and open-source community totaling 330+ members)

They are further corroborated by the following external sources:


 * 1) https://deixismagazine.org/2018/07/scaling-the-unknown/
 * 2) https://onlinelibrary.wiley.com/doi/full/10.1002/fld.4707
 * 3) http://epubs.siam.org/doi/10.1137/17M1115976
 * 4) and many more peer-reviewed publications on Google Scholar: https://scholar.google.com/scholar?scisbd=2&q=%22mfem.org%22&hl=en&as_sdt=0,5, see also https://mfem.org/publications/

Rationale for inclusion
This seems to be the minimal way to describe what the software does ("solving partial differential equations using the finite element method"), who can use it ("open-source C++ library", "free software released under a BSD license") and where it comes from ("maintained by researchers at the Lawrence Livermore National Laboratory and the MFEM open-source community on GitHub"). All of these are likely to be of direct interest to a reader of this page.

Alternatives
If the reference is objectionable, it could simply be removed.

The library consists of C++ classes that serve as building blocks for developing finite element solvers applicable to problems of fluid dynamics, structural mechanics, electromagnetics, radiative transfer and many other.

Supporting Evidence
The first portion of this sentence can be verified at the following links:


 * 1) http://mfem.github.io/doxygen/html/classes.html ("C++ classes")
 * 2) https://mfem.org/examples/ ("building blocks for developing finite element solvers")

The list of application areas can be verified by:


 * 1) References [2], [3], [4], [5]
 * 2) Additional peer-reviewed publications on Google Scholar: https://scholar.google.com/scholar?scisbd=2&q=%22mfem.org%22&hl=en&as_sdt=0,5, see also https://mfem.org/publications/

Rationale for inclusion
A reader of this page is likely to want to know what MFEM can be used for, and in particular if it is applicable to problems they may care about. While far from exhaustive, this list gives at least some idea of the breadth of applications covered by the software.

Alternatives
If the specific references are objectionable they could be replaced with other ones from the publication list above that independent from the MFEM team and LLNL.

Some of the features of MFEM include


 * Arbitrary high order finite elements with curved boundaries.
 * H1, H(curl) and H(div) conforming, discontinuous (L2), and NURBS finite element spaces.
 * Local mesh refinement, both conforming (simplex meshes) and non-conforming (quadrilateral/hexahedral meshes).
 * Highly scalable MPI-based parallelism and GPU acceleration.
 * Wide variety of finite element discretization approaches, including Galerkin, discontinuous Galerkin, mixed, high-order and isogeometric analysis methods.
 * Tight integration with the Hypre parallel linear algebra library.
 * Many built-in solvers and interfaces to external libraries such as PETSc, SuiteSparse, Gmsh, etc.
 * Accurate and flexible visualization with VisIt and ParaView.
 * Lightweight design and conservative use of C++ templating.
 * Documentation in the form of examples and mini-applications.

Supporting Evidence

 * These are all technical statements, directly verifiable in the MFEM source code: https://github.com/mfem/mfem/.
 * They are all covered in different combinations in the peer-reviewed publications listed at https://scholar.google.com/scholar?scisbd=2&q=%22mfem.org%22&hl=en&as_sdt=0,5, see also https://mfem.org/publications/
 * For example, "Local mesh refinement, both conforming (simplex meshes) and non-conforming (quadrilateral/hexahedral meshes)." is verifiable by the 8 examples and miniapps that use it: https://mfem.org/examples/?amr as well as by peer-reviewed publications such as https://epubs.siam.org/doi/abs/10.1137/18M1193992 and pre-prints such as https://arxiv.org/pdf/2001.04524.pdf.
 * For "Documentation in the form of examples and mini-applications." see https://mfem.org/examples/

Rationale for inclusion
Some of the readers of this page are likely users of or experts in finite element methods. For such readers, the above list is a meaningful summary of a relatively complex piece of software in terms that make mathematical and practical sense. Readers can use this list, for example, to determine if MFEM is the right tool for their project or to compare it with other tools they are considering.

Alternatives
If the references are objectionable, they can be removed. The wording of each bullet can probably be improved, for example it could be clarified that "Highly scalable" means scalable to hundreds of thousands of MPI tasks, and "Accurate visualization" means visualization that correctly represents high-order meshes and fields (as opposed to discretizing them).

Suggestions for new content
This section lists suggestions for new content (as of https://en.wikipedia.org/w/index.php?title=MFEM&oldid=966357362) to improve the content usefulness, completeness, accuracy, neutrality, wording, etc.