# ============================================================================= # Initialize optFuncs for optimization # ============================================================================= optFuncs.DASolver = DASolver optFuncs.DVGeo = DVGeo optFuncs.DVCon = DVCon optFuncs.evalFuncs = evalFuncs optFuncs.gcomm = gcomm # ============================================================================= # Task # ============================================================================= if args.task == "opt": alpha4CLTarget = optFuncs.solveCL(CL_target, "alpha", "CL") alpha([alpha4CLTarget], None) optProb = Optimization("opt", objFun=optFuncs.calcObjFuncValues, comm=gcomm) DVGeo.addVariablesPyOpt(optProb) DVCon.addConstraintsPyOpt(optProb) # Add objective optProb.addObj("CD", scale=1) # Add physical constraints optProb.addCon("CL", lower=CL_target, upper=CL_target, scale=1) if gcomm.rank == 0: print(optProb) DASolver.runColoring()
if gcomm.rank == 0: print(optProb) DASolver.runColoring() opt = OPT(args.opt, options=optOptions) histFile = "./%s_hist.hst" % args.opt sol = opt(optProb, sens=optFuncs.calcObjFuncSens, storeHistory=histFile) if gcomm.rank == 0: print(sol) elif args.task == "runPrimal": optFuncs.runPrimal() elif args.task == "runAdjoint": optFuncs.runAdjoint() elif args.task == "solveCL": optFuncs.solveCL(CL_target, "alpha", "CL") elif args.task == "verifySens": optFuncs.verifySens() else: print("task arg not found!") exit(0)