📄 opt.ans.desc
字号:
MDOLVersion: 6.0
CompilerOptions: warn
Task Airplane
TaskHeader Airplane
Version: 1.0
Evaluation: taskplan
ControlMode: user
RunCounter: 1
BoundsPolicy: adjustvalue
CheckPoint: unknown
End TaskHeader Airplane
Inputs Airplane
Parameter: WingSpan Type: real InitialValue: 22.72
Parameter: WingArea Type: real InitialValue: 177.3
Parameter: FuseDia Type: real InitialValue: 4.85
Parameter: FuseLength Type: real InitialValue: 32.6
Parameter: CruiseVel Type: real InitialValue: 200.0
Parameter: WtFuel Type: real InitialValue: 296.0
Parameter: WtEng Type: real InitialValue: 197.0
Parameter: NumEng Type: integer InitialValue: 1
Parameter: NumPass Type: integer InitialValue: 2
Parameter: WtPayload Type: real InitialValue: 100.0
End Inputs Airplane
Outputs Airplane
Parameter: SurfAreaFuse Type: real
Parameter: WetArea Type: real
Parameter: LoD Type: real
Parameter: AR Type: real
Parameter: WingChord Type: real
Parameter: LoadedWt Type: real
Parameter: AircraftRange Type: real
Parameter: StallSpeed Type: real
End Outputs Airplane
Calculations Airplane
Calculation AspectRatioCalc
Parameters
WingSpan WingArea AR WingChord
Tcl
set AR(V) [expr $WingSpan(V)*$WingSpan(V)/$WingArea(V)]
set WingChord(V) [expr $WingArea(V)/$WingSpan(V)]
End Tcl
End Calculation AspectRatioCalc
End Calculations Airplane
SimCode AeroCode
InputFiles AeroCode
FileDescription AeroIntxt
FileType: standard
TemplateFile: "AeroInTemp.dat"
InputFile: "AeroIn.txt"
Parameters
WingSpan WingArea FuseDia FuseLength
Instructions
find "b =" ignore
write $WingSpan as "%7.3f"
find "Swing =" ignore
replace word with $WingArea
find "Lfuse =" ignore
replace word with $FuseLength
find "Dfuse =" ignore
replace word with $FuseDia as "%9.5f"
End Instructions
End FileDescription AeroIntxt
End InputFiles AeroCode
OutputFiles AeroCode
FileDescription AeroOuttxt
FileType: standard
OutputFile: "AeroOut.txt"
Parameters
SurfAreaFuse WetArea LoD
Instructions
find "Surface Area of the Fuselage = " ignore
read SurfAreaFuse as "%g"
provide $SurfAreaFuse
find "Wetted Area of the Aircraft = " ignore
read WetArea as "%g"
provide $WetArea
find "Lift/Drag of the Aircraft =" ignore
read LoD as "%g"
provide $LoD
End Instructions
End FileDescription AeroOuttxt
End OutputFiles AeroCode
SimCodeProcess AeroCode
Program: "../Programs/aero.exe"
ElapseTime: 5m
Prologue
WriteInputSpecs: AeroIntxt
Epilogue
ReadOutputSpecs: AeroOuttxt
Execution: "$Program"
End SimCodeProcess AeroCode
End SimCode AeroCode
SimCode WeightsCode
InputFiles WeightsCode
FileDescription WeightsIntxt
FileType: standard
TemplateFile: "WeightsInTemp.dat"
InputFile: "WeightsIn.txt"
Parameters
CruiseVel WingArea AR FuseLength FuseDia WtFuel WtEng NumEng NumPass WtPayload
Instructions
find "vel = " ignore
replace word with $CruiseVel
find "Swing = " ignore
replace word with $WingArea
find "AR = " ignore
replace word with $AR
find "Length = " ignore
replace word with $FuseLength
find "Diameter = " ignore
replace word with $FuseDia
find "Wfuel = " ignore
replace word with $WtFuel
find "Wen =" ignore
replace word with $WtEng
find "Nen = " ignore
replace word with $NumEng
find "Npass = " ignore
replace word with $NumPass
find "Wpay =" ignore
replace word with $WtPayload
End Instructions
End FileDescription WeightsIntxt
End InputFiles WeightsCode
OutputFiles WeightsCode
FileDescription WeightsOuttxt
FileType: standard
OutputFile: "WeightsOut.txt"
Parameters
LoadedWt
Instructions
find "Total Weight of Loaded Aircraft (lbs.) = " ignore
read LoadedWt as "%g"
provide $LoadedWt
End Instructions
End FileDescription WeightsOuttxt
End OutputFiles WeightsCode
SimCodeProcess WeightsCode
Program: "../Programs/weights.exe"
ElapseTime: 5m
Prologue
WriteInputSpecs: WeightsIntxt
Epilogue
ReadOutputSpecs: WeightsOuttxt
Execution: "$Program"
End SimCodeProcess WeightsCode
End SimCode WeightsCode
Task PerfTask
TaskHeader PerfTask
Version: 1.0
Evaluation: single
ControlMode: user
RunCounter: 1
BoundsPolicy: adjustvalue
CheckPoint: unknown
End TaskHeader PerfTask
Inputs PerfTask
Parameter: DragRatio Type: real InitialValue: 0
Parameter: LoadedWeight Type: real InitialValue: 0
Parameter: WeightOfFuel Type: real InitialValue: 0
Parameter: AreaOfWing Type: real InitialValue: 0
End Inputs PerfTask
Outputs PerfTask
Parameter: AircraftRange Type: real
Parameter: StallSpeed Type: real
End Outputs PerfTask
SimCode PerfCode
InputFiles PerfCode
FileDescription PerfInput
FileType: standard
TemplateFile: "PerfInTemp.dat"
InputFile: "PerfIn.txt"
Parameters
DragRatio LoadedWeight WeightOfFuel AreaOfWing
Instructions
find "LoverD =" ignore
replace word with $DragRatio as "%10.5f"
find "Wtot =" ignore
replace word with $LoadedWeight as "%10.5f"
find "Wfueltot =" ignore
replace word with $WeightOfFuel as "%10.5f"
find "Swing =" ignore
replace word with $AreaOfWing as "%10.5f"
End Instructions
End FileDescription PerfInput
End InputFiles PerfCode
OutputFiles PerfCode
FileDescription PerfOutput
FileType: standard
OutputFile: "PerfOut.txt"
Parameters
AircraftRange StallSpeed
Instructions
find "Max. Range (miles) = "
read AircraftRange as "%g"
provide $AircraftRange
find "Stall Speed (miles/hr) = " ignore
read StallSpeed as "%g"
provide $StallSpeed
End Instructions
End FileDescription PerfOutput
End OutputFiles PerfCode
SimCodeProcess PerfCode
Program: "../Programs/perf.exe"
ElapseTime: 5m
Prologue
WriteInputSpecs: PerfInput
Epilogue
ReadOutputSpecs: PerfOutput
Execution: "$Program"
End SimCodeProcess PerfCode
End SimCode PerfCode
TaskProcess PerfTask
Control: [
PerfCode
]
End TaskProcess PerfTask
Optimization PerfTask
PotentialVariables:
DragRatio LoadedWeight WeightOfFuel AreaOfWing
Variables:
DragRatio LoadedWeight WeightOfFuel AreaOfWing
VariableScaling
Parameter: DragRatio ScaleFactor: 1.0
Parameter: LoadedWeight ScaleFactor: 1.0
Parameter: WeightOfFuel ScaleFactor: 1.0
Parameter: AreaOfWing ScaleFactor: 1.0
PotentialObjectives:
DragRatio LoadedWeight WeightOfFuel AreaOfWing AircraftRange StallSpeed
# PLAN TO BE CONFIGURED BY ADVISOR:
OptimizePlan PriorityRankedPlan
Control: [
]
End Optimization PerfTask
TaskPlan PerfTask
Control: [
PriorityRankedPlan
]
End TaskPlan PerfTask
DataStorage PerfTask
Restore: no
DataLog: "PerfTask.ans.db" Mode: overwrite
DataLookUp: "PerfTask.ans.db"
MatchMode: Exact
Levels: all
StoreGradRuns: yes
StoreApproxRuns: yes
End DataStorage PerfTask
End Task PerfTask
TaskProcess Airplane
Control: [
AeroCode
AspectRatioCalc
WeightsCode
PerfTask
]
SubTask PerfTask
ParameterMap
LoD = DragRatio
LoadedWt = LoadedWeight
WtFuel = WeightOfFuel
WingArea = AreaOfWing
InputToSubtask
Send:
LoD LoadedWt WtFuel WingArea
OutputFromSubtask
Receive:
LoD LoadedWt WtFuel WingArea AircraftRange StallSpeed
End SubTask PerfTask
End TaskProcess Airplane
Optimization Airplane
PotentialVariables:
WingSpan WingArea FuseDia FuseLength CruiseVel WtFuel WtEng NumEng NumPass WtPayload
Variables:
WingSpan WingArea FuseDia FuseLength CruiseVel WtFuel
VariableScaling
Parameter: WingSpan ScaleFactor: 1.0
Parameter: WingArea ScaleFactor: 1.0
Parameter: FuseDia ScaleFactor: 1.0
Parameter: FuseLength ScaleFactor: 1.0
Parameter: CruiseVel ScaleFactor: 1.0
Parameter: WtFuel ScaleFactor: 1.0
Parameter: WtEng ScaleFactor: 1.0
Parameter: NumEng ScaleFactor: 1.0
Parameter: NumPass ScaleFactor: 1.0
Parameter: WtPayload ScaleFactor: 1.0
InputConstraints
Parameter: FuseLength LowerBound: 22.0 UpperBound: 50.0
Parameter: FuseDia LowerBound: 3.5 UpperBound: 10.0
Parameter: CruiseVel LowerBound: 175.0 UpperBound: 375.0
Parameter: WingArea LowerBound: 50.0 UpperBound: 500.0
Parameter: WtFuel LowerBound: 1.0 UpperBound: 500.0
Parameter: WingSpan LowerBound: 15.0 UpperBound: 55.0
PotentialObjectives:
WingSpan WingArea FuseDia FuseLength CruiseVel WtFuel WtEng NumEng NumPass WtPayload
SurfAreaFuse WetArea LoD AR WingChord LoadedWt AircraftRange StallSpeed
Objectives
Parameter: AircraftRange Direction: maximize Weight: 1.0 ScaleFactor: 1.0
Parameter: CruiseVel Direction: maximize Weight: 1.0 ScaleFactor: 1.0
Parameter: LoadedWt Direction: minimize Weight: 1.0 ScaleFactor: 1.0
OutputConstraints
Parameter: AircraftRange LowerBound: 565 Weight: 1.0 ScaleFactor: 1.0
Parameter: StallSpeed UpperBound: 70.0 Weight: 1.0 ScaleFactor: 1.0
Parameter: AR LowerBound: 4.5 Weight: 1.0 ScaleFactor: 1.0
AdvisorCriteria
DiscontinuousSpace: no
InitialDesignPoint: infeasible
AnalysisType: nonlinear
ExecutionTime: 1s
IORelationships: no
GradientsAvailable: no
End AdvisorCriteria
OptimizePlan DemoPlan1
DefaultUpperBound: 1E15
UseScaling: yes
OptimizeStep Step1
Technique: "Genetic Algorithm"
Prologue
Tcl
End Tcl
RestoreBestSolution: no
RerunTask: no
Epilogue
RestoreBestSolution: yes
RerunTask: no
Options
OptimizeStep Step2
Technique: "Modified Method of Feasible Directions"
Prologue
RestoreBestSolution: no
RerunTask: no
Epilogue
RestoreBestSolution: yes
RerunTask: no
Options
OptimizeStep Step3
Technique: "Method of Feasible Directions - CONMIN"
Prologue
RestoreBestSolution: no
RerunTask: no
Epilogue
RestoreBestSolution: yes
RerunTask: no
Options
Control: [
Step1
Step2
Step3
]
# PLAN TO BE CONFIGURED BY ADVISOR:
OptimizePlan PriorityRankedPlan
Control: [
]
End Optimization Airplane
TaskPlan Airplane
Control: [
DemoPlan1
]
End TaskPlan Airplane
DataStorage Airplane
Restore: no
DataLog: "Airplane.ans.db" Mode: overwrite
DataLookUp: "Airplane.ans.db"
MatchMode: Exact
Levels: all
StoreGradRuns: yes
StoreApproxRuns: yes
End DataStorage Airplane
End Task Airplane
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -