Source code for ard.viz.plot_layout

import numpy as np
import matplotlib.pyplot as plt

import openmdao.api as om


[docs] class OutputLayout(om.ExplicitComponent):
[docs] def initialize(self): self.options.declare("modeling_options")
[docs] def setup(self): # load modeling options modeling_options = self.modeling_options = self.options["modeling_options"] self.N_turbines = modeling_options["farm"]["N_turbines"] # add inputs self.add_input( "x_turbines", np.zeros((self.N_turbines,)), units="m", desc="turbine location in x-direction", ) self.add_input( "y_turbines", np.zeros((self.N_turbines,)), units="m", desc="turbine location in y-direction", )
[docs] def compute(self, inputs, outputs): fig, ax = plt.subplots() ax.scatter(inputs["x_turbines"], inputs["y_turbines"]) for idx, (x, y) in enumerate(zip(inputs["x_turbines"], inputs["y_turbines"])): ax.text(x, y, str(idx), ha="right", va="bottom") ax.axis("square")
# plt.show()