diff --git a/gnpy/core/equipment.py b/gnpy/core/equipment.py index 03365c97..a17cfdda 100644 --- a/gnpy/core/equipment.py +++ b/gnpy/core/equipment.py @@ -114,7 +114,8 @@ class Amp(common): 'dgt': None, 'gain_ripple': None, 'out_voa_auto': False, - 'allowed_for_design': False + 'allowed_for_design': False, + 'raman': False } def __init__(self, **kwargs): diff --git a/gnpy/core/network.py b/gnpy/core/network.py index 1660529b..d451142c 100644 --- a/gnpy/core/network.py +++ b/gnpy/core/network.py @@ -91,14 +91,14 @@ def select_edfa(raman_allowed, gain_target, power_target, equipment, uid): """amplifer selection algorithm @Orange Jean-Luc Augé """ - Edfa_list = namedtuple('Edfa_list', 'type_def variety power gain_max gain_min nf') + Edfa_list = namedtuple('Edfa_list', 'raman variety power gain_max gain_min nf') TARGET_EXTENDED_GAIN = 2.1 #MAX_EXTENDED_GAIN = 5 edfa_dict = equipment['Edfa'] pin = power_target - gain_target edfa_list = [Edfa_list( - type_def = edfa.type_def, + raman = edfa.raman, variety=edfa_variety, power=min( pin @@ -120,9 +120,9 @@ def select_edfa(raman_allowed, gain_target, power_target, equipment, uid): #filter on max gain limitation: - raman = lambda x : (x.type_def == "dual_stage" and raman_allowed) \ - or (x.type_def != "dual_stage") - edfa_list = list(filter(raman, edfa_list)) + raman_filter = lambda x : (x.raman and raman_allowed) \ + or not x.raman + edfa_list = list(filter(raman_filter, edfa_list)) acceptable_gain_list = \ list(filter(lambda x : x.gain_max>0, edfa_list))