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)
partial_wakes
-------------
centre: PartialCentre()
rotor_points: RotorPoints()
top_hat: PartialTopHat()
axiwake<n>: PartialAxiwake with
n=(Number of evaluation points)
grid<n2>: PartialGrid with
n2=(Number of points in square grid)
point_models
------------
tke2ti: TKE2TI()
rotor_models
------------
centre: CentreRotor()
grid<n2>: GridRotor with
calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
reduce=True
n2=(Number of points in square grid)
grid<n2>_raw: GridRotor with
calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
reduce=False
n2=(Number of points in square grid)
level<n>: LevelRotor with
calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
reduce=True
n=(Number of vertical levels)
level<n>_raw: LevelRotor with
calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
reduce=False
n=(Number of vertical levels)
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. 004 for 0.04)
kb=(Value, e.g. 004 for 0.04)
kTI_<kTI>: kTI with
kTI=(Value, e.g. 004 for 0.04)
kTI_amb_<kTI>_<kb>: kTI with
ti_var=AMB_TI
kTI=(Value, e.g. 004 for 0.04)
kb=(Value, e.g. 004 for 0.04)
kTI_amb_<kTI>: kTI with
ti_var=AMB_TI
kTI=(Value, e.g. 004 for 0.04)
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
-----------
rotor_wd: RotorWD()
rotor_wd_farmo: FarmOrder()
timelines: Timelines(dt_min=None)
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)
yawed_ambka<ka>_kb<kb>: YawedWakes with
ti_var=AMB_TI
ka=(Value, e.g. 04 for 0.4)
kb=(Value, e.g. 001 for 0.01)
yawed_ka<ka>: YawedWakes with
ti_var=TI
ka=(Value, e.g. 04 for 0.4)
yawed_ambka<ka>: YawedWakes with
ti_var=AMB_TI
ka=(Value, e.g. 04 for 0.4)
yawed_k<k>: YawedWakes with
ti_var=TI
k=(Value, e.g. 004 for 0.04)
yawed: YawedWakes with
ti_var=TI
streamlines_<step>: Streamlines2D with
step=(Step size in m)
streamlines_<step>: Streamlines2D with
step=(Step size in m)
timelines_<dt>: Timelines with
dt=(Time step, e.g '10s', '1min' etc.)
seq_dyn_wakes_<dt>: SeqDynamicWakes with
dt=(Time step, e.g '10s', '1min' etc.)
wake_models
-----------
RHB: RankineHalfBody(induction=Madsen)
Rathmann: Rathmann(induction=Madsen)
SelfSimilar: SelfSimilar(gamma=1.1, induction=Madsen)
SelfSimilar2020: SelfSimilar2020(gamma=1.1, induction=Madsen)
VortexSheet: VortexSheet, 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)
Jensen_<superposition>_ambka<ka>_kb<kb>: JensenWake with
induction=Betz
ti_var=AMB_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)
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)
Jensen_<superposition>_ambka<ka>: JensenWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Jensen_<superposition>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
Bastankhah2014_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=AMB_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)
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)
Bastankhah2014_<superposition>_ambka<ka>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Bastankhah2014_<superposition>: Bastankhah2014 with
sbeta_factor=0.2
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
Bastankhah2014B_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=AMB_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)
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)
Bastankhah2014B_<superposition>_ambka<ka>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Bastankhah2014B_<superposition>: Bastankhah2014 with
sbeta_factor=0.2
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
Bastankhah025_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=AMB_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)
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)
Bastankhah025_<superposition>_ambka<ka>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Bastankhah025_<superposition>: Bastankhah2014 with
sbeta_factor=0.25
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
Bastankhah025B_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=AMB_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)
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)
Bastankhah025B_<superposition>_ambka<ka>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Bastankhah025B_<superposition>: Bastankhah2014 with
sbeta_factor=0.25
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
Bastankhah2016_<superposition>_ambka<ka>_kb<kb>: Bastankhah2016 with
induction=Madsen
ti_var=AMB_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)
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)
Bastankhah2016_<superposition>_ambka<ka>: Bastankhah2016 with
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Bastankhah2016_<superposition>: Bastankhah2016 with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
Bastankhah2016B_<superposition>_ambka<ka>_kb<kb>: Bastankhah2016 with
induction=Betz
ti_var=AMB_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)
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)
Bastankhah2016B_<superposition>_ambka<ka>: Bastankhah2016 with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Bastankhah2016B_<superposition>: Bastankhah2016 with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
TurbOPark_<superposition>_ambka<ka>_kb<kb>: TurbOParkWake with
induction=Madsen
ti_var=AMB_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)
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)
TurbOPark_<superposition>_ambka<ka>: TurbOParkWake with
induction=Madsen
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
TurbOPark_<superposition>: TurbOParkWake with
induction=Madsen
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
TurbOParkB_<superposition>_ambka<ka>_kb<kb>: TurbOParkWake with
induction=Betz
ti_var=AMB_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)
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)
TurbOParkB_<superposition>_ambka<ka>: TurbOParkWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
TurbOParkB_<superposition>: TurbOParkWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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)
TurbOParkIX_<superposition>_ambka<ka>_kb<kb>_dx<dx>: TurbOParkWakeIX with
ti_var=AMB_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)
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)
TurbOParkIX_<superposition>_ambka<ka>_dx<dx>: TurbOParkWakeIX with
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.4)
dx=(Integration step in m)
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)
TurbOParkIX_<superposition>_dx<dx>: TurbOParkWakeIX with
ti_var=TI
superposition=(Superposition, e.g. linear for ws_linear)
dx=(Integration step in m)
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)
CrespoHernandez_<superposition>_ambka<ka>_kb<kb>: CrespoHernandezTIWake with
use_ambti=False
ti_var=AMB_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)
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)
CrespoHernandez_<superposition>_ambka<ka>: CrespoHernandezTIWake with
use_ambti=False
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.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)
CrespoHernandez_<superposition>: CrespoHernandezTIWake with
use_ambti=False
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
IECTI2005_<superposition>: IECTIWake with
iec_type=2005
superposition=(Superposition, e.g. linear for ti_linear)
IECTI2019_<superposition>: IECTIWake with
iec_type=2019
superposition=(Superposition, e.g. linear for ti_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)
IECTI2019k_<superposition>_ambka<ka>_kb<kb>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=AMB_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)
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)
IECTI2019k_<superposition>_ambka<ka>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.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)
IECTI2019k_<superposition>: IECTIWake with
iec_type=2019
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_linear)
IECTI2005_<superposition>: IECTIWake with
iec_type=2005
superposition=(Superposition, e.g. linear for ti_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)
IECTI2005k_<superposition>_ambka<ka>_kb<kb>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=AMB_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)
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)
IECTI2005k_<superposition>_ambka<ka>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ti_linear)
ka=(Value, e.g. 04 for 0.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)
IECTI2005k_<superposition>: IECTIWake with
iec_type=2005
opening_angle=None
ti_var=TI
superposition=(Superposition, e.g. linear for ti_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)
Jensen_<superposition>_ambka<ka>_kb<kb>: JensenWake with
induction=Betz
ti_var=AMB_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)
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)
Jensen_<superposition>_ambka<ka>: JensenWake with
induction=Betz
ti_var=AMB_TI
superposition=(Superposition, e.g. linear for ws_linear)
ka=(Value, e.g. 04 for 0.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)
Jensen_<superposition>: JensenWake with
induction=Betz
ti_var=TI
superposition=(Superposition, e.g. linear for ws_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.