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
Issues with UnsteadyNSTurb and 21unsteadyNSTurb_RBF tutorial: nut field update and RBF interpolation #547
Comments
For future reference, I looked further into the issue and got good results by addressing:
|
Hi @carpemonf. I am sorry for the late response. From my understanding, you managed to solve the issue right? If this is the case could you please do a PR? |
@giovastabile, the issue has been partially resolved but additional logic and refactoring are needed for a PR. Further work is still needed to make the different combinations of DAEs and RBF interpolation strategies functional. I also wanted to verify that these changes don't disrupt other tutorials that use this class, such the offline stage in I found some other issues, such as missing ROM matrices *.npy files loaded in the notebook, and other minor issues. The offline app and dictionary are configured for 50 modes. I understand that for the comparison with the projection I'm willing to work on these issues and can submit a PR once they're resolved if that would be helpful. |
Sorry, another note for the Thank you. |
Never mind my previous message, this was originated by calculating the modes for a uniform field (nut was constant and not updated over time). I also noticed that the FOM results were not good. It took awhile to figure out but a copy of the U field was used for the PIMPLE solution and then values are not updated back. As a result, the calculation of the turbulence model always uses the initial U and not the calculated one. I fixed that in PR #549 for your consideration. |
The Thanks. |
Hi @giovastabile and contributors,
I've been experimenting with UnsteadyNSTurb and encountered a few issues. While I've managed to resolve some, I wanted to consult with you before diving deeper into the matter.
The 21unsteadyNSTurb_RBF tutorial serves as the reproducible example.
1. The FOM nut field doesn't change over time
I've added the following line for updating
nut
in L166ITHACA_FOMPROBLEMS/UnsteadyNSTurb/UnsteadyNSTurb.C
:+ nut = turbulence->nut());
2. Error when reading the parameters matrix
Reading the parameters from
mu_samples_mat.txt
resulted in missing the last line of the file, leading to a vector size mismatch error.A quick fix commenting out the condition on L139
src/ITHACA_CORE/ITHACAstream/ITHACAstream.C
fixed the issue for this test.3. RBF velocity coefficients interpolation
I got some results with the above changes but they were very bad (FOM up, ROM down).
Are the ReducedUnsteadyNSTurb and UnsteadyNSTurb classes designed to solve the eddy viscosity vector as a function of the velocity coefficients (a and a_dot) as described in Data-driven POD-Galerkin reduced order model for turbulent flows?
It looks to me like an issue or bug around the RBF implementation, which seems to apply velocity coefficients online interpolation on the top of weights obtained from the velocity parameters. Lifting was used for that tutorial, and
interChoice
is 1 by default. So, thetv
variable will end up being the scaled velocity with values of e.g.3.068395784
for a velocity inlet of 1.05, whilevelRBF
is the inlet velocity vector with values of 1.0 and 1.1 for this case. This results in wrong values ofnewtonObjectSUP.gNut(i)
in my view.ReducedUnsteadyNSTurb.C:
UnsteadyNSTurb.C:
I tried the RBF time-parameters implementation and had relatively good results (without extrapolation), but wanted to get this right.
Is there any suggestion or insights you might have?
Thanks!
The text was updated successfully, but these errors were encountered: