Commit Graph

171 Commits

Author SHA1 Message Date
Jean-Luc Auge
5e1fd7501e bug fix in amplifier extended gain range
NF_calc gain clamping to max gain in extended gain range

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-07-05 12:51:22 +02:00
Jean-Luc Auge
c86ea206d9 bug fix CORONET_GLOBAL_Topology example
bugs from the last refactor merge
- fix #1: update fiber length after split
- fix #2: add egress amp after fiber split

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-07-05 12:50:48 +02:00
Jean-Luc Auge
b810cf84c2 Power mode implementation
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-07-05 12:50:23 +02:00
EstherLerouzic
15bc5db2ed adding test on the propagation on a link example
test verifies that OSNR and SNR computed values are consistant
including connector loss and input power variation
onto 2 example links: 1 and 5 spans

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-07-04 16:45:28 +01:00
EstherLerouzic
f36a610e52 adding connector loss on the "loss" property of fiber class
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-07-02 18:30:40 +01:00
EstherLerouzic
8795c357ae Implementation of connector losses in the propagation function
- connector losses can be part of the json description or not
  in any case a connector loss in and out is now part of the fiber class.
  if not present the default value is 0.0 dB

- propagate function in Fiber class now has a first attenuation
  propagation step. output conn loos is integrated in the
  initial loop function.

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-07-02 17:23:58 +01:00
Roberts Miculens
362f45083d parametrized ROADM and FUSED losses 2018-06-27 18:16:18 +03:00
Jean-Luc Auge
726e217205 merge debug
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-05-24 16:06:15 +02:00
James Powell
695c538ee5 merge of major refactor
cherry pick of the major refactor commit
many conflicts resolved and code re-written
2018-05-24 12:35:39 +02:00
Jean-Luc Auge
be0c052e5e source/destination nodes suggestion
fix bug in Fused span: adding ingress and egress directions
=> do not share the same NE between 2 directions

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-04-24 15:16:20 +02:00
Jean-Luc Auge
af90a6658e Fused spans class and edfa gain adaptation
*new Fused spans class to support the connection between 2 fibers
without amplification
*add_egress_amplifier adjust the edfa gain to compensate the loss
of n fused spans
*eqpt not found in eqpt library is caught and stop the code

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

code fix for the eqpt sheet reading in xls parser

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

amplifier design and eqpt parser code fix

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-04-24 15:15:59 +02:00
Jean-Luc Auge
8d6f69eb05 Equipment library implementation
-read eqpt_config.json with various EDFA and fiber type definitions
-std low gain and medium gain EDFA available
-clearer differentiation between the 2 edfa models:
	is the advanced_config_from_json field present or not?

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-04-22 19:06:35 -04:00
James Powell
898aa4f41a space align __str__ output 2018-03-20 22:44:32 -04:00
James Powell
a6265c1b8d document modules 2018-03-20 21:32:02 -04:00
James Powell
8ab13537a9 prettier printing 2018-03-15 19:09:29 -04:00
James Powell
25e14e4846 fixed __repr__
__repr__ "should look like a valid Python expression that could be used
to recreate an object with the same value" - https://docs.python.org/3/reference/datamodel.html#object.__repr__
2018-03-15 18:29:26 -04:00
Jean-Luc Augé
2461385a94 add Roadm, coronet_conus support and amplifier pytests (#35)
* Add EDFA unitary pytests

check nf calculation, nf models comparison, ase noise profile
elements.py edfa _gain_profile: add div 0 checks when no ripple

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* support of coronet.conus network and add class __repr__

adaptation of convert.py to new code json formating
add_egress_amplifier, split_fiber and calculate_new_length
subs in network.py
elements.py:
code cleaning
adding new attributes in Edfa class (pin_db, pout_db...)
adding or augmenting class __repr__

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* augment amplifier unitary tests and code cleaning

add new tests in amplifier_test.py for pytest
Edfa class code cleaning in elements.py
recheck code coherence and results

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* ROADM support in network.py, convert.py, coronet json, ROADM class

creation of a ROADM class with 20dB loss
convert.py json parser modification to include roadms
network.py modification to automate amplifier placing after roadm
elements.py inclusion of Roadm class

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-03-12 14:43:58 -04:00
Mattia Cantono
ba06a0e104 Add NLI Evaluation in Fiber class (#33)
* Add Travis-CI configuration for continous integration
* Add GN-Model Documentation and auto-doc integration
* Add GN model to Fiber
* Unit of measure conversion adapted to SI
2018-02-28 11:53:58 -05:00
Jean-Luc Augé
0d3a86f1d8 code wrap up and edfa model augmentation v2 (#30)
* JSON file based on Orange operator typical input
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* update of the standalone edfa model

creation of a new amlifier2.py = v2
creation of a json parser build_oa_json.py
the parser takes OA.json as input and newOA.json as output
creation of a pytest verification module amplifier_pytest.py

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* put the code together and transmission example script

-basic dijkstra propagation
-ase noise propagation based on amplifier model
-fake nli noise propagation
-integration of the amplifier model
-interpolation function in the edfa class
-code cleaning and units harmonization

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* mv transmission_main_example and rm _main__

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

* 2nd edfa model and build_oa_json file

add a dual coil stages edfa model in case the nf polynomial fit is not known
add a build_oa_json file that convert the input files in
edfa_config.json file and pre-calculate the nf_model nf1, nf2 and
delta_p parameters
adding power violation check and input padding (below minimum gain) in the edfa model
class

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-02-20 12:51:53 -05:00
Gilad Goldfarb
ca7b993d95 edfa model, json config loading, added utils (#26) 2018-02-13 12:11:10 -05:00
Gilad Goldfarb
a7d3c00e5b setup.py for package (#21) 2018-01-30 11:49:59 -05:00