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

Heat flux in axisymmetric simulations #2438

Open
Hanquist opened this issue Jan 29, 2025 · 6 comments
Open

Heat flux in axisymmetric simulations #2438

Hanquist opened this issue Jan 29, 2025 · 6 comments
Labels

Comments

@Hanquist
Copy link

When running axisymmetric simulations, we get poor heat flux predictions (and trends) near the leading edge:

Image

Zoomed in:

Image

The symmetric (analogous to an infinite cylinder) shows the correct trend where the surface heating is highest at the stagnation point (x = 0). The axisymmetric case (analogous to a hemisphere) shows a significant decrease in heating at this stagnation region.

If you look at the flow field below where y>0 is the symmetric case (infinite cylinder) and y<0 is the axisymmetric case, you will oberve that there is too much thermal diffusion near the symmetry line. Note that these are two different simulations and I mirrored the axisymmetric case so we can see them on the same figure. This thicker "thermal boundary layer" is not physical and creates the smaller heat flux value and poor trend seen above:

Image

Discussing with @bigfooted and @pcarruscag, we think it may have to do with the axisymmetric source terms. Interestingly enough we do not see this artifact when running NEMO simulations so it is handled better there. @WallyMaier @jtneedels @CatarinaGarbacz do you recall doing anything special in the NEMO implementation of axisymmetric source terms?

@Hanquist Hanquist added the bug label Jan 29, 2025
@bigfooted
Copy link
Contributor

were there experiments or simulations from other codes for this or a similar testcase?

@pcarruscag
Copy link
Member

@Hanquist please upload any SU2 files that can be used to replicate the results.

@Hanquist
Copy link
Author

Hi @bigfooted, these run conditions are arbitrary (Mach ~6 at 25 km altitude). We have gotten good agreement with experimental data for the Standard SU2 solver for full 3D shapes (see Figs. 18 and 19 here: https://arc.aiaa.org/doi/epdf/10.2514/6.2025-2769) and good agreement with experiments/other codes for axisymmetric NEMO (see Figs. 9 and 10 here: https://arc.aiaa.org/doi/epdf/10.2514/6.2022-1636). After we get this sorted out, we can add a tutorial/testcase for aerodynamic heating.

Hi @pcarruscag, we are attaching the mesh and cfg files. This is a coarse mesh but I would still not expect to see the trends shown above. The only difference in the cases above is:

AXISYMMETRIC= YES/NO

AeroHeatingAxiBug.zip

@CatarinaGarbacz
Copy link
Contributor

@Hanquist I'm not aware of the details for axisymmetric source terms, it would probably be worth looking into it if NEMO looks ok

@bigfooted
Copy link
Contributor

bigfooted commented Jan 31, 2025

From the book of Hoffmann and Chiang, vol II:

Image

Image

@Hanquist
Copy link
Author

Hanquist commented Feb 9, 2025

The only difference I notice between how NEMO handles the axisymmetric formulation and the standard solver is how they handle the singularity at the symmetry line:

NEMO (nemo_sources.cpp):

 if (Coord_i[1]!= 0.0) yinv = 1.0/Coord_i[1];
 else yinv = 0.0;

then the jacobians is a multiple of yinv. For example:

jacobian[iVar][jVar] *= yinv*Volume;

Standard solver (flow_sources.cpp):

 if (Coord_i[1] > EPS)
...
else {

    for (iVar=0; iVar < nVar; iVar++)
      residual[iVar] = 0.0;

    if (implicit) {
      for (iVar=0; iVar < nVar; iVar++) {
        for (jVar=0; jVar < nVar; jVar++)
          jacobian[iVar][jVar] = 0.0;
      }
    }

Since EPS is pretty small, I would expect these to be consistent with each other, unless more than the symmetry line is being captured by this. I don't think this is the reason for us because we are still using a course mesh. But I could see both of these formulations being a challenge if for some crazy reason someone did an axisymmetric flow not in the tradiational horizontal plane.

As I write this, I also see a potential difference in thermal conductivity:

NEMO:

const su2double heat_capacity_cp_i = V_i[RHOCVTR_INDEX]/rho + Ru/Mass;

Standard:

Thermal_Conductivity_i = V_i[nDim+6];

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants