Inputs in grey text are mandatory, but generally
not changed by users
# #
+--------------------------------------------------------+ #
| Input control & steering
file for flowCart | #
| 3D
Cut-Cell Cartesian Flow
Solver
| #
+--------------------------------------------------------+ #
#
NOTE: o Start Comments in this file with the "#" character #
o Blocks can come in any order #
o info within blocks can come in any order #
# o EMACS
USERS: emacs will syntactically highlight
#
this file for you following shell-script-mode rules.
#
to get it to do this automatically, add the following
#
line to your .emacs file.
#
(setq auto-mode-alist
#
(append'(("\\.cntl$" . shell-script-mode) ) auto-mode-alist))
# # #
--------------------------------------------------------------
#
Runge-Kutta Stage Coefficients
# # stageCoef GradEval NOTE:
GradEval = 0 = no new evaluation at this stage, #
-------- -------
GradEval = 1 = Yes, re-evaluate at this stage RK 0.0695
1 # RK
0.1602 0 # RK
0.2898 0 #->to run 1ST ORDER, set
GradEval to "0" in all stages RK
0.5060 0 #->for "ROBUST MODE" set GradEval to "1" in all
stages RK 1.0
0# #You
can use any Runge-Kutta scheme you like
CFL
1.4 # CFL number typically between 0.9 and 1.4,
1.2 good default Limiter
1 # (int) default is 1, organized in
order of increasing
# dissipation.
# Limiter: 0 = no
Limiter
#
1
= Barth-Jespersen
#
2
= van Leer
#
3
= sin limiter
#
4
= van Albada
#
5
= MinMod
# FluxFun
0 # (int) - Flux
Function: 0 = van Leer
#
1
= van Leer-Hanel
#
2
= Colella 1998
#
3
= HLLC (alpha test) Precon
0 # (int) - Preconditioning: 0 = scalar
timestep wallBCtype 0
# Cut-Cell Boundary Condition type 0 = Agglomerated
Normals
#
1
= SubCell Resolution nMGlev
3#
(int) - Number of MultiGrid levels (1 = single grid) MG_cycleType 2 # (int)
- MultiGrid cycletype: 1 = "V-cycle", 2 = "W-cycle"
# 'sawtooth' cycle is: V-cycle with nPre = 1, nPost = 0 MG_nPre
1 # (int) - nunber of pre-smoothing
passes in multigrid MG_nPost
1 # (int) - number of post-smoothing passes
in multigrid
#...Unsteady Run options (all are Optional)
# only active if "-nSteps %d" found on cmd line TD_method
1 # {0,1} = {Bkwrd Euler "BE1", 2ndOrd Bkwrd
"BDF2"} <default=1> TD_dt_phys
0.1 # Non-dimensional physical time step t*=
L_ref/a_infd
$__Boundary_Conditions:
# BC types: 0 = FAR FIELD(Riemann)
#
1 = SYMMETRY
#
2 = INFLOW (specify all)
#
3 = OUTFLOW (simple extrap)
#
18 = SBC_ATMOSPHERE_TOP (Riemann) Dir_Lo_Hi
0 0 0 # (int) {0,1,2}
direction (int) Low BC (int) Hi BC Dir_Lo_Hi
1 0 0 # (int) {0,1,2}
direction (int) Low BC (int) Hi BC Dir_Lo_Hi
2 1 0 # (int) {0,1,2}
direction (int) Low BC (int) Hi BC
#1. Generic INLET/EXHAUST BC specification
( 2004)
# Specify conditions upstream of a "power
face" (jet) # or downstream of a "inlet"
(sink) # Use CompIDs to identify
surfBC faces on the geometry, # use any number of SurfBCs # see AIAA Paper 2004-4837 #
(int) (float) (float) (float) (float) (float) SurfBC 2 2.0 3.0 0. 0. 5.0
# compID Rho
Xvel Yvel
Zvel Press SurfBC3 1.0 0.3 0. 0. 0.714285
# compID Rho
Xvel Yvel
Zvel Press
#
#
2. Inlet boundary conditions ( see AIAA
Paper 2018-0334)
#
(int) (float) InletPressRatioBC
3 1.27 #
InletPressRatioBC %d %f #
compID P/P_inf InletVelocityBC
4 0.73 # InletVelocityBC
%d %f # compID
Vnorm/c_inf # #
3. Nozzle boundary conditions (,
see AIAA
Paper 2018-0334) #
(int)(float)(float)
PowerStagBC 5 1.4
1.1 # PowerStagBC %d %f
%f # compID Pt/Ptinf Tt/Ttinf
PowerStagBC 6 1.6
1.3 # PowerStagBC %d %f %f #
compID Pt/Ptinf Tt/Ttinf PowerMFRBC 7
0.5 1.2 # PowerMFRBC %d %f %f #
compID MFR Tt/Ttinf
$__Convergence_History_reporting: iForce 1
# (int) - Report force & mom. information
every iSkip cycles. iHist
1 # (int) - Update 'history.dat' every iHist
cycles. nOrders
8 # (int) - Num of orders of Magnitude
reduction in residual.
#
#
...PointSensors
for convergence monitoring: these allow
#
"live"
sampling of data at any number of specific locations
#
output
while case is running in"./pointSensor_<Name>.dat" #
pointSensor Name(%s) Xlocation(%g) Ylocation(%g) Zlocation(%g) pointSensor pt0
0.644 0.0717 0.965 # point sensor name x y z
for convrgnce monitor pointSensor pt1
1.1 0.0717 0.965 # point sensor
name x y z for convrgnce monitor $__Partition_Information: nPart
1 # (int) - Number of
SubDomains to partition into: type
1 # (int) - Type of
partitioning: 1 = SpaceFillingCurve $__Post_Processing: #
Extract "slices" (Pretty printed cutting planes) #
...general
format #Xslices
(float) (float) ...(float) -- any number
of locations #Yslices
(float) (float) ...(float) -- any number
of locations #Zslices
(float) (float) ...(float) -- any number
of locations
#
...Example Zslices 0.0001 .30 .65 .97 1.19 1.341.4 # Choose
cut-plane locations
#
...Point and Line Sensors (output at end
#
of
run in "./lineSensor_<Name>.dat"
#
or
in "./pointSensors.dat"
#
NOTE: You can put in any number of line sensors
#lineSensor Name(%s) Xorig(%g) Yorig(%g) Zorig(%g)
Xdest(%g) Ydest(%g) Zdest(%g)
#lineSensor (Name) (float) (float) (float) (float)
(float) (float) lineSensor
LINE1 0. 1.023 0.2331 3.1
1.023 0.2331 lineSensor LINE2
0. 1.023 0.5 3.1 1.023
0.5 #
#
...Equivalent Area line sensor #eaSensor Name(%s) Xorig Yorig Zorig
Xdest Ydest Zdest
Radius
#eaSensor (Name) (float) (float) (float) (float)
(float) (float) (float) eaSensor
EA1 0. 1.023 0.5
3.1
1.023 0.5 3.0 # #pointSensor Name(%s)
Xlocation(%g) Ylocation(%g) Zlocation(%g)
pointSensor point1 -2.1 2.3 4.0
#
...live steering this section is
optional
#
if it exists it
will get re-parsed every
#
iCLfreq
iterations
$__Steering_Information:
#
...Target Lift Coef. Steering #TargetCL
(CL target value) (CL tolerance) (iCLStart iter)
(iCLfrequency)
#
(float)
(float)
(int)
(int) TargetCL 0.2
0.01 60 5 # <- TargetCL TargetValue
tolerance iCLstart iCLfreq
# NominalAlphaStep %f # (OPTIONAL) choose Initial
alpha step, also max step size
NominalAlphaStep 0.2 # (float)
Degrees for delta Alpha, OPTIONAL, default <0.2>
#
#
...MassFlow
Steering(see AIAA
Paper 2018-0334)
#
May be used on compIDs with "InletVelocityBC" #TargetMFR (Comp) (MFR target
value) (tolerance) (start) (freq.) #
(int)
(float)
(float) (int)
(int)
TargetMFR
4
0.90
0.0001
150 20
#
...Mach Number Steering #
May be used on compIDs with "InletVelocityBC" #TargetMach (Comp) (Mach
target) (tolerance) (start) (freq.)
#
(int)
(float) (float)
(int) (int) TargetMach
4
0.45
0.001 450
10
$__Force_Moment_Processing: #
GMP
enabled force reporting
#
requested
loads will be logged to
#
"CompName.dat"
during run, and final loads
#
will
be output in 'loadsCC.dat'
at termination
#
NOTES:
#
o This section uses components defined in Config.xml #
# ... Axis definitions (with respect to body axis directions
(Xb,Yb,Zb)
#
w/
usual stability and control orientation)
# Model_X_axis
-Xb # <<-- model's X axis is in
the (-X) stability axis direction Model_Y_axis
-Zb # see this example for more info Model_Z_axis -Yb
#
...Reference Area and
Length Specifications
#
Component
names and numbers refer to those in
Config.xml #
"all"
and "entire" are special Component names
#
"entire"
= the whole geometry
#
"all"
= each individual named component # Reference_Area (float) compNumberList or
compNameList Reference_Area
1.0 all
# Reference_Length (float) compNumberList or compNameList Reference_Length
1. all
# ... Force and Moment Info (logged to 'CompName.dat'
#
with final summary in 'loadsCC.dat'
)
#
# Force compNumber or compName Force
entire #
compNumber and compNames defined in Config.xml
Force wing
#
...Compute moment of aero loads about
arbitrary point # Moment_Point Xctr(%f) Yctr(%f) Zctr(%f) CompName or
CompNumber Moment_Point 0.25
0. 0. entire Moment_Point 1.25
0. 0. wing
#
..."Moment_Line" is useful for
extracting hinge-moments # Moment_Line X0(%f) Y0(%f) Z0(%f)X1(%f)
Y1(%f) Z1(%f)CompName or CompNumber Moment_Line
0.25 0. 0. 0.25 0. 1. entire Moment_Line
0.5 0. 0. 0.7 0. 1. entire
$__Design_Info: # OPTIONAL #
...this section pertains to adjoint-based mesh adaptation,
#
error-estimation
and aerodynamic shape optimization.
#
Listed below are just a subset of the available objective
#
functions. See complete documentation
on functionals here.
#
For
complete details please see the full documentation
#
distributed with these modules
#
in:
$CART3D/doc/adjoint/index.html # # # Objective
Function: SUM of functionals (J)
# J = 0 -> W(P-T)^N
# J = 1 -> W(1-P/T)^N
#
# Bound: denotes the active boundary for functionals 0 and 1
# Bound = 0 -> J = (1-P/T)^2
# Bound = 1 -> J = (1-P/T)^2 iff P>T else Obj=0
# Bound =-1 -> J = (1-P/T)^2 iff P<T else Obj=0
#
# 1. Force Coefficients -- objective functions on force
coefs: #
Reference Frame = 0 Aerodynamic Frame
#
= 1 Aircraft
(Body) Frame #
# Force Codes: CD=0 Cy=1 CL=2 in
Aerodynamic Frame
# Force Codes: CA=0 CY=1 CN=2 in Aircraft
(Body) Frame
# Format: #
Name Force Frame
J N Target
Weight Bound GMP_Comp #
(String) (0,1,2) (0,1) (0,1) (int) (dble)
(dble) (0) (name) ---------------------------------------------------------------------- optForce
CD
0 0
0 1
0. 1.
0 entire optForce
CL 2
0
0 1
0. 0.5
0 entire #
(multiple entries get weighted and summed)
# 2. Field Sensor objectives
#
Name
J N
Target Weight Bound
#
(String) (0,1,2) (int) (double) (double) (-1,0,1)
# --------------------------------------------------------
optSensor LINE1
0
2
0.0
1.0 0 optSensor
point1
0
2
0.0 0.5
0 optSensor
EA1
0
2
0.0
1.0 0 #
(multiple entries get weighted and summed)
# 3. Mass Flow Rate Objective # can be
used for any GMP_comp w/ surface boundary condition defined
# in $__Boundary_Conditions section.
#
#
Name J
N Target Weight Bound GMP_Comp #
(String) (0,1) (int) (dble) (dble) (0)
(name)
#
------------------------------------------------------------
optMassFlow
inlet 0
1 0.
1.0 0 fanFace
optMassFlow exhaust 0
1 0.
1.0 0 turbineExit