Skip to content
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

Axisymmetric problems : Viscous source terms and generalised convective source terms and jacobian #1106

Merged
merged 22 commits into from
Dec 14, 2020

Conversation

FlorianDm
Copy link
Member

Axisymmetric problems : Viscous source terms and generalised convective source terms and jacobian
See #1095

@FlorianDm FlorianDm changed the title Feature axi general viscous Axisymmetric problems : Viscous source terms and generalised convective source terms and jacobian Nov 16, 2020
SU2_CFD/include/variables/CVariable.hpp Outdated Show resolved Hide resolved
SU2_CFD/src/solvers/CSolver.cpp Outdated Show resolved Hide resolved
SU2_CFD/include/variables/CVariable.hpp Outdated Show resolved Hide resolved
@WallyMaier
Copy link
Contributor

WallyMaier commented Nov 20, 2020

@FlorianDm, I was looking through another reference that @jtneedels passed to me. (http://eprints.gla.ac.uk/184394/1/184394.pdf)

If you are still struggling with the extension to RANS: On page 56, the stress terms are altered with a couple of terms. It may help...it may not.

@FlorianDm
Copy link
Member Author

@WallyMaier thank you. Interesting...

  1. This reference reminded me to add the contribution of the turbulence kinetic energy (+2/3 v rho k) in the energy equation source (see page 10 equation 2.30, pdf page 37), so that's done.

  2. This reference will be helpful If I get to do the axysimmetry source terms for k and omega (by comparing equations 2.31 and 2.31 to equations B.2 and B.3) but that will be in a separate PR. In fact I am getting good results for RANS already (although no time for a thorough validation)

  3. In that reference they have also done what I did before and pulled out the primitive derivatives and neglected the viscosity gradient and then came up with the same axisymmetry momentum source terms so that is comforting. However, their energy source terms are different and that made me think. What we have now is according to the first reference, so it should be fine unless there is an error in it. I find it suspicious that both aux derivatives are wrt y and none wrt x given the that we have one wrt x and one wrt y in the momentum equation... Could it be AxiAuxVar_Grad_i[2][0] instead of AxiAuxVar_Grad_i[2][1] ? The impact on results is almost unnoticeable for my case. Otherwise we are done here I think.

@pcarruscag thanks for taking the time to review!

*/
inline su2double GetAuxVar(unsigned long iPoint) const { return AuxVar(iPoint); }
inline su2double GetAuxVar(unsigned long iPoint, unsigned long iVar = 0) const { return AuxVar(iPoint,iVar); }
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice!


if (yCoord > EPS){
su2double nu_v_on_y = Total_Viscosity*yVelocity/yCoord;
nodes->SetAuxVar(iPoint, 0, nu_v_on_y);
Copy link
Contributor

Choose a reason for hiding this comment

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

This is much cleaner...thanks!

@@ -1647,7 +1647,7 @@ void CSolver::GetCommCountAndType(const CConfig* config,
MPI_TYPE = COMM_TYPE_DOUBLE;
break;
case AUXVAR_GRADIENT:
COUNT_PER_POINT = nDim;
COUNT_PER_POINT = nDim*base_nodes->GetnAuxVar();
Copy link
Contributor

Choose a reason for hiding this comment

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

I know see how to do this properly 👍

@jtneedels
Copy link
Contributor

@WallyMaier and I ran some verification cases for axisymmetric verification (see attached slides). Results show good agreement between planar axisymmetric and 3D dimensional results.
AxisymmetricVerification.pptx

@WallyMaier
Copy link
Contributor

Thanks @jtneedels for doing some testing. I think we saw some issues with the aerodynamic coefficient computations...but the pressure distributions looked good. This looks good to me. Ill leave it to @FlorianDm or @pcarruscag to make any final changes or suggestions.

Good work y'all!

Copy link
Contributor

@aeroamit aeroamit left a comment

Choose a reason for hiding this comment

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

@WallyMaier & @FlorianDm , I repeated the heat flux problem, I have posted earlier and seems like issue still persist (I showed earlier that this is not the problem with 2D case with symmetry BC but pops in with axisymmetric case). I am attaching the files here for reference ....
hflux_issue_axi_branch.pdf
heatflux_issue_old.pdf
case_files.zip

Also, let me know if I have missed out anything ......

@WallyMaier
Copy link
Contributor

@aeroamit, interesting...Im think this could possibly be related to the computation of heatflux itself (with regards to the axisymmetric formulation). Judging from @jtneedels results, the Cp distributions look good. It could be the scaling factor applied to the heatflux?

Ill take a look

@aeroamit
Copy link
Contributor

aeroamit commented Dec 8, 2020

I have done some comparison cases for Cp distribution with axisymmetric formulation with older versions, they were matching well with commercial codes (I must say for the specific configurations I simulated, it somehow matched). This issue came into light while trying to obtain heat flux with axisymmetric formulation.
I will also try to run this axisymmetric case with some other code and compare....

@bigfooted
Copy link
Contributor

@aeroamit What does temperature do? Could you compute the heat flux from the temperature in e.g. paraview? Is the root cause the computation of the energy equation or the computation of heat flux?

@WallyMaier
Copy link
Contributor

WallyMaier commented Dec 8, 2020

@aeroamit, I ran the cases you had to take a look. While the residuals were "converged", the solution was not. There was a massive low temperature region along the body that took many more iterations to clean. The maximum Heat Flux was still ~6 w/m**2.

Can you post the reference for the 10.6 value?

@aeroamit
Copy link
Contributor

aeroamit commented Dec 9, 2020

@aeroamit What does temperature do? Could you compute the heat flux from the temperature in e.g. paraview? Is the root cause the computation of the energy equation or the computation of heat flux?

Hi @bigfooted, Temperature boundary condition for wall corresponds to Isothermal wall BC (cold wall condition). This condition is applied to obtain heat flux unlike adiabatic wall (no heat transfer).
The snapshot, I posted from ParaView shows heat flux variation with x. This is obtained directly from surface_flow.vtu. You can simply go to Filters -> Data Analysis -> Plot data and select Points_X for X Array and heat flux in variable. Regarding computing heat flux from temperature field, I am not sure, but ParaView is having calculator utility as well as option to compute gradient of unstructured grid (from there you can obtain temperature gradients in 3 directions).
Coming to last question, root cause of the problem - @WallyMaier has run the case yesterday, we will be posting some details soon.
Best
Amit

Copy link
Contributor

@aeroamit aeroamit left a comment

Choose a reason for hiding this comment

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

Hi @FlorianDm and @WallyMaier, I tried this branch and ran hemisphere (M=5) case as well as one more case. I found pressure distribution to be perfectly all right and matching well with alternate code. I did not observe any issue in the stagnation region for Cp distribution. We are good to go. Thanks for the fixes.. good job..

I am just attaching a file from heat flux computation issue case...
SU2_hflux_issue.pdf

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.

6 participants