|
|
|
@ -71,20 +71,20 @@ def py_wake_Initial_Cong(D,name,h,U_ref,initial_position=initial_position):
|
|
|
|
|
|
|
|
|
|
windTurbines = py_wake_Initial_Cong(D, 'NREL_5MW', h, U_ref)
|
|
|
|
|
|
|
|
|
|
def run(initial_position=initial_position, U_ref=U_ref):
|
|
|
|
|
def run(direction=0, initial_position=initial_position, U_ref=U_ref):
|
|
|
|
|
initial_position = np.array(initial_position);
|
|
|
|
|
#site = UniformSite(p_wd=[1],
|
|
|
|
|
# ws=U_ref,
|
|
|
|
|
# initial_position=initial_position*D)
|
|
|
|
|
ds = xr.Dataset(
|
|
|
|
|
data_vars={'P': ('wd', [1])},
|
|
|
|
|
coords={'wd': [0]})
|
|
|
|
|
ds['TI'] = 0.1
|
|
|
|
|
site = XRSite(ds, interp_method='nearest', initial_position=initial_position*D, default_ws=np.atleast_1d(U_ref))
|
|
|
|
|
site = UniformSite(p_wd=[1] * 8,
|
|
|
|
|
ws=U_ref,
|
|
|
|
|
initial_position=initial_position*D)
|
|
|
|
|
#ds = xr.Dataset(
|
|
|
|
|
# data_vars={'P': ('wd', [1, 1, 1, 1])},
|
|
|
|
|
# coords={'wd': [0, 90, 180, 270]})
|
|
|
|
|
#ds['TI'] = 0.1
|
|
|
|
|
#site = XRSite(ds, interp_method='nearest', initial_position=initial_position*D, default_ws=np.atleast_1d(U_ref))
|
|
|
|
|
|
|
|
|
|
wt_x, wt_y = site.initial_position.T/D
|
|
|
|
|
wfm = PropagateDownwind(site, windTurbines, wake_deficitModel=TurboGaussianDeficit())
|
|
|
|
|
grid = XYGrid(x=np.arange(0, 10.01, 0.1)*126, y=np.arange(0, 10.01, 0.1)*126)
|
|
|
|
|
xa = wfm(x=wt_x*126, y=wt_y*126, wd=0, yaw=0).flow_map(grid)
|
|
|
|
|
xa = wfm(x=wt_x*126, y=wt_y*126, wd=direction, yaw=0).flow_map(grid)
|
|
|
|
|
ws = xa.WS_eff
|
|
|
|
|
return ws[:,:,0,0].values[:,:,0].tolist()
|
|
|
|
|