Skip to content

Add annotated MFEM examples#305

Open
thatguynoe wants to merge 22 commits intomasterfrom
tutorial-dev
Open

Add annotated MFEM examples#305
thatguynoe wants to merge 22 commits intomasterfrom
tutorial-dev

Conversation

@thatguynoe
Copy link
Member

@thatguynoe thatguynoe commented Jan 19, 2025

This PR provides annotated versions of examples 1, 2, 3, 6, and 36

This work originated within the Center for Information Geometric Mechanics and Optimization (CIGMO), a PSAAP-IV Focused Investigatory Center supported by the U.S. Department of Energy, National Nuclear Security Administration under Award Number DE-NA0004261.

@thatguynoe thatguynoe self-assigned this Jan 19, 2025
@thatguynoe thatguynoe changed the title add ex36 tutorial Add ex36 tutorial Jan 19, 2025
@thatguynoe
Copy link
Member Author

I'm not sure why my level four subheadings subheadings are not showing up in the table of contents.

@tzanio tzanio mentioned this pull request Feb 3, 2025
15 tasks
@tzanio tzanio mentioned this pull request Oct 6, 2025
17 tasks
@bkhara bkhara self-requested a review October 15, 2025 19:31
@brendankeith brendankeith changed the title Add ex36 tutorial Add annotated MFEM examples (Examples 1,2,3,6,36) Jan 12, 2026
@brendankeith brendankeith changed the title Add annotated MFEM examples (Examples 1,2,3,6,36) Add annotated MFEM examples Jan 12, 2026
@brendankeith brendankeith removed the WIP Work in Progress label Jan 12, 2026
@tzanio
Copy link
Member

tzanio commented Jan 12, 2026

is this ready-for-review?

@brendankeith
Copy link
Member

Hopefully by tomorrow 🤞

cout << "Number of finite element unknowns: "
<< fespace->GetTrueVSize() << endl;
```
Here, the `FiniteElementCollection` corresponds to Nédélec basis functions because Nédélec finite elements have optimal approximation approximation properties in $H(\mathrm{curl})$; i.e., the energy space over which problem (2) is well-defined.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worth mentioning briefly that Nedelec basis functions are vector-valued in contrast to the scalar-valued basis functions used in example 2. Here we have a one-to-one correspondence between DoFs and basis functions whereas in example 2 there are multiple DoFs associated with each basis function to represent different vector components. I'm not sure how best to describe this contrast but I think it is not obvious and should be mentioned.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the following remark:
The Nédélec basis functions are intrinsically vector-valued. In particular, they cannot be constructed as a Cartesian product of a scalar basis, unlike the vector-valued basis used in [Example 2](http://127.0.0.1:8000/annotated/ex2) for linear elasticity. In turn, these basis functions are typically nonzero in all components, and their degree-of-freedom numbering does not represent their active vector components.


Below is the classification of each mesh file used in the sample runs, indicating the dimension, element type, and whether it is conforming or non-conforming:

| Mesh File | Dimension | Element Type | Classification |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was not clear to me what was meant by the "Classification" heading. I assumed you were referring to whether the mesh file was conforming or not because this table purports to describe the mesh files not the computational meshes. Perhaps another column heading could be used to declare the types of AMR that are available through this example (remember the "-nc" flag can override the default for simplex meshes) for each particular mesh.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opted to remove the final column that the student added

@brendankeith
Copy link
Member

Thanks for your comments, @mlstowell and @acfisher!

Please let me know if I missed anything!

@brendankeith
Copy link
Member

@mlstowell please let me know if I've addressed your comments, or if you have any new ones :)

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants