// Reference: Epsilon Euskadi - Formula One Rear Wing Optimization package macro; import java.util.*; import star.common.*; import star.base.neo.*; import star.base.report.*; import star.flow.*; public class NACA_MOD extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation sim_0 = getActiveSimulation(); StepStoppingCriterion stepStopCrit_0 = ((StepStoppingCriterion) sim_0.getSolverStoppingCriterionManager().getSolverStoppingCriterion("Maximum Steps")); stepStopCrit_0.setMaximumNumberSteps(1000); Solution solution_0 = sim_0.getSolution(); solution_0.initializeSolution(); ResidualPlot resPlot_0 = ((ResidualPlot) sim_0.getPlotManager().getObject("Residuals")); resPlot_0.setTitleFont(new java.awt.Font("SansSerif", 0, 12)); sim_0.getSimulationIterator().run(); MonitorPlot monPlot_0 = sim_0.getPlotManager().createMonitorPlot(); monPlot_0.setPresentationName("Fx Plot"); ForceReport forceReport_0 = ((ForceReport) sim_0.getReportManager().getReport("Fx")); ReportMonitor reportMonitor_0 = forceReport_0.createMonitor(); monPlot_0.getMonitors().addObjects(reportMonitor_0); monPlot_0.setTitleFont(new java.awt.Font("SansSerif", 0, 12)); Axes axes_0 = monPlot_0.getAxes(); Axis axis_0 = axes_0.getXAxis(); AxisTitle axisTitle_0 = axis_0.getTitle(); axisTitle_0.setText("Iteration"); Axis axis_1 = axes_0.getYAxis(); AxisTitle axisTitle_1 = axis_1.getTitle(); axisTitle_1.setText("Force (N)"); MonitorPlot monPlot_1 = sim_0.getPlotManager().createMonitorPlot(); monPlot_1.setPresentationName("Fz Plot"); ForceReport forceReport_1 = ((ForceReport) sim_0.getReportManager().getReport("Fz")); ReportMonitor reportMonitor_1 = forceReport_1.createMonitor(); monPlot_1.getMonitors().addObjects(reportMonitor_1); monPlot_1.setTitleFont(new java.awt.Font("SansSerif", 0, 12)); Axes axes_1 = monPlot_1.getAxes(); Axis axis_2 = axes_1.getXAxis(); AxisTitle axisTitle_2 = axis_2.getTitle(); axisTitle_2.setText("Iteration"); Axis axis_3 = axes_1.getYAxis(); AxisTitle axisTitle_3 = axis_3.getTitle(); axisTitle_3.setText("Force (N)"); stepStopCrit_0.setMaximumNumberSteps(1501); sim_0.getSimulationIterator().run(); MonitorPlot monPlot_2 = ((MonitorPlot) sim_0.getPlotManager().getObject("Fx Plot")); monPlot_2.setTitleFont(new java.awt.Font("SansSerif", 0, 12)); monPlot_2.export(resolvePath("runFolder\\fx_extended.csv"), ","); MonitorPlot monPlot_3 = ((MonitorPlot) sim_0.getPlotManager().getObject("Fz Plot")); monPlot_3.setTitleFont(new java.awt.Font("SansSerif", 0, 12)); monPlot_3.export(resolvePath("runFolder\\fz_extended.csv"), ","); monPlot_0.export(resolvePath("runFolder\\fx.tab"), ","); monPlot_1.export(resolvePath("runFolder\\fz.tab"), ","); } }