RP ProPulse – Numerical Simulation of Pulse Propagation
The Script Language
RP ProPulse is controlled with a powerful script language. Within a script, one can define
- the physical details of the modeled device (for example, a mode-locked laser), if required in fully parametrized form
- the properties of the initial pulse – for example, a soliton or Gaussian pulse with given parameters, or a full time or frequency trace including phase information
- some parameters for the numerical resolution
- code for the calculations to be done – for example, do some number of resonator round-trips and display certain parameters
- code for generating graphical output
The script language gives RP ProPulse an extreme level of flexibility, which will hardly be matched by any other software on the market. If required, one may do sophisticated programming in order to perform complex tasks. As an example, it is possible to simulate the pulse propagation under the influence of quantum noise and statistically process the data to obtain noise spectra. Of course, one can use the competent technical support to get solutions quickly.
For editing script code, the software offers powerful editors and related tools. A screen shot shows an editor:
Some great features of such editors:
- Multilevel undo/redo functionality
- Syntax highlighting: recognized command or function names, keywords, comments etc. are shown with different colors. That makes it easier to understand the structure.
- Parameter hints: if you type in a function name followed by a parenthesis, the editor displays information on the required parameter list. That way it becomes much simpler to utilize the hundreds of supported functions.
- Syntax check: you can quickly have the syntax of a script checked without executing it.
- Code snippets library: you can easily insert certain frequently used parts of code into your script. (See the screen shot below.) Users can create own code snippets as an extension for that library.
Since V3, RP ProPulse offers forms which can be tailored to your specialized needs. Such a form can be defined within a script – by yourself, if you like, or we do it for you within the technical support.
As an example, the screen shot below shows a custom form for designing mode-locked bulk lasers. In various tabs, one can enter all the input parameters and selects which diagrams should be made when the calculations are done. If you need a modified version of that demo file, that is no problem; you can easily add more input and output fields, for example, and have more diagrams generated.
Your script can define one or many different types of diagrams for visualizing the results of the calculations. Examples are shown below and on the pages for various example cases.
Those graphics windows have plenty of convenient features:
- measure positions and distances using one or two cursors
- save the graphics in GIF or PNG format
- export numerical data
- copy the graphics to the Windows clipboard
- recall the graphics from the last calculation run, so that you can clearly see any differences
- browse in multiple versions of a diagram (up to 1000)
Examples for the Graphical Output
The following diagrams have all been made with RP ProPulse and illustrate some of its features.
The first graph shows the temporal evolution of a third-order soliton. An animated GIF file has been prepared directly with RP ProPulse (without using additional software).
Another way to illustrate this evolution is a diagram where the color at each point, corresponding to a certain time (horizontal axis) and propagation distance (vertical axis), is calculated from the corresponding optical intensity. The soliton period is 50.4 m, i.e. the displayed range corresponds to about two soliton periods.
In a similar way, the following diagram shows the spectral evolution.
RP ProPulse also has an interactive display for time and frequency traces. The following example shows the third-order soliton at one point in the fiber.
RP ProPulse can also display spectrograms of various kinds. In the example, intense chirped picosecond pulses at 1064 nm (282 THz) propagate in a fiber and generate a supercontinuum. At low frequencies, where the fiber dispersion is anomalous, several solitons can be recognized, which interact with high frequency components having the same group velocity. Low and high frequency components are delayed due to group velocity dispersion in the fiber. The temporal wings of the initial pulses are not yet converted for the given fiber length (see the narrowband structure at 282 THz).
There is also an interactive form (not shown here) for generating spectrograms and Wigner plots. You can easily access the pulse at different locations in a resonator, for example, and after a variable number of round trips.
RP ProPulse comes with very well worked out documentation in the form of a PDF manual. The manual explains in detail (on over 50 pages) the principles of the physical model, the user interface, the script language, etc. The quality of that documentation is essential both for efficient industrial design work and for scientific research: you need to know exactly what are the assumptions made, what is calculated, etc.
Any remaining problems can be addressed with the technical support. We make sure that any problems you may have will soon be solved.