-
Notifications
You must be signed in to change notification settings - Fork 847
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
Base class for transported scalars #1330
Conversation
Still WIP but with that in the title the regression status behind each commit is always "unfinished" because WIP-check-bot does that. Now that we have Draft-PR I guess we dont WIP anymore tbh |
It helps me with the manual edit of the release notes, to know what was not merged yet. |
…nto feature_scalarbase
Allowing optimized acces to muT of TurbSolvers. Implementation follows what is done for CFVMFlowSolverBase.
And move current Turb specific impl to CTurbSolver. I.e. each Child of CscalarSolver has to implement its own LoadRestart. One has to make sure the correct Pre/Postprocessign routines are called in there which are consistent with the repective C(Fluid)Iteration.
…ates Code suggestions by pcarruscag Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
To stay consistent with the .hpp. One could also use a more concise <V> as suggested by pcaruscag but I prefer to stay use the same name here.
…nto feature_scalarbase
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work 👍 can't wait to see the crash diet that some solvers are about to go on.
Thanks @pcarruscag for making this PR a lot better. @bigfooted @danielmayer @mheimgartner
Additionally the heat and radiation solver should be ported into this new structure, but that is independent work. |
PR 1330 introduces a general scalar framework that has files with the same name (i.e. CScalarSolver) but that have slightely different scopes. Therefore a renaming of certain current files with the *Legacy addition is done to avoid merge conflicts. Merging #1330 which is already in develop means that we keep up with develop which is wanted. This means we will introduce the 'new' species/scalar solver into feature_flamelet with the old one still present.
The new one is AddClippedSolutionLegacy. I want to keep the two implementation fully seperate for now in order to not introduce some unnecessary bugs as there are no regression tests.
This is again to separate the new(#1330) and old (feature_flamelet) scalar structure. This is just a temporary thing to have a better/cleaner merge. Afterwards it is certainly desirable to remove the Legacy varaibles alltogether.
Additionally, Remove AddClippedSolutionLegacy with newer version. And get rid of ScalarVarLegacy(_Grad)_i,j. All of those were introduced directly prior to the merge in order to make the merge itself have less conflicts. Both, #1330 the new scalar framework and this feature_flamelet impl had the same vars/methods which were similar/identical in use.
Proposed Changes
Hi all,
The general idea for this PR can be cited from @pcarruscag in #1226:
Right now the only things I did were (i.e. don't fear the large diff)
So far it compiled and some local regression testing showed no problems, lets see what the CI pipeline has to say about this
Now with this additional class introduced the actual works begins:
git mv
)In order to keep this somewhat limited I would focus on porting the Turbsolvers to the new structure (however that might look, but looking at #1223 is what I'll do first) and maybe a simple transported passive scalar or so. We want the turb solver to be integrated under that Scalar-class which is arguably what most/all people use, that's why I want to have in this work at the beginning. We also have quite a few RANS Testcases so it is directly visible if something in the actual computation is changed.
In case there are comments, ideas foreseeable stepping stones from experience please let me know here.
Related Work
#777 by @economon which is the initial push towards this separate scalar solver class for additionally transported scalars (not merged)
#1223 by @danielmayer @bigfooted which builds up on #777 and extends it to its needs (but does not support the turb solvers e.g.)
#1226 by @oleburghardt - In this PR is a discussion on creating the structure which this (and following) PR('s) try to achieve
#1332 by @mheimgartner - implementing multi component flow (or analytic mixing properties of said multicomp flow). That PR is built upon #1223 but will merge this PR (once it is done) and throw out all additional changes in order to be merged into develop without relying on feature_flamelet
PR Checklist