serac
serac copied to clipboard
Improve documentation for ::serac::mesh::refineAndDistribute() method
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.