Skip to content

Conversation

@Bot-Enigma-0
Copy link
Contributor

Proposed Changes

Give a brief overview of your contribution here in a few sentences.
A first order simulation is commonly used as an initial solution when performing a second order (MUSCL) reconstructed simulation. This PR aims to automate this process rather than having to do it manually, saving some time.

Related Work

Resolve any issues (bug fix or feature request), note any related PRs, or mention interactions with the work of others, if any.

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.

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • 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.

Copy link
Contributor

@joshkellyjak joshkellyjak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Would love to see this extended to multizone it would be super useful for turbo optimisation. In this regard maybe it is easier to refactor to run via a call to StartSolver from the higher level driver?

* \return yes/no.
*/
bool GetFirst_Order_Init(void) const { return First_Order_Initialization; }
void SetFirst_Order_Init(bool val_update) { First_Order_Initialization = val_update; }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add similar documentation

/*!
* \brief Perform a first order simulation as an initial solution before running MUSCL reconstructed flow.
*/
void FirstOrderInit();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be expanded to multizone?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Josh, I'm planning on refactoring the logic to the Iteration class then call it in the Solver. Once its running I'll work on the MZ solver.

I also want to look into the idea Tom and Juan mentioned at the conference about progressively ramping up the MUSCL reconstruction which I think can be done by gradually scaling the gradient limiters over some iterations.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good.

For the gradual ramping we have a ramp feature in the turbomachinery world you may find useful for this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #2581

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants