-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
function template documentation #42
Comments
Addresses issues raised in #41. |
I like what you've put above. I think it continues enhancing the philosopy of templates. Could you have a look at the tutorial branch? I wonder if this is an alternative or a stepping stone to what you have above? My limited programming/software design experience leaves me feeling that what I've put on the tutorial branch is more like what folks would write when solving a mesoscale modeling problem. There are other things I would do in the long term like scan a file for input parameters, etc. But this was my natural response to the MMSP library. What do you think? |
Thanks for the contribution, @lucentdan. Holistically, the code you've posted seems to fit into an "intermediate tutorial" category, where a user somewhere up the MMSP learning curve would create their own main.cpp and start implementing a streamlined mesoscale model without pulling in unnecessary bits of the library. Looking into the code, it is clearly the "first stab" at an iterative process; worth working on, but not yet ready for prime time. I could envision, at some point, giving an MMSP demo (live or on YouTube) with some derivative of this code as the final step, showing essentially the full complexity achievable by stitching together the foregoing baby-steps. If that makes sense... ? My main sticking point is, it's unclear how the soul of this contribution fits into the existing MMSP framework. Is it necessary or useful to create a new top-level directory for tutorials? What sets this apart from the existing grain growth examples? How could it fit into the continuous integration (Travis-CI) regime? Your advanced make usage also makes me wonder about the logical conclusion for "correct" cross-platform builds, using cmake instead of make to streamline installation, testing, coverage checks, compiler variants, etc. It also raises questions about the structure and philosophy of the examples we distribute with MMSP, and issues of example scope creep. Would it make more sense to create a new repository for advanced MMSP examples, or those that break the typical pattern, such as Poisson, convex-splitting Cahn-Hilliard, and this one? What if we moved all the examples into a separate repository? The point is, there are a lot of ways to handle the division between source, documentation, getting-started, and real use cases. We should consider the possibility of deeply refactoring MMSP to make it as clean, easily adoptable, and useful as possible. Bottom line: there are good nuggets here, and I would like to see the second iteration of this advanced example and discuss where you/we can take this from here. Since I can't help but get lost in details, here are some specific complaints and suggestions.
|
For new users, the use of templated functions in example code may be confusing. Document our usage, explaining
example.hpp
filesThe text was updated successfully, but these errors were encountered: