Improve documentation for ::serac::mesh::refineAndDistribute() method
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 245
- Forks
- 36
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 4
Description
https://github.com/LLNL/serac/blob/a300c9c98c631d5503428aff9f67dbd2cdc0df90/src/serac/mesh/mesh_utils_base.hpp#L221
The meaning of refine_parallel and refine_serial arguments is opaque unless you peek at the implementation. It's the number of calls to mfem's UniformRefinement() which is regrettably also relatively opaque.
I am not really a finite element modeler, nor do I play one on TV. However, it seems like it would be useful to know how the arguments will impact the number of DOFs, elements, vertices, or some mesh size metric rather than how many times UniformRefinement will be called.
For me, I think it would be better to specify a target ratio, double serial_multiplier=1 and double parallel_multiplier=1, where your asking serac to increase the DOF's (or whatever the most important mesh size metric is) by approximately the given number. Default arguments of 1 would mean don't change the mesh. Otherwise, I guess it would keep calling UniformRefinement on the mesh until the size metric of the new mesh is >= serial_multiplier*size of the original mesh.
Alternatively, it would be useful if there was some rule of thumb about how much each type of refinement is likely to increase the size of the mesh. It would be useful to know is each call going to double size or what.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read src/serac/mesh/mesh_utils_base.hpp at refineAndDistribute() and inspect how refine_parallel and refine_serial are passed to MFEM's UniformRefinement(). Document what each argument does and how refinement affects mesh size metrics, or clarify the intended metric and rule of thumb. Done means a user can predict the effect of the arguments without reading the implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100