% SU2 configuration -- Narwhal v0.1 hull drag, REAL RANS solve (MODE B/C)
% Generated by su2_cfg_template.render_real_rans_cfg() -- NOT the smoke
% placeholder (_SMOKE_CFG_TEMPLATE in gate_su2_drag_q.py is MODE A only).
%
% SOLVER=INC_RANS (incompressible), not compressible RANS -- confirmed on
% box 2026-07-03: at MACH_NUMBER=0.001 (1.5 kt in seawater) the
% density-based compressible RANS solver is numerically stiff/non-physical
% (unpreconditioned low-Mach instability) and produced CD ~74 (two orders
% of magnitude off any plausible slender-body value). Switching to the
% pressure-based INC_RANS solver -- SU2's documented choice for Ma<0.3
% liquid flows -- with the SAME mesh/markers produced CD converging toward
% O(0.1-0.5), the physically correct order of magnitude for this hull.
SOLVER= INC_RANS
KIND_TURB_MODEL= SST
INC_DENSITY_MODEL= CONSTANT
INC_ENERGY_EQUATION= NO
INC_DENSITY_INIT= 1025.0
INC_VELOCITY_INIT= ( 0.771, 0.0, 0.0 )   % 1.5 kt
INC_NONDIM= DIMENSIONAL
VISCOSITY_MODEL= CONSTANT_VISCOSITY
MU_CONSTANT= 0.00108
REYNOLDS_NUMBER= 1900000.0
REYNOLDS_LENGTH= 2.582
REF_AREA= 0.08237
REF_LENGTH= 2.582
REF_ORIGIN_MOMENT_X= 1.291
REF_ORIGIN_MOMENT_Y= 0.0
REF_ORIGIN_MOMENT_Z= 0.0
MARKER_HEATFLUX= ( hull, 0.0 )
MARKER_FAR= ( farfield )
MARKER_MONITORING= ( hull )
MESH_FORMAT= SU2
MESH_FILENAME= narwhal_hull.su2
%
% Convective/viscous numerics -- SU2 v8.0.1 "Harrier" REQUIRES these to be
% explicit (no built-in default): a bare config without CONV_NUM_METHOD_FLOW
% aborts at CDriver::InitializeNumerics with "Config file is missing the
% CONV_NUM_METHOD_FLOW option" BEFORE any iteration runs (root cause of the
% honest-RED / empty-history.csv found 2026-07-03 on the real 1.33M-element
% narwhal_hull.su2 run -- NOT a marker-name mismatch, markers already agree
% "hull"/"farfield" in both the mesh and this cfg). FDS is the incompressible
% convective scheme counterpart of the compressible ROE scheme.
% LINEAR_SOLVER_ERROR (not *_ERROR_COEFF -- confirmed via SU2 --help on box).
NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES
CONV_NUM_METHOD_FLOW= FDS
MUSCL_FLOW= YES
SLOPE_LIMITER_FLOW= VENKATAKRISHNAN
TIME_DISCRE_FLOW= EULER_IMPLICIT
CONV_NUM_METHOD_TURB= SCALAR_UPWIND
MUSCL_TURB= NO
SLOPE_LIMITER_TURB= VENKATAKRISHNAN
TIME_DISCRE_TURB= EULER_IMPLICIT
LINEAR_SOLVER= FGMRES
LINEAR_SOLVER_PREC= ILU
LINEAR_SOLVER_ERROR= 0.1
LINEAR_SOLVER_ITER= 10
CFL_NUMBER= 5.0
CFL_ADAPT= YES
CFL_ADAPT_PARAM= ( 0.1, 2.0, 10.0, 1000.0 )
ITER= 250
CONV_FIELD= DRAG
CONV_RESIDUAL_MINVAL= -8
CONV_STARTITER= 10
%
% Output -- MUST produce a parseable history.csv with a "CD" column
% (gate_su2_drag_q.py._su2_cfd_single_mesh() greps this exact column name).
OUTPUT_FILES= ( RESTART, SURFACE_CSV )
OUTPUT_WRT_FREQ= 50
HISTORY_OUTPUT= ( ITER, RMS_RES, AERO_COEFF )
CONV_FILENAME= history
RESTART_FILENAME= restart_flow.dat
TABULAR_FORMAT= CSV
SCREEN_OUTPUT= ( INNER_ITER, RMS_PRESSURE, DRAG, LIFT )
