SU2
SU2 copied to clipboard
Solid to solid conjugate heat transfer
Proposed Changes
Allow for conjugate heat transfer between solid domains and the modeling of contact resistance.
Related Work
PR Checklist
Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.
- [ ] Configuration option for contact resistance at interfaces.
- [ ] Communicate contact resistance values between config and CInterface.
- [ ] Test grid independence of contact resistance model.
- [ ] Test case with both solid-solid and solid-fluid.
- [ ] Add test case to regression tests.
- [ ] Update documentation.
- [X] I am submitting my contribution to the develop branch.
- [X] My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
- [X] My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
- [X] I used the pre-commit hook to prevent dirty commits and used
pre-commit run --all
to format old commits. - [ ] I have added a test case that demonstrates my contribution, if necessary.
- [ ] I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.
I get the idea but from the numerical standpoint this is an even worse idea than the way we do fluid-fluid interfaces. Additive decomposition of elliptic equations is not effective at all. Are you looking to model contact between multiple solid materials?
Yes, I'm looking to model the transfer of heat between multiple solid zones with different thermal properties. Eventually I'd like to model contact resistance of such interfaces as well, where the user could specify the contact resistance value of each solid-to-solid interface. This is something that me and Praharsh will be working on.
Okay, then allow me to save you guys some time, implement something similar to what we use for the FEA solver.
See the use of element_properties
in CFEASolver.cpp.
Okay, then allow me to save you guys some time, implement something similar to what we use for the FEA solver. See the use of
element_properties
in CFEASolver.cpp.
Thanks for the suggestion! We'll have a look.
Good job @EvertBunschoten. If you want we can schedule a call together and plan the development a bit.
Was able to run a case with fluid and two solids with contact resistance between the solid domains. By setting a non-zero contact resistance between the solid domains there appears a temperature discontinuity between the solids, but by setting the contact resistance value to zero on the fluid-to-solid interfaces, the temperature trends are continuous. Further testing still required on more complicated cases, but the core functionality seems to work so far.
I get the idea but from the numerical standpoint this is an even worse idea than the way we do fluid-fluid interfaces. Additive decomposition of elliptic equations is not effective at all. Are you looking to model contact between multiple solid materials?
Hi Pedro. What do you mean by additive decomposition? And what do you mean by "effective" in this context? In terms of stability, the model converges rapidly, even when initializing one zone at a temperature far above that of the neighboring zone.
https://en.wikipedia.org/wiki/Additive_Schwarz_method How large are the meshes in your examples? I expect convergence will slow down as you go to bigger problems.
You had I comment but I don't see it here. In any case, it's the total time to solution (same residual drop) that I expect will get worse. At constant CFL.
You had I comment but I don't see it here. In any case, it's the total time to solution (same residual drop) that I expect will get worse. At constant CFL.
Sorry for replying so late, I had to put this project on the back burner for a bit. I made a mistake in my previous analysis, which is why I removed the message. I now ran five simulations with only solid to solid CHT heat transfer with contact resistance. With each simulation I quadrupled the number of mesh elements and ran with a constant CFL.
The number of iterations required until convergence seems to scale linearly with the number of elements. However, this was not the case for total simulation time, which scales quadratically.
@EvertBunschoten even if the performance isn't great this is a pretty small change so I think we can merge it. Do you have time to wrap it up and add a simple regression test?
@EvertBunschoten even if the performance isn't great this is a pretty small change so I think we can merge it. Do you have time to wrap it up and add a simple regression test?
I just added a test case and tutorial under the TestCases and Tutorials repo under the same branch name. I'm also writing a short tutorial on the SU2 website repo.