17 July 2023 Two changes.
The first is the correction of an error in the code for the reflection segment. The program worked for when circuits were tested with a delta pulse input in time but not otherwise. This is now corrected and tested with a scanning FP etalon and a CW laser input simulation. I will include it in the examples.
The second is that a new parameter input file format is added. The code is backward compatible with the previous format. The new format had two goals. The first was to improve the readability of the file, and the second, more important reason, was that in the new format the number of parameters can be extended (for e.g. new circuit components) easily and the older parameter files stay compatible. The plan is a.o. to introduce new SOA components that have more advanced (but slower) modelling. At this moment the examples, and descriptions pages will have to be adapted/extended to include the new format.
15 November 2022 A change was made in the way the input parameters were used for the absorber type segment. Until now the same parameters and expression were used for the fixed passive losses and the free carrier losses in the absorber segments as in the amplifier segments. This is in principle from a physics point of view OK however the parameters used for the carrier concentration dependent losses may not be valid for the relatively low carrier concentrations in the asborber. This was certainly the case for the example parameter file. This is now corrected by: a) using the input parameter for the passive losses of the absorber (instead of that for the amplifier); b) using only the linear free carrier loss parameter that is also used in the amplifier, c) not using any quadratic term in the carrier concentration dependence of the free carrier loss. Also please remember that the SOA input file provided is only valid from approximately 1 kA/cm2 to 9 kA/cm2 injection current density.
11 April 2020 Changes random number generation to a look-up table. The simulation was seriously slowed down by a CVI library function for Gaussian noise which was called many times. The input variable for a reproducible random number sequence is now functional.
March 2020 PHIsim v3 Introduction of PHIsim.v3. The simulator is extended with: 1) the possibility for carrier generation and free carrier loss in passive waveguides (new type of circuit element 'passive waveguide active' ); 2) changes to SOA free carrier loss this is now in line with analysis using the Balle parameterization of MQW SOA gain description (reference needed); 3) the mode size in the new passive waveguide circuit element can be changed. This can be used to describe two-photon generation and free carrier losses in IMOS wavgeuides. 4) console output is copied to a log file.
April 2018 New version of PHIsim2.0 with memory allocation issue for signal input solved.
March 2018 Improved modelling of spontaneous emission implemented.
May 2017. The GraphViz input files generated by PHIsim_input now show the ports on each circuit element. The arrows now show which ports are connected.
July 2016 I have started using Python3 to become more future proof. Quite a few of the Python files on the site might still be for version 2.7. The main issues are: using round brackets in print statements and changing the \ to / in the file paths.
September 2015. A new installation for PHIsim is available. There were a significant number of errors in the phase output, this was due to the phase running out of the <-pi;pi] range. This gave problems with unwrapping and calculating the chirp These have been corrected.
I was able to track the errors making a tool to look at the video output data, step by step. It is named PHIsim_view and it is available at the Installation page and described at the the PHIsim_view page.
Also the issue with so called loops has been addressed. All connection in a device_input file have to specify from a right-handside port to a lefthand side port. In order to make loops from a right(left)handside port to another right(left)hand side port a special circuit component with 2 left ports and 2 right ports has been introduced. The signals are looped from port 0 to 1 and vice versa for both left and righthand side. An example using this component will be added.
August 2014. Latest additions to the software (August 2014) are the capability to record data for a video and several errors in the software have been corrected. To run the software now also tools in Python have been written and made avialable.