lucasmyers97 / maier-saupe-lc-hydrodynamics

Work at University of Minnesota using finite element methods to simulate hydrodynamics of liquid crystals with a Maier-Saupe field theory free energy
4 stars 0 forks source link

Switch simulation parameters from `Boost::program_options` to `dealii::ParameterHandler` #21

Closed lucasmyers97 closed 2 years ago

lucasmyers97 commented 2 years ago

Want to switch from handling simulation parameters with the Boost::program_options package which are passed in via the command line to the dealii::ParameterHandler class. The reasoning for this is manifold: firstly, running a program a bunch of times is a pain when you have to type in a bunch of parameter values that are not default -- this is made much easier if you just have a file which holds all the parameters. Along those same lines, it's easier to remember exactly which parameters should have which values for a particular simulation by just making different parameter files. Additionally, it's extremely simple to print out a file which holds all of the parameter values used in a simulation. We may include these alongside the .vtu files (or maybe within if I can ever figure out how to write metadata) to make sure we know exactly how to reproduce the results. Finally, the use and documentation is just nicer and smoother: it's easy to break up parameters into subsections, the syntax for declaring parameters is more intuitive, setting parameters programmatically is very easy, declaring vectors is much more straightforward, etc.

This would be a good thing to do, it's just going to take some time so I will not do it right now.

lucasmyers97 commented 2 years ago

Did this with this pull request. Continuing to do it on all future simulations. May need to restructure in the future to better reflect the kinds of objects (and also some of the runtime polymorphism), but I'll close this for now.