grinsfem / grins

Multiphysics Finite Element package built on libMesh
http://grinsfem.github.io
Other
47 stars 39 forks source link

Investigate libMesh command line parsing and GetPot UFO interaction #608

Open pbauman opened 3 years ago

pbauman commented 3 years ago

This came up in #607 in the context of wanting to use --n_threads (that libMesh uses). The issue is that libMeshInit creates its own GetPot parser and so the one GRINS uses doesn't see that the --n_threads (or any of the other options accessed by libMeshInit) are actually access so we fail with a UFO error. However, libMesh has many different options in different places. Where are they all? By the time we've set everything up, have we captured everything else except for what is in libMeshInit or are there other places? What's going to be a workable solution?

roystgnr commented 3 years ago

We could try to make sure that every libMesh CLI option gets queried from within the LibMeshInit constructor, and then see about merging the list of recorded queries there into the GRINS parser. I'm not sure how we enforce that, though. We can't disallow subsequent queries to the libMesh CLI APIs, because we expect those methods to be callable from user code, not just library code.