The model bookΒΆ
This example only requires the foxes
package:
In [1]:
import foxes
The model book
contains all models that are selectable during a foxes
run. They are organized according to their model type and stored under a str
type key, i.e., the model name. The default constructor of the ModelBook
class provides a number of default models, and the complete list can be printed using the print_toc
function:
In [2]:
mbook = foxes.models.ModelBook()
mbook.print_toc()
axial_induction
---------------
Betz: BetzAxialInduction()
Madsen: MadsenAxialInduction()
farm_controllers
----------------
basic_ctrl: BasicFarmController()
farm_models
-----------
farm_PMask: Turbine2FarmModel(PowerMask(var_ws_P=REWS3, P_lim=100, induction=Betz))
farm_hubh_data: Turbine2FarmModel(RotorCentreCalc())
farm_kTI: Turbine2FarmModel(kTI(kTI=None, kb=0, ti_var=TI, k_var=k))
farm_kTI_amb: Turbine2FarmModel(kTI(kTI=None, kb=0, ti_var=AMB_TI, k_var=k))
farm_thrust2ct: Turbine2FarmModel(Thrust2Ct(thrust_var=T, var_ws_ct=REWS2))
farm_yaw2yawm: Turbine2FarmModel(YAW2YAWM())
farm_yawm2yaw: Turbine2FarmModel(YAWM2YAW())
ground_models
-------------
ground_mirror: GroundMirror()
no_ground: NoGround()
blh_mirror_h<height>: WakeMirror with
height=(Boundary layer wake reflection height)
Example: blh_mirror_h500
partial_wakes
-------------
centre: PartialCentre()
rotor_points: RotorPoints()
top_hat: PartialTopHat()
axiwake<n>: PartialAxiwake with
n=(Number of evaluation points)
Example: axiwake5
grid<n2>: PartialGrid with
n2=(Number of points in square grid)
Example: grid9
point_models
------------
tke2ti: TKE2TI()
ustar2ti: Ustar2TI()
rotor_models
------------
centre: CentreRotor()
grid<n2>: GridRotor with
reduce=True
n2=(Number of points in square grid)
Example: grid9
grid<n2>_raw: GridRotor with
reduce=False
n2=(Number of points in square grid)
Example: grid9_raw
level<n>: LevelRotor with
reduce=True
n=(Number of vertical levels)
Example: level5
level<n>_raw: LevelRotor with
reduce=False
n=(Number of vertical levels)
Example: level5_raw
turbine_models
--------------
PMask: PowerMask(var_ws_P=REWS3, P_lim=100, induction=Betz)
hubh_data: RotorCentreCalc()
kTI: kTI(kTI=None, kb=0, ti_var=TI, k_var=k)
kTI_amb: kTI(kTI=None, kb=0, ti_var=AMB_TI, k_var=k)
thrust2ct: Thrust2Ct(thrust_var=T, var_ws_ct=REWS2)
yaw2yawm: YAW2YAWM()
yawm2yaw: YAWM2YAW()
kTI_<kTI>_<kb>: kTI with
kTI=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 004 for 0.04)
Example: kTI_0.2_0.001
kTI_<kTI>: kTI with
kTI=(Value, e.g. 02 for 0.2)
Example: kTI_0.2
kTI_amb_<kTI>_<kb>: kTI with
ti_var=AMB_TI
kTI=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 004 for 0.04)
Example: kTI_amb_0.2_0.001
kTI_amb_<kTI>: kTI with
ti_var=AMB_TI
kTI=(Value, e.g. 04 for 0.4)
Example: kTI_amb_0.2
turbine_types
-------------
DTU10MW: PCtFile(D=178.3, H=119.0, P_nominal=10000.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
IEA15MW: PCtFile(D=240.0, H=150.0, P_nominal=15000.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
IWT7.5MW: PCtFile(D=164.0, H=100.0, P_nominal=7500.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
NREL5MW: PCtFile(D=126.0, H=90.0, P_nominal=5000.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
null_type: NullType(D=None, H=None, P_nominal=None, P_unit=kW)
wake_frames
-----------
dyn_wakes: DynamicWakes(dt_min=None, max_length_km=20, max_age=None)
rotor_wd: RotorWD()
rotor_wd_farmo: FarmOrder()
seq_dyn_wakes: SeqDynamicWakes(dt_min=None)
timelines: Timelines(dt_min=None, max_length_km=20000.0)
yawed_ka<ka>_kb<kb>: YawedWakes with
ti_var=TI
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: yawed_ka0.2_kb0.001
yawed_ambka<ambka>_kb<kb>: YawedWakes with
ti_var=AMB_TI
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: yawed_ambka0.4_kb0.001
yawed_ka<ka>: YawedWakes with
ti_var=TI
ka=(Value, e.g. 04 for 0.4)
Example: yawed_ka0.2
yawed_ambka<ambka>: YawedWakes with
ti_var=AMB_TI
ambka=(Value, e.g. 04 for 0.4)
Example: yawed_ambka0.4
yawed_k<k>: YawedWakes with
ti_var=TI
k=(Value, e.g. 004 for 0.04)
Example: yawed_k0.04
yawed: YawedWakes with
ti_var=TI
Example: yawed
streamlines_<step>: Streamlines2D with
step=(Step size in m)
Example: streamlines_100
streamlines_<step>: Streamlines2D with
step=(Step size in m)
Example: streamlines_100
timelines_<dt>: Timelines with
dt=(Time step, e.g '10s', '1min' etc.)
Example: timelines_10s
dyn_wakes_<length>: DynamicWakes with
length=(Maximal wake length, e.g. '5km' or '5000m')
seq_dyn_wakes_<dt>: SeqDynamicWakes with
dt=(Time step, e.g '10s', '1min' etc.)
Example: seq_dyn_wakes_10s
wake_models
-----------
RHB: RankineHalfBody(induction=Madsen)
Rathmann: Rathmann(ws_linear, induction=Madsen)
SelfSimilar: SelfSimilar(ws_linear, induction=Madsen, gamma=1.1)
SelfSimilar2020: SelfSimilar2020(ws_linear, induction=Madsen, gamma=1.1)
VortexSheet: VortexSheet(ws_linear, induction=Madsen)
Jensen_<superposition>_ka<ka>_kb<kb>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Jensen_linear_ka0.2_kb0.001
Jensen_<superposition>_ambka<ambka>_kb<kb>: JensenWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Jensen_linear_ambka0.4_kb0.001
Jensen_<superposition>_ka<ka>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Jensen_linear_ka0.2
Jensen_<superposition>_ambka<ambka>: JensenWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Jensen_linear_ambka0.4
Jensen_<superposition>_k<k>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Jensen_linear_k0.04
Jensen_<superposition>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Jensen_linear
Bastankhah2014_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2014_linear_ka0.2_kb0.001
Bastankhah2014_<superposition>_ambka<ambka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2014_linear_ambka0.4_kb0.001
Bastankhah2014_<superposition>_ka<ka>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2014_linear_ka0.2
Bastankhah2014_<superposition>_ambka<ambka>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2014_linear_ambka0.4
Bastankhah2014_<superposition>_k<k>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Bastankhah2014_linear_k0.04
Bastankhah2014_<superposition>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2014_linear
Bastankhah2014B_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2014B_linear_ka0.2_kb0.001
Bastankhah2014B_<superposition>_ambka<ambka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2014B_linear_ambka0.4_kb0.001
Bastankhah2014B_<superposition>_ka<ka>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2014B_linear_ka0.2
Bastankhah2014B_<superposition>_ambka<ambka>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2014B_linear_ambka0.4
Bastankhah2014B_<superposition>_k<k>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Bastankhah2014B_linear_k0.04
Bastankhah2014B_<superposition>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2014B_linear
Bastankhah025_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah025_linear_ka0.2_kb0.001
Bastankhah025_<superposition>_ambka<ambka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah025_linear_ambka0.4_kb0.001
Bastankhah025_<superposition>_ka<ka>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Bastankhah025_linear_ka0.2
Bastankhah025_<superposition>_ambka<ambka>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah025_linear_ambka0.4
Bastankhah025_<superposition>_k<k>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Bastankhah025_linear_k0.04
Bastankhah025_<superposition>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah025_linear
Bastankhah025B_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah025B_linear_ka0.2_kb0.001
Bastankhah025B_<superposition>_ambka<ambka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah025B_linear_ambka0.4_kb0.001
Bastankhah025B_<superposition>_ka<ka>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Bastankhah025B_linear_ka0.2
Bastankhah025B_<superposition>_ambka<ambka>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah025B_linear_ambka0.4
Bastankhah025B_<superposition>_k<k>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Bastankhah025B_linear_k0.04
Bastankhah025B_<superposition>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah025B_linear
Bastankhah2016_<superposition>_ka<ka>_kb<kb>: Bastankhah2016 with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2016_linear_ka0.2_kb0.001
Bastankhah2016_<superposition>_ambka<ambka>_kb<kb>: Bastankhah2016 with
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2016_linear_ambka0.4_kb0.001
Bastankhah2016_<superposition>_ka<ka>: Bastankhah2016 with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2016_linear_ka0.2
Bastankhah2016_<superposition>_ambka<ambka>: Bastankhah2016 with
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2016_linear_ambka0.4
Bastankhah2016_<superposition>_k<k>: Bastankhah2016 with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Bastankhah2016_linear_k0.04
Bastankhah2016_<superposition>: Bastankhah2016 with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2016_linear
Bastankhah2016B_<superposition>_ka<ka>_kb<kb>: Bastankhah2016 with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2016B_linear_ka0.2_kb0.001
Bastankhah2016B_<superposition>_ambka<ambka>_kb<kb>: Bastankhah2016 with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Bastankhah2016B_linear_ambka0.4_kb0.001
Bastankhah2016B_<superposition>_ka<ka>: Bastankhah2016 with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2016B_linear_ka0.2
Bastankhah2016B_<superposition>_ambka<ambka>: Bastankhah2016 with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2016B_linear_ambka0.4
Bastankhah2016B_<superposition>_k<k>: Bastankhah2016 with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Bastankhah2016B_linear_k0.04
Bastankhah2016B_<superposition>: Bastankhah2016 with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2016B_linear
TurbOPark_<superposition>_ka<ka>_kb<kb>: TurbOParkWake with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: TurbOPark_linear_ka0.2_kb0.001
TurbOPark_<superposition>_ambka<ambka>_kb<kb>: TurbOParkWake with
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: TurbOPark_linear_ambka0.4_kb0.001
TurbOPark_<superposition>_ka<ka>: TurbOParkWake with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: TurbOPark_linear_ka0.2
TurbOPark_<superposition>_ambka<ambka>: TurbOParkWake with
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: TurbOPark_linear_ambka0.4
TurbOPark_<superposition>_k<k>: TurbOParkWake with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: TurbOPark_linear_k0.04
TurbOPark_<superposition>: TurbOParkWake with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: TurbOPark_linear
TurbOParkB_<superposition>_ka<ka>_kb<kb>: TurbOParkWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: TurbOParkB_linear_ka0.2_kb0.001
TurbOParkB_<superposition>_ambka<ambka>_kb<kb>: TurbOParkWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: TurbOParkB_linear_ambka0.4_kb0.001
TurbOParkB_<superposition>_ka<ka>: TurbOParkWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: TurbOParkB_linear_ka0.2
TurbOParkB_<superposition>_ambka<ambka>: TurbOParkWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: TurbOParkB_linear_ambka0.4
TurbOParkB_<superposition>_k<k>: TurbOParkWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: TurbOParkB_linear_k0.04
TurbOParkB_<superposition>: TurbOParkWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: TurbOParkB_linear
TurbOParkIX_<superposition>_ka<ka>_kb<kb>_dx<dx>: TurbOParkWakeIX with
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
dx=(Integration step in m)
Example: TurbOParkIX_linear_ka0.2_kb0.001_dx100
TurbOParkIX_<superposition>_ambka<ambka>_kb<kb>_dx<dx>: TurbOParkWakeIX with
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
dx=(Integration step in m)
Example: TurbOParkIX_linear_ambka0.4_kb0.001_dx100
TurbOParkIX_<superposition>_ka<ka>_dx<dx>: TurbOParkWakeIX with
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
dx=(Integration step in m)
Example: TurbOParkIX_linear_ka0.2_dx100
TurbOParkIX_<superposition>_ambka<ambka>_dx<dx>: TurbOParkWakeIX with
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
dx=(Integration step in m)
Example: TurbOParkIX_linear_ambka0.4_dx100
TurbOParkIX_<superposition>_k<k>_dx<dx>: TurbOParkWakeIX with
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
dx=(Integration step in m)
Example: TurbOParkIX_linear_k0.04_dx100
TurbOParkIX_<superposition>_dx<dx>: TurbOParkWakeIX with
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
dx=(Integration step in m)
Example: TurbOParkIX_linear_dx100
CrespoHernandez_<superposition>_ka<ka>_kb<kb>: CrespoHernandezTIWake with
use_ambti=False
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: CrespoHernandez_linear_ka0.2_kb0.001
CrespoHernandez_<superposition>_ambka<ambka>_kb<kb>: CrespoHernandezTIWake with
use_ambti=False
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: CrespoHernandez_linear_ambka0.4_kb0.001
CrespoHernandez_<superposition>_ka<ka>: CrespoHernandezTIWake with
use_ambti=False
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.4)
Example: CrespoHernandez_linear_ka0.2
CrespoHernandez_<superposition>_ambka<ambka>: CrespoHernandezTIWake with
use_ambti=False
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: CrespoHernandez_linear_ambka0.4
CrespoHernandez_<superposition>_k<k>: CrespoHernandezTIWake with
use_ambti=False
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
k=(Value, e.g. 004 for 0.04)
Example: CrespoHernandez_linear_k0.04
CrespoHernandez_<superposition>: CrespoHernandezTIWake with
use_ambti=False
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
Example: CrespoHernandez_linear
IECTI2019_<superposition>: IECTIWake with
iec_type=2019
superposition=(Superposition, e.g. linear for ti_linear)
Example: IECTI2019_linear
IECTI2019k_<superposition>_ka<ka>_kb<kb>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: IECTI2019k_linear_ka0.2_kb0.001
IECTI2019k_<superposition>_ambka<ambka>_kb<kb>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: IECTI2019k_linear_ambka0.4_kb0.001
IECTI2019k_<superposition>_ka<ka>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.4)
Example: IECTI2019k_linear_ka0.2
IECTI2019k_<superposition>_ambka<ambka>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: IECTI2019k_linear_ambka0.4
IECTI2019k_<superposition>_k<k>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
k=(Value, e.g. 004 for 0.04)
Example: IECTI2019k_linear_k0.04
IECTI2019k_<superposition>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
Example: IECTI2019k_linear
IECTI2005_<superposition>: IECTIWake with
iec_type=2005
superposition=(Superposition, e.g. linear for ti_linear)
Example: IECTI2005_linear
IECTI2005k_<superposition>_ka<ka>_kb<kb>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: IECTI2005k_linear_ka0.2_kb0.001
IECTI2005k_<superposition>_ambka<ambka>_kb<kb>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: IECTI2005k_linear_ambka0.4_kb0.001
IECTI2005k_<superposition>_ka<ka>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.4)
Example: IECTI2005k_linear_ka0.2
IECTI2005k_<superposition>_ambka<ambka>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: IECTI2005k_linear_ambka0.4
IECTI2005k_<superposition>_k<k>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
k=(Value, e.g. 004 for 0.04)
Example: IECTI2005k_linear_k0.04
IECTI2005k_<superposition>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
Example: IECTI2005k_linear
VortexSheet_<superposition>: VortexSheet with
superposition=(Superposition, e.g. linear for ws_linear)
Example: VortexSheet_linear
Rathmann_<superposition>: Rathmann with
superposition=(Superposition, e.g. linear for ws_linear)
Example: Rathmann_linear
SelfSimilar_<superposition>: SelfSimilar with
superposition=(Superposition, e.g. linear for ws_linear)
Example: SelfSimilar_linear
SelfSimilar2020_<superposition>: SelfSimilar2020 with
superposition=(Superposition, e.g. linear for ws_linear)
Example: SelfSimilar2020_linear
wake_superpositions
-------------------
ti_cubic: TIPow(pow=3, superp_to_amb=quadratic)
ti_linear: TILinear(superp_to_amb=quadratic)
ti_max: TIMax(superp_to_amb=quadratic)
ti_quadratic: TIQuadratic(superp_to_amb=quadratic)
ti_quartic: TIPow(pow=4, superp_to_amb=quadratic)
ws_cubic: WSPow(pow=3, scale_amb=False, lim_low=None, lim_high=None)
ws_cubic_amb: WSPow(pow=3, scale_amb=True, lim_low=None, lim_high=None)
ws_cubic_loc: WSPowLocal(pow=3, lim_low=None, lim_high=None)
ws_cubic_loc_lim: WSPowLocal(pow=3, lim_low=0.0001, lim_high=None)
ws_linear: WSLinear(scale_amb=False, lim_low=None, lim_high=None)
ws_linear_amb: WSLinear(scale_amb=True, lim_low=None, lim_high=None)
ws_linear_amb_lim: WSLinear(scale_amb=True, lim_low=0.0001, lim_high=None)
ws_linear_lim: WSLinear(scale_amb=False, lim_low=0.0001, lim_high=None)
ws_linear_loc: WSLinearLocal(lim_low=None, lim_high=None)
ws_linear_loc_lim: WSLinearLocal(lim_low=0.0001, lim_high=None)
ws_max: WSMax(scale_amb=False, lim_low=None, lim_high=None)
ws_max_amb: WSMax(scale_amb=True, lim_low=None, lim_high=None)
ws_max_loc: WSMaxLocal(lim_low=None, lim_high=None)
ws_max_loc_lim: WSMaxLocal(lim_low=0.0001, lim_high=None)
ws_product: WSProduct(lim_low=None, lim_high=None)
ws_product_lim: WSProduct(lim_low=0.0001, lim_high=None)
ws_quadratic: WSQuadratic(scale_amb=False, lim_low=None, lim_high=None)
ws_quadratic_amb: WSQuadratic(scale_amb=True, lim_low=None, lim_high=None)
ws_quadratic_amb_lim: WSQuadratic(scale_amb=True, lim_low=0.0001, lim_high=None)
ws_quadratic_lim: WSQuadratic(scale_amb=False, lim_low=0.0001, lim_high=None)
ws_quadratic_loc: WSQuadraticLocal(lim_low=None, lim_high=None)
ws_quadratic_loc_lim: WSQuadraticLocal(lim_low=0.0001, lim_high=None)
ws_quartic: WSPow(pow=4, scale_amb=False, lim_low=None, lim_high=None)
ws_quartic_amb: WSPow(pow=4, scale_amb=True, lim_low=None, lim_high=None)
ws_quartic_loc: WSPowLocal(pow=4, lim_low=None, lim_high=None)
ws_quartic_loc_lim: WSPowLocal(pow=4, lim_low=0.0001, lim_high=None)
Notice the model factories, creating models based on parameter values that are being parsed from the name string, e.g.:
Jensen_<superposition>_k<k>: JensenWake with
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
For any existing superpositon model name string and any value for the wake growth parameter k
, the model can be created according to the stated model name template Jensen_<superposition>_k<k>
. For example, selecting quadratic superposition and k = 0.075
:
In [3]:
mbook.wake_models["Jensen_quadratic_k0075"]
Out[3]:
JensenWake(ws_quadratic, induction=Betz, k=0.075)
You can simply add a model by storing the model object under the new model name, for example:
In [4]:
mbook.wake_models["my_Jensen"] = foxes.models.wake_models.wind.JensenWake(
k=0.042, superposition="ws_linear_lim"
)
In [5]:
mbook.print_toc(subset="wake_models", search="Jensen")
wake_models
-----------
Jensen_quadratic_k0075: JensenWake(ws_quadratic, induction=Betz, k=0.075)
my_Jensen: JensenWake(ws_linear_lim, induction=Betz, k=0.042)
Jensen_<superposition>_ka<ka>_kb<kb>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Jensen_linear_ka0.2_kb0.001
Jensen_<superposition>_ambka<ambka>_kb<kb>: JensenWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
Example: Jensen_linear_ambka0.4_kb0.001
Jensen_<superposition>_ka<ka>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
Example: Jensen_linear_ka0.2
Jensen_<superposition>_ambka<ambka>: JensenWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ambka=(Value, e.g. 04 for 0.4)
Example: Jensen_linear_ambka0.4
Jensen_<superposition>_k<k>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
k=(Value, e.g. 004 for 0.04)
Example: Jensen_linear_k0.04
Jensen_<superposition>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
Example: Jensen_linear
Our freshly created model can now be found in the model book and is ready to use for calculations. Similarly, all other types of models can be added to the corresponding sections of the model book.