⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opt.ans.desc

📁 多学科优化软件isight培训教程初级pdf有很详细的例子讲解
💻 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 + -