CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > SU2

Dynamic FSI with SU2 Compressible Solver and SU2 FEM Solver Diverges when restarted

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 7, 2021, 12:35
Default Dynamic FSI with SU2 Compressible Solver and SU2 FEM Solver Diverges when restarted
  #1
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
Hello,
I am on SU2 v7.1.1. I have a steady flow solution over a rigid structure. What I aim to do now is see response of the structure with this steady flow load as the initial condition. So I used the following option in the fluid config file, with two copies of the steady flow solution as I am using 2nd order dual time-stepping


Code:
RESTART_SOL = YES
RESTART_ITER = 2
I didn't use this option in the structure config file. But the solution diverges after exactly two time-steps, irrespective of what time-step size I used. The solution doesn't diverge if I don't restart. Kindly suggest on what I could be going wrong.


My config files and mesh files are in the google drive link.
https://drive.google.com/drive/folde...NE?usp=sharing



My FSI master config is

Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SU2 configuration file                                                       %
% Case description: FSI: Vertical Cantilever in Channel                        %
% Author: Ruben Sanchez Fernandez                                              %
% Institution: TU Kaiserslautern                                               %
% Date: 2020-02-05                                                             %
% File Version 7.0.2 "Blackbird"                                               %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%
% SOLVER TYPE
%%%%%%%%%%%%%%%%%%%%%%%

SOLVER = MULTIPHYSICS

%%%%%%%%%%%%%%%%%%%%%%%
% INPUT
%%%%%%%%%%%%%%%%%%%%%%%

MULTIZONE_MESH = NO
CONFIG_LIST = (flowSST.cfg, ramp.cfg)

%%%%%%%%%%%%%%%%%%%%%%%
% UNSTEADY
%%%%%%%%%%%%%%%%%%%%%%%

TIME_DOMAIN = YES
TIME_ITER = 100
TIME_STEP = 1e-08
MAX_TIME= 10

%%%%%%%%%%%%%%%%%%%%%%%
% SOLUTION STRATEGY
%%%%%%%%%%%%%%%%%%%%%%%

MULTIZONE_SOLVER = BLOCK_GAUSS_SEIDEL
OUTER_ITER = 1000

%%%%%%%%%%%%%%%%%%%%%%%
% CONVERGENCE CRITERIA
%%%%%%%%%%%%%%%%%%%%%%%

CONV_FIELD = BGS_DENSITY[0], AVG_BGS_RES[1]
CONV_RESIDUAL_MINVAL = -8

%%%%%%%%%%%%%%%%%%%%%%%
% Relaxation
%%%%%%%%%%%%%%%%%%%%%%%
BGS_RELAXATION= FIXED_PARAMETER
STAT_RELAX_PARAMETER= 0.8

%%%%%%%%%%%%%%%%%%%%%%%
% COUPLING CONDITIONS
%%%%%%%%%%%%%%%%%%%%%%%

MARKER_ZONE_INTERFACE = (RAMP, UPPER_EDGE)

%%%%%%%%%%%%%%%%%%%%%%%
% OUTPUT
%%%%%%%%%%%%%%%%%%%%%%%

SCREEN_OUTPUT = (OUTER_ITER, BGS_DENSITY[0], AVG_BGS_RES[1], DEFORM_MIN_VOLUME[0], DEFORM_ITER[0])
WRT_ZONE_CONV = YES

OUTPUT_FILES = (RESTART, PARAVIEW, SURFACE_PARAVIEW, SURFACE_CSV)

% Writing frequency for volume/surface output
OUTPUT_WRT_FREQ= 50

% Writing frequency for screen output
SCREEN_WRT_FREQ_INNER= 1

SOLUTION_FILENAME = solution_fsi
RESTART_FILENAME = restart_fsi
VOLUME_FILENAME = fsi

HISTORY_OUTPUT = (ITER, BGS_RES[0], AERO_COEFF[0], BGS_RES[1])

WRT_ZONE_HIST = YES
CONV_FILENAME= history
My flow config is


Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                              %
% SU2 configuration file                                                       %
% Case description: Supersonic flow over a wedge in a channel.                 %
% Author: Thomas D. Economon                                                   %
% Institution: Stanford University                                             %
% Date: 2012.10.07                                                             %
% File Version 5.0.0 "Raven"                                                   %
%                                                                              %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------%
%
% Physical governing equations (EULER, NAVIER_STOKES,
%                               WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY,
%                               POISSON_EQUATION)
SOLVER= RANS
%
% If Navier-Stokes, kind of turbulent model (NONE, SA)
KIND_TURB_MODEL= SST
%
% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT)
MATH_PROBLEM= DIRECT
%
% ------------------------- UNSTEADY SIMULATION -------------------------------%
%
% Numerical Method for Unsteady simulation(NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL)
TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER
%
% Unsteady Courant-Friedrichs-Lewy number of the finest grid
UNST_CFL_NUMBER= 0
%
% Number of internal iterations (dual time method)
INNER_ITER= 100
%
% Restart after the transient phase has passed
RESTART_SOL = YES
%
% Specify unsteady restart iter
RESTART_ITER = 2
%
% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------%
%
% Mach number (non-dimensional, based on the free-stream values)
MACH_NUMBER= 2.9
%
% Angle of attack (degrees)
AOA= 0.0
%
% Side-slip angle (degrees)
SIDESLIP_ANGLE= 0.0
%
% Free-stream temperature (288.15 K by default)
FREESTREAM_TEMPERATURE= 108.873974645787
%
% Reynolds number (non-dimensional, based on the free-stream values)
REYNOLDS_NUMBER= 122000
%
% Reynolds length (in meters)
REYNOLDS_LENGTH= 3.409e-03
% ---------------------- REFERENCE VALUE DEFINITION ---------------------------%
%
% Reference origin for moment computation
REF_ORIGIN_MOMENT_X = 0.0
REF_ORIGIN_MOMENT_Y = 0.00
REF_ORIGIN_MOMENT_Z = 0.00
%
% Reference length for pitching, rolling, and yawing non-dimensional moment
REF_LENGTH= 1.0
%
% Reference area for force coefficients (0 implies automatic calculation)
REF_AREA= 1.0

% -------------------- BOUNDARY CONDITION DEFINITION --------------------------%
%
% Navier-Stokes wall boundary marker(s) (NONE = no marker)
MARKER_HEATFLUX= ( WALL1, 0.0, RAMP, 0.0, WALL2, 0.0 )
%
% Supersonic inlet boundary marker(s) (NONE = no marker) 
% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, 
%           velocity_y, velocity_z, ... ), i.e. all variables specified.
MARKER_SUPERSONIC_INLET= ( INLET, 108.873974645787, 13429.7313310374, 606.547759815016, 0.0, 0.0 )
%
% Outlet boundary marker(s) (NONE = no marker)
% Format: ( outlet marker, back pressure (static), ... )
MARKER_OUTLET= ( OUTLET, 1000, UPPER, 1000)

MARKER_SYM= ( SYM_PLANE )
%
% Marker(s) of the surface to be plotted or designed
MARKER_PLOTTING= ( WALL1, RAMP, WALL2 )
%
% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated
MARKER_MONITORING= ( WALL1, RAMP, WALL2 )

% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------%
%
% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, 
%                                         WEIGHTED_LEAST_SQUARES)
NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES
%
% Courant-Friedrichs-Lewy condition of the finest grid
CFL_NUMBER= 1
%
% Adaptive CFL number (NO, YES)
CFL_ADAPT= NO
%
% Parameters of the adaptive CFL number (factor down, factor up, CFL min value,
%                                        CFL max value )
CFL_ADAPT_PARAM= ( 0.5, 1.5, 0.01, 1000 )
%
% Runge-Kutta alpha coefficients
RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 )
%
%
% Linear solver for the implicit formulation (BCGSTAB, FGMRES)
LINEAR_SOLVER= FGMRES
%
% Preconditioner of the Krylov linear solver (ILU, JACOBI, LINELET, LU_SGS)
LINEAR_SOLVER_PREC= ILU
%
% Min error of the linear solver for the implicit formulation
LINEAR_SOLVER_ERROR= 1E-6
%
% Max number of iterations of the linear solver for the implicit formulation
LINEAR_SOLVER_ITER= 20

% -------------------------- MULTIGRID PARAMETERS -----------------------------%
%
% Multi-Grid Levels (0 = no multi-grid)
MGLEVEL= 4
%
% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE)
MGCYCLE= W_CYCLE
%
% Multi-grid pre-smoothing level
MG_PRE_SMOOTH= ( 1, 1, 1, 1 )
%
% Multi-grid post-smoothing level
MG_POST_SMOOTH= ( 0, 0, 0, 0 )
%
% Jacobi implicit smoothing of the correction
MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 )
%
% Damping factor for the residual restriction
MG_DAMP_RESTRICTION= 0.75
%
% Damping factor for the correction prolongation
MG_DAMP_PROLONGATION= 0.75

% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------%
%
% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC,
%                              TURKEL_PREC, MSW)
CONV_NUM_METHOD_FLOW= JST
%
% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations.
%           Required for 2nd order upwind schemes (NO, YES)
MUSCL_FLOW= YES
%
% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG,
%                BARTH_JESPERSEN, VAN_ALBADA_EDGE)
SLOPE_LIMITER_FLOW= NONE
%
% Coefficient for the limiter (smooth regions)
VENKAT_LIMITER_COEFF= 0.02
%
% 2nd and 4th order artificial dissipation coefficients
JST_SENSOR_COEFF= ( 0.5, 0.02 )
%
% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT)
TIME_DISCRE_FLOW= EULER_IMPLICIT

% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------%
%
% Convective numerical method (SCALAR_UPWIND)
CONV_NUM_METHOD_TURB= SCALAR_UPWIND
%
% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations.
%           Required for 2nd order upwind schemes (NO, YES)
MUSCL_TURB= NO
%
% Slope limiter (VENKATAKRISHNAN, MINMOD)
SLOPE_LIMITER_TURB= VENKATAKRISHNAN
%
% Time discretization (EULER_IMPLICIT)
TIME_DISCRE_TURB= EULER_IMPLICIT

%%%%%%%%%%%%%%%%%%%%%%%
% COUPLING CONDITIONS
%%%%%%%%%%%%%%%%%%%%%%%

MARKER_FLUID_LOAD = ( RAMP )

DEFORM_MESH = YES
MARKER_DEFORM_MESH = ( RAMP )

DEFORM_STIFFNESS_TYPE = WALL_DISTANCE
DEFORM_LINEAR_SOLVER = CONJUGATE_GRADIENT
DEFORM_LINEAR_SOLVER_PREC = ILU
DEFORM_LINEAR_SOLVER_ERROR = 1E-10
DEFORM_LINEAR_SOLVER_ITER = 1000
DEFORM_CONSOLE_OUTPUT = NO

% --------------------------- CONVERGENCE PARAMETERS --------------------------%
%
% Convergence criteria (CAUCHY, RESIDUAL)
CONV_FIELD= RMS_DENSITY
%
% Min value of the residual (log10 of the residual)
CONV_RESIDUAL_MINVAL= -6
%
% Start convergence criteria at iteration number
CONV_STARTITER= 10
%
% Number of elements to apply the criteria
CONV_CAUCHY_ELEMS= 100
%
% Epsilon to control the series convergence
CONV_CAUCHY_EPS= 1E-10
%
% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%
%
% Mesh input file
MESH_FILENAME= Ramp8_Fine.cgns
%
% Mesh input file format (SU2, CGNS, NETCDF_ASCII)
MESH_FORMAT= CGNS
%
% Writing frequency for history output
HISTORY_WRT_FREQ_INNER= 1
%
HISTORY_WRT_FREQ_OUTER= 1
%
HISTORY_WRT_FREQ_TIME= 1
%
% Volume output fields/groups (use 'SU2_CFD -d <config_file>' to view list of available fields)
VOLUME_OUTPUT= (COORDINATES, SOLUTION, PRIMITIVE,VORTEX_IDENTIFICATION)
%
% History output groups (use 'SU2_CFD -d <config_file>' to view list of available fields)
HISTORY_OUTPUT= (TIME_DOMAIN,ITER, RMS_RES, AERO_COEFF)
%
% Screen output
SCREEN_OUTPUT=(WALL_TIME,TIME_ITER,CUR_TIME,INNER_ITER,RMS_DENSITY, LIFT, DRAG)
and my structure config is


Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SU2 configuration file                                                       %
% Case description: FSI: Vertical Cantilever in Channel - Structure            %
% Author: Ruben Sanchez Fernandez                                              %
% Institution: TU Kaiserslautern                                               %
% Date: 2020-02-05                                                             %
% File Version 7.0.2 "Blackbird"                                               %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%
% SOLVER TYPE
%%%%%%%%%%%%%%%%%%%%%%%   
          
SOLVER = ELASTICITY

%%%%%%%%%%%%%%%%%%%%%%%
% STRUCTURAL PROPERTIES
%%%%%%%%%%%%%%%%%%%%%%%

GEOMETRIC_CONDITIONS = LARGE_DEFORMATIONS
MATERIAL_MODEL = NEO_HOOKEAN

ELASTICITY_MODULUS = 5.0E08
POISSON_RATIO = 0.37

FORMULATION_ELASTICITY_2D = PLANE_STRESS

%%%%%%%%%%%%%%%%%%%%%%%
% Unsteady
%%%%%%%%%%%%%%%%%%%%%%%

TIME_DISCRE_FEA= NEWMARK_IMPLICIT
% Average acceleration
% Unconditionally stable
NEWMARK_BETA=0.25
NEWMARK_GAMMA=0.5

%%%%%%%%%%%%%%%%%%%%%%%
% INPUT
%%%%%%%%%%%%%%%%%%%%%%%

MESH_FORMAT = SU2
MESH_FILENAME = ramp_finer5.su2

%%%%%%%%%%%%%%%%%%%%%%%
% BOUNDARY CONDITIONS
%%%%%%%%%%%%%%%%%%%%%%%

MARKER_CLAMPED = ( LEFT_EDGE, RIGHT_EDGE )
MARKER_PRESSURE = ( LOWER_EDGE, 0)

%%%%%%%%%%%%%%%%%%%%%%%
% COUPLING CONDITIONS
%%%%%%%%%%%%%%%%%%%%%%%

MARKER_FLUID_LOAD = ( UPPER_EDGE )

%%%%%%%%%%%%%%%%%%%%%%%
% SOLUTION METHOD
%%%%%%%%%%%%%%%%%%%%%%%

NONLINEAR_FEM_SOLUTION_METHOD = NEWTON_RAPHSON
INNER_ITER = 40

%%%%%%%%%%%%%%%%%%%%%%%
% CONVERGENCE CRITERIA
%%%%%%%%%%%%%%%%%%%%%%%

CONV_FIELD = RMS_UTOL, RMS_RTOL, RMS_ETOL
CONV_RESIDUAL_MINVAL = -7

%%%%%%%%%%%%%%%%%%%%%%%
% LINEAR SOLVER
%%%%%%%%%%%%%%%%%%%%%%%

LINEAR_SOLVER = CONJUGATE_GRADIENT
LINEAR_SOLVER_PREC = ILU
LINEAR_SOLVER_ERROR = 1E-10
LINEAR_SOLVER_ITER = 2000

%%%%%%%%%%%%%%%%%%%%%%%
% OUTPUT
%%%%%%%%%%%%%%%%%%%%%%%
% Writing frequency for history output
HISTORY_WRT_FREQ_INNER= 1
%
HISTORY_WRT_FREQ_OUTER= 1
%
HISTORY_WRT_FREQ_TIME= 1

HISTORY_OUTPUT= (ITER, LINSOL,RMS_RES,REL_RMS_RES)

SCREEN_OUTPUT = (INNER_ITER,LINSOL_ITER,LINSOL_RESIDUAL, LOAD_INCREMENT, RMS_DISP_X, RMS_DISP_Y,REL_RMS_UTOL,REL_RMS_RTOL,REL_RMS_ETOL, VMS)

Last edited by sangeet; May 7, 2021 at 17:04. Reason: Changed a mistake in the flow config file
sangeet is offline   Reply With Quote

Old   May 8, 2021, 11:12
Default
  #2
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
Update:
I thought the structural side might be having problems because fluid is starting from the 2nd time iteration whereas the structure is starting from the first. So, I ran the FEM solver separately for one iteration and generated an ASCII restart file, where I manually set all displacements and stress to 0. I used this as the restart file, with the following options in the structural config file.


Code:
READ_BINARY_RESTART= NO

% Restart after the transient phase has passed
RESTART_SOL = YES
%
% Specify unsteady restart iter
RESTART_ITER = 2
There was no change and the run still diverged after 2 time iterations.
sangeet is offline   Reply With Quote

Old   May 8, 2021, 12:16
Default
  #3
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
I had missed specifying the density in the structural config file. Adding that did not affect anything.


The config files have been updated in the google drive link.
sangeet is offline   Reply With Quote

Old   May 9, 2021, 11:20
Default
  #4
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
Hello,
I think I have identified the issue, the case runs with 1st order dual time-stepping but not with 2nd order dual time-stepping. So, this issue seems to be a bug with 2nd order dual time-stepping.


If this is an incorrect conclusion and there something else is wrong in my case which is resulting in 2nd order dual time-stepping not working, then kindly let me know.


Thank you
sangeet is offline   Reply With Quote

Old   May 12, 2021, 03:47
Default
  #5
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
Hello,
I have encountered another strange phenomena. I ran the case for 1900 time steps and then when I try to restart from this, the case diverges without any iterations.
sangeet is offline   Reply With Quote

Old   May 12, 2021, 04:00
Default
  #6
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
I have also opened an issue on github.


https://github.com/su2code/SU2/issues/1287

Last edited by sangeet; May 12, 2021 at 13:00.
sangeet is offline   Reply With Quote

Old   August 2, 2022, 13:52
Default
  #7
gtc
New Member
 
Join Date: Jul 2022
Posts: 9
Rep Power: 4
gtc is on a distinguished road
Hello, so lucky am i to find this thread. Have you solved the problem? Could you share the executable codes? And are you focused on using SU2 to solve thedynamic FSI for compressible problems, i am looking forward to hearing from you about the reference or numercial comparasion for this example? More grateful if you could share any other examples that you have tried.
gtc is offline   Reply With Quote

Old   August 3, 2022, 02:54
Default
  #8
Member
 
Sangeet
Join Date: Jun 2017
Location: India
Posts: 43
Rep Power: 9
sangeet is on a distinguished road
Quote:
Originally Posted by gtc View Post
Hello, so lucky am i to find this thread. Have you solved the problem? Could you share the executable codes? And are you focused on using SU2 to solve thedynamic FSI for compressible problems, i am looking forward to hearing from you about the reference or numercial comparasion for this example? More grateful if you could share any other examples that you have tried.
Hi gtc,
The bug has been fixed. The issue is no longer present in subsequent releases. You can also see that it has been fixed if you go to the github issue that I linked in my previous comment.

This work was a part of the research I did a year ago in supersonic aeroelasticity. The associated paper is here.

Thanks
sangeet is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Static FSI with Compressible Flow (SU2 7.1.1) sangeet SU2 3 April 4, 2021 17:28
Help wanted on SU2 Unsteady FSI lalatuobu SU2 0 June 30, 2020 04:51
Compressible solver in SU2? Vino SU2 1 November 26, 2014 21:02


All times are GMT -4. The time now is 12:12.