Skip to content

SU2_DEF and SU2_DOT_AD not computing results for centrifugal turbomachinery flow scenario #2025

@LorenzoFabris

Description

@LorenzoFabris

BUG DESCRIPTION

Flow scenario

The following 3D-centrifugal impeller was designed and the flow field simulated. The aim was to optimize the blade leading edge with respect to outlet static pressure (please note that the mesh is rotating):

Screenshot (157)

The mesh is deliberately coarse being the intention to firstly perform the simulation utilizing Euler's convective scheme.
Subsequently, the flow field is computed correctly and the solution is converged. The solution was obtained setting up the turbomachinery simulation options available in SU2.

After this initial procedure the FFD Box was successfully generated ( FFD_DEGREE = 2,2,2 ) and attached to the domain as explained in the tutorials ( using SU2_DEF ). The FFD box appears as follows:

FFD box edges: green
FFD box control point: yellow
There is no intersection between FFD edges and periodic boundaries

Screenshot (158)

It was intended to operate each SU2 module manually:

  1. SU2_DEF -> FFD box generation
  2. SU2_CFD -> flow field computation
  3. SU2_CFD_AD -> adjoint solution
  4. SU2_DOT_AD -> gradient calculation
  5. SU2_DEF -> shape deformation

Shape deformation test

Before the actual gradients computation it was preferred to perform a deformation test with the presented settings:

% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------%

DV_KIND= FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT
%
% Marker of the surface in which we are going apply the shape deformation
DV_MARKER= ( BLADE1 )
%
% Parameters of the shape deformation
% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp )
%
DV_PARAM= ( BLADE_BOX, 0, 0, 0, 1.0, 0.0, 0.0 ); ( BLADE_BOX, 0, 1, 0, 0.0, 1.0, 0.0 ); ( BLADE_BOX, 0, 1, 1, 0.0, 1.0, 0.0 ); ( BLADE_BOX, 1, 1, 1, 0.0, 1.0, 0.0 )
%
% New value of the shape deformation
DV_VALUE= 0.02, 0.02, 0.02, 0.02
%
OPT_RELAX_FACTOR = 1.0

Moreover, some surfaces were re-assigned to avoid any plane fixing (that was, intentionally, set as FFD_CONTINUITY = USER _INPUT):

MARKER_SYM = ( HUB, SHROUD, BLADE1, PER1, PER2 )

Results

For any given linear solver deformation and parameter the arbitrary mesh deformation test failed (even after hugely increasing both DV_VALUE and OPT_RELAX_FACTOR to exclude a dimensional issue):

  • FGMRES solved by initial guess.
  • CONJUGATE_GRADIENT reached the convergency conditions but being MAX DIFF. = 0 no deformation was applied to the mesh.

Similarly, SU2_DOT_AD behaved in the same manner even if adjoint solution was tightly converged. To exclude any non-dependency from the objective function, different options were investigated (DRAG, LIFT, SURFACE_MACH, SURFACE_TOTAL_PRESSURE, ENTROPY_GENERATION) and nothing changed.

Moreover, the vaned diffuser scenario (not visualized in here for simplicity) seems to be affected too, even if very similar to basic flow scenarios (basically, it is just an internal 3D-flow over airfoil case). I thought this behavior could be traced to a bug since my previous mesh deformation always proceeded smoothly (from flow past cylinder to other internal flow scenarios), either with arbitrary or gradient based deformation. However, none of these were investigated with turbomachinery settings, which are necessary for this scenario for two main reasons:

  1. post processing parameters computed by SU2
  2. this mesh is part of a turbomachinery multi-block simulation

To reproduce
config.txt -> cfg file
mesh_out.txt -> mesh (FFD box attached)

Thank you in advance for your support and your help which is always appreciated.
Cheers!

Bug report checklist

Desktop (please complete the following information):

  • OS: ubuntu 20.04.4
  • C++ compiler and version: g++ 9.4.0
  • MPI implementation and version: Open MPI 4.1.5
  • SU2 Version: v7.5.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions