input.cntl
- Comments
are in pink text and start with a "#"
- Inputs in black text are mandatory
- Inputs in purple
text are optional
- Inputs in grey
text are mandatory,
but generally not changed by users
- Hovering
over bold text will give you
tips on use of these inputs
#
#
+--------------------------------------------------------+
#
| Steering and Control 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))
#
#
#
--------------------------------------------------------------
$__Case_Information:
# ...Specify Free Stream
Quantities
Mach
0.54 # (double)
alpha
3.06 # (double) - angle of attack
beta
0.0 # (double) - sideslip Angle
gamma
1.4 #
(double) - ratio of specific heats (optional, default = 1.4)
$__File_Name_Information:
MeshInfo
Mesh.c3d.Info # Mesh information file (usually Mesh.c3d.Info)
MeshFile
Mesh.mg.c3d # Mesh file
$__Solver_Control_Information:
#
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
2 # (int) default is 2, organized in order
of
increasing
# dissipation.
# Limiter Type: 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 Multi-Grid
levels (1 =
single
grid)
MG_cycleType
2 # (int) - MultiGrid cycletype: 1 =
"V-cycle", 2 =
"W-cycle"
# 'sawtooth' cycle is: 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
$__Boundary_Conditions:
# BC types: 0 = FAR FIELD
# 1 =
SYMMETRY
# 2 =
INFLOW (specify all)
# 3 =
OUTFLOW (simple extrap)
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
# INLET/EXHAUST
BC specification:
# 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
SurfBC
3 1.0 0.3 0. 0. 0.714285 #
compID Rho Xvel
Yvel Zvel Press
$__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.
refArea 1.1589259
# (double) - ref. area for
forces.dat & moments.dat (optional)
refLength
1. # (double)
- ref.
length for scaling in moments.dat (optional)
momentCtr 0. 0. 0.
#
(double double double) - location of moment center (optional)
xStop 4.
# (double) - location to stop integrating
force & moms (optional) <def = Infinity>
xStart 2. #
(double) - lcoation to start integrating force
& moms (optional) <def=-Infinity>
#
(typically used to ignore model stings)
#
#
...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 field
sensor name x y z for convergence monitor
pointSensor pt1
1.1 0.0717 0.965 # point
field sensor name x y z for convergence 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.34 1.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
#
#pointSensor Name(%s)
Xlocation(%g) Ylocation(%g) Zlocation(%g)
pointSensor point1 -2.1 2.3 4.0
#
-----
------
# ----- NEW
in Cart3D v1.4 (shared memory only) ------
#
-----
------
#
...live steering
#
this section is optional
#
if it exists it will get
#
re-parsed every iCLfreq iterations
$__Steering_Information:
#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
$__Force_Moment_Processing:
#
GMP enabled
force reporting
#
requested loads will be logged to
#
"CompName.dat" during run, and
final loads
#
will be output in 'loadsTri.dat'
at termination
# NOTES:
# o
This section uses components defined
in
Config.xml
#
o $__Force_Moment_Processing not yet implemented in mpi_flowCart
#
# ... Axis definitions (with respect to body axis directions (Xb,Yb,Zb)
#
w/ usual stability and control orientation)
# see:
#
http://people.nas.nasa.gov/~aftosmis/cart3d/clic/html/clic_doc.html#frames
#
Model_X_axis
-Xb # << model's X axis is in the
(-X) stability axis direction
Model_Y_axis
-Zb # see this example
Model_Z_axis -Yb
#
...Reference Area and Length Specifictions
#
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 'loadsTri.dat'
)
#
# Force compNumber or compName
Force entire # compNumber and compNames
defined in Config.xml
Force wing
# 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
$__Design_Info:
#
...this section pertains to shape optimization and adjoint-based
#
adaptation and error-estimation. For users of these modules
#
please see the full documentation distributed with these modules
#
in: $CART3D/doc/adjoint/index.html
#
#
# Force Format:
#
#
Name Force Frame
J N Target
Weight Bound GMP_Comp
#
(String) (0,1,2) (0,1) (0,1) (int)
(dble) (dble) (0)
#
------------------------------------------------------------------------------
optForce
CD
0 0
0 1
0. 1.
0 entire
optForce
CL 2
0
0 1
0. 0.5
0 entire