inputs updating { interval = 1000 schedulefile = schedule.dat do schedule = true trigger = ctu do levels = true do maxcells = true do upwind blending min = true } # Specify fluid, LAVA provides a library of fluids fluid { species = air_perfect } # List reference conditions. # Everything in the inputs file is in SI units. # Reference conditions are used as initial conditions # and also for farfield boundary condition # When alpha, beta is specified, the flow is setup in # standard airplane axes, i.e downstream axis is +x # up axis is +z, right wing is +y # Alternatively, you can specify the flow velocities as a vector # Also, instead of pressure, you can specify Reynolds number (as Re=) # Note that Reynolds number would be based on the length scale provided reference conditions { mach = 0.2 Re = 5.9e6 temperature = 288.15 # K alpha = 19.7 # deg beta = 0.00 length = 7.00532 # m area = 191.844778 # Half Sref m2 dx = 16e-3 } time { steady = false initial cfl = 0.5 cfl = 0.95 maxdtgrowthfactor = 1.05 computecflinterval = 10 finish ctu = 30 } solver defaults { explicit { method = ssprk33 } #restart #{ # file = restart/Cart_restartLatest.hdf5 #} } cartesian { navier stokes { viscous = true } convective terms { scheme = hwcns flux order = 4 interp order = 3 central components = [none] upwind blending sensors = [ducros] fluxfunction = keepg hlle limiter = none } turbulence { sgs model = vreman } trip time relaxation = 40. # a factor of dt # trip_1 : Wing Upper Near Root # trip_2 : Wing Upper Near Nacelle Pylon # trip_3 : Wing Upper Near Tip # trip_4 : Nacelle outer circle # trip_5 : Nacelle inner circle # trip_6 : Nacelle pylon # trip_7 : Htail LE upper # trip_8 : Htail LE lower # trip_9 : Vtail LE # trip_10: Fuse nose zplus # trip_11: Fuse nose zminus # trip_12: Fuse nose yplus trip_line_1 {dxscale = 1.;begin = [2.546070E+01, 3.052050E+00, 4.729215E+00];end = [2.618612E+01, 3.971736E+00, 4.802266E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_2 {dxscale = 1.;begin = [3.000402E+01, 8.994870E+00, 5.215469E+00];end = [3.083125E+01, 1.007270E+01, 5.302925E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_3 {dxscale = 1.;begin = [4.507610E+01, 2.900512E+01, 6.720341E+00];end = [4.536383E+01, 2.937944E+01, 6.747311E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_4 {dxscale = 1.;center = [24.861590843432634, 9.803591119112955, 2.3914368745527694];axis = [-0.998535326, -0.030048636, -0.044992013];radius = 1.8;segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_5 {dxscale = 1.;center = [25.215387395427886, 9.781733682555998, 2.4194252651721597];axis = [-0.993729501, 0.022842868, -0.109452649];radius = 1.4;segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_6 {dxscale = 2.;begin = [2.634552E+01, 9.469491E+00, 4.450000E+00];end = [2.633544E+01, 9.758339E+00, 4.450000E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_7 {dxscale = 2.;begin = [5.739016E+01, 1.680946E+00, 6.745135E+00];end = [6.467291E+01, 1.066800E+01, 7.780111E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_8 {dxscale = 2.;begin = [5.734611E+01, 1.690681E+00, 6.252033E+00];end = [6.465877E+01, 1.066800E+01, 7.645515E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_9 {dxscale = 2.;begin = [5.402829E+01, 4.588661E-01, 8.514268E+00];end = [6.378401E+01, 1.260798E-01, 1.842068E+01];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_10 {dxscale = 2.;begin = [2.519835E+00, 0.000000E+00, 5.436731E+00];end = [2.519835E+00, 4.400000E-01, 5.436731E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_11 {dxscale = 2.;begin = [2.519835E+00, 0.000000E+00, 4.627336E+00];end = [2.519835E+00, 4.400000E-01, 4.627336E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} trip_line_12 {dxscale = 2.;begin = [2.519835E+00, 4.400000E-01, 4.627336E+00];end = [2.519835E+00, 4.400000E-01, 5.436731E+00];segmentlength = 2;segmentskip = 3;segmentradius = 0.9;projectionmethod = closest;projectionmaxdistance = 3;} output { outputbufferintervalisos = 10000 outputbufferintervalsurf = 10000 #an example of time averaged outputs #timeaveraging { start ctu = 14; dosurface = true; dovolume = true; doexponentialmovingaverage = true; exponentialmovingaveragewindowctu = 10.0} monitor { reset if missing = true interval = 100 variables = [nt, ctu, dt, maxcfl, maxmach, maxpressure, maxtemperature, minpressure, mintemperature, cl_airplane, cd_airplane, cmy_airplane, blocks_1*, numcel*, wallt, mups, mups_max, mups_long, elapsed, memory_gpu] #blocks-> how many cartesian boxes there are per level } volume { interval = 100000 variables = [q, density, mach, mask, errormetric, ducrossensor] } surface { variables = [q, wallmodel]; interval = 1000 } # cut planes surface probe_1 {cutpoint = [27.81, 0, 0];cutdirection = x;interval = 1000 } surface probe_2 {cutpoint = [30.099, 0, 0];cutdirection = x;interval = 1000 } surface probe_3 {cutpoint = [32.38, 0, 0];cutdirection = x;interval = 1000 } surface probe_4 {cutpoint = [37.72, 0, 0];cutdirection = x;interval = 1000 } surface probe_5 {cutpoint = [44.07, 0, 0];cutdirection = x;interval = 1000 } surface probe_6 {cutpoint = [0, 20.19, 0];cutdirection = y;interval = 1000 } surface probe_7 {cutpoint = [0, 5.08, 0];cutdirection = y;interval = 1000 } #A surface probe_8 {cutpoint = [0, 7.76, 0];cutdirection = y;interval = 1000 } #B surface probe_9 {cutpoint = [0, 10.18, 0];cutdirection = y;interval = 1000 } #C surface probe_10 {cutpoint = [0, 12.6, 0];cutdirection = y;interval = 1000 } #D surface probe_11 {cutpoint = [0, 15.15, 0];cutdirection = y;interval = 1000 } #E surface probe_12 {cutpoint = [0, 17.96, 0];cutdirection = y;interval = 1000 } #F surface probe_13 {cutpoint = [0, 20.76, 0];cutdirection = y;interval = 1000 } #G surface probe_14 {cutpoint = [0, 23.18, 0];cutdirection = y;interval = 1000 } #H surface probe_15 {cutpoint = [0, 26.37, 0];cutdirection = y;interval = 1000 } #I surface probe_16 {cutpoint = [0, 28.92, 0];cutdirection = y;interval = 1000 } #J isosurfaces_1{ point = [0, 7.76, 0]; normal = [0, 1, 0]; format = vtk; interval = 1000; colorfield = errormetric } isosurfaces_2{ point = [0, 7.76, 0]; normal = [0, 1, 0]; format = vtk; interval = 1000; colorfield = densitygradmag } isosurfaces_3{ contour = qcriterion; isovalue = 1e6; format = vtk; interval = 5000; colorfield = umag } # iso-surface of q-criterion colored by velocity magnitude isosurfaces_4{ contour = qcriterion; isovalue = 1e5; format = vtk; interval = 5000; colorfield = umag } # iso-surface of q-criterion colored by velocity magnitude restart { interval = 50000 } flow_stats { } loads { moment center = [33.67786, 0.0, 4.51993] interval = 100 # Provide non-dimensional force and moments normalize = true # Use gauge pressure (p-p_ref) in pressure forces gauge = true group_1 { name = airplane # Which BC zones to include include = [1-28, 30-33] } group_2 { name = wing # Which BC zones to include include = [1-19] } group_3 { name = tail # Which BC zones to include include = [24-28, 30-33] } group_4 { name = wing_fuse # Which BC zones to include include = [1-23] } } } bcs { BC_1{type = wall; kind = [slip, wallstressmodel, blendedlog];components = [1-13, 15-33]; } BC_2{type = wall; kind = [slip, wallstressmodel, wmnoslip]; components = [14]} ibmethod = gcm gcmtype = imagedist domain face type lo = [inlet, wall, inlet] domain face kind lo = [subsonic, slip, subsonic] domain face type hi = [outlet, extrapolation, outlet] domain face kind hi = [subsonic, constant, subsonic] } grid { finest dx = 0.004 # domain min = [-1048.576, 0.0, -524.288] # domain max = [ 1048.576, 1048.576, 524.288] targetfarfielddistance = [1048.576, 1048.576, 524.288] aligndomainfacetoorigin = [none, lo, none] max box size = 8 # domain is partitioned into 8^3 boxes regrid interval = 5000 solution based amr { method = auto max cells = 930000000 # AMR control: limits the number of cells within +/- 5% errormetricgeomdistancescalingreflength = 1.0 errormetrictimemethod = avg # AMR control: use time-averaged error metric for mesh adapation errormetricexponentialmovingaveragewindowctu = 5.0 # AMR control: time scale over which to perform error metric averaging in convective time units (CTU) errormetricstatsinterval = 10 # AMR control: how often to update statistics from instantaneous error metric regridgrowerrormetrictags = 1 # AMR control: pad boxes scheduled to be refined from error metric by 1 to allow for longer intervals between adaption cycles errormetricthresholdratio = 0.5 errormetric_1 { type = smallscaleenergy weight = 1.0 } } component tagging_1 {components = [2, 6, 10, 14, 15, 16, 18];dx = 0.004;type = component } component tagging_2 {components = [1, 3-5, 7-9, 11-13, 17, 19, 22-28, 30-33];dx = 0.008;type = component } component tagging_3 {components = [20-21];dx = 0.016;type = component } } # Components: # F 1: Nacelle_inner #XF 2: Wing_LE_Upper # F 3: Wing_TE_Upper # F 4: Wing_TE_Lower # F 5: Wing_LE_Lower #XF 6: Wing_flap_cove # F 7: Flap_track_fairings_connection # F 8: Flap_track_fairings_back # F 9: Nacelle_TE #XF 10: Nacelle_LE # F 11: Wing_Lower # F 12: Wing_Upper # F 13: Nacelle_outer #XF 14: Slats #XF 15: Flaps #XF 16: Vortex_generator # F 17: Nacelle_pylon #XF 18: Slat_attachments # F 19: Flap_track_fairings_front # M 20: Fuse_fairing # M 21: Fuse_aft # F 22: Fuse_forward # F 23: Fuse_nose # F 24: HTail_TE # F 25: HTail_LE # F 26: HTail_upper # F 27: HTail_lower # F 28: HTail_tip # C 29: Standoff # F 30: VTail_TE # F 31: VTail_LE # F 32: VTail # F 33: VTail_tip geometry { surfaces_1 { file name = 2p4_ONERA_LDG_v28.fro } } }