strings 'XPM' and 'SPM' removed while computing NLI, now it is implicit
@@ -546,7 +546,6 @@ class NliSolver:
eta_matrix = np.zeros(shape=(matrix_size, matrix_size))
# SPM
- if 'spm' in self.nli_params.nli_method_name.lower():
if self.nli_params.verbose:
print(f'Start computing SPM on channel #{carrier_cut.channel_number}')
# SPM GGN
@@ -558,16 +557,16 @@ class NliSolver:
eta_matrix[cut_index, cut_index] = partial_nli / (carrier_cut.power.signal**3)
# XPM
- if 'xpm' in self.nli_params.nli_method_name.lower():
for pump_carrier in carriers:
pump_index = pump_carrier.channel_number - 1
if not (cut_index == pump_index):
if self.nli_params.verbose:
print(f'Start computing XPM on channel #{carrier_cut.channel_number} '
f'from channel #{pump_carrier.channel_number}')
- # spectrally separated GGN
+ # XPM GGN
if 'ggn' in self.nli_params.nli_method_name.lower():
partial_nli = self._generalized_spectrally_separated_xpm(carrier_cut, pump_carrier)
+ # XPM GGN
elif 'gn' in self.nli_params.nli_method_name.lower():
partial_nli = self._gn_analytic(carrier_cut, *[pump_carrier])
eta_matrix[pump_index, pump_index] = partial_nli /\
