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
Move (Derivative)ParsedMaterial into framework #5039
Comments
Sigh. It's hard to argue against the utility. But the "abuse" is going to be rampant. People will shoehorn entire applications into ParsedMaterials just to avoid using our "lovingly crafted" C++ ;-) I honestly don't know what to do here. It's one of those situations where this is obviously cool... and possibly able to destroy everything. I'll wait to hear from @permcody |
I'm willing to give this a shot. We'll avoid using it in our examples and tutorials for the time being and keep people away from the dark side but it is very useful. We can always put out guidelines for people on what tools they should use for what purposes. |
Just today I was wondering why (Derivative)ParsedMaterial is in a module instead of the framework. I'm glad I checked here. I have a whole set of fuel salts, each of whose material properties (conductivity, density, heat capacity, etc.) are slightly different functions of temperature. Instead of hard-coding twenty different materials, ParsedMaterial seems like the way to go. So now I'm including the |
Yeah, let me prepare a PR and we can discuss this further. |
There is nothing that makes these materials specific to the phase_field module.
ParsedMaterial
can be used in many applications to generate material properties that are functions of non-linear variables. The autodiffedDeriviativeParsedMaterial
does not necessarily have to represent a free energy either. @tonkmrThe Doxygen pages for the classes in question are
Note that there are a few parent classes that would have to be moved as well (
DerivativeMaterialInterface
andDerivativeMaterialPropertyNameInterface
are already located in framework).The text was updated successfully, but these errors were encountered: