From 6276495380fba10cdc9465f72f990029294ab492 Mon Sep 17 00:00:00 2001
From: "Mads M. Pedersen" <mmpe@dtu.dk>
Date: Tue, 29 May 2018 10:44:08 +0200
Subject: [PATCH] scale turbineX and turbineY to O(1)

---
 topfarm/_topfarm.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/topfarm/_topfarm.py b/topfarm/_topfarm.py
index d412edca..f776c5b6 100644
--- a/topfarm/_topfarm.py
+++ b/topfarm/_topfarm.py
@@ -30,8 +30,10 @@ class TopFarm(object):
             self.boundary_comp = BoundaryComp(boundary, n_wt, boundary_type)
         self.problem = prob = Problem()
         indeps = prob.model.add_subsystem('indeps', IndepVarComp(), promotes=['*'])
-        indeps.add_output('turbineX', turbines[:, 0], units='m')
-        indeps.add_output('turbineY', turbines[:, 1], units='m')
+        min_x, min_y = self.boundary_comp.vertices.min(0)
+        mean_x, mean_y = self.boundary_comp.vertices.mean(0)
+        indeps.add_output('turbineX', turbines[:, 0], units='m', ref=mean_x, ref0=min_x)
+        indeps.add_output('turbineY', turbines[:, 1], units='m', ref=mean_y, ref0=min_y)
         indeps.add_output('boundary', self.boundary_comp.vertices, units='m')
         prob.model.add_subsystem('cost_comp', cost_comp, promotes=['*'])
         prob.driver = ScipyOptimizeDriver()
-- 
GitLab