Encyclopedia … combined with a great Buyer's Guide!

Sponsors:     and others

User Interfaces for Simulation Software

Posted on 2009-03-02 as a part of the Photonics Spotlight (available as e-mail newsletter!)

Permanent link: https://www.rp-photonics.com/spotlight_2009_03_02.html

Author: , RP Photonics Consulting GmbH

Abstract: The article discusses different types of user interfaces for simulation software, based on input forms, interactive graphical interfaces and on input scripts. There are certain trade-offs concerning the easy of getting started and the flexibility. An intelligent combination of approaches can lead to the best solution.

Dr. Rüdiger Paschotta

Besides the actual calculations done by a software, the user interface can be very important, as it determines whether you can do certain things within a reasonable time. There are quite different concepts:

  • Some software is controlled via input forms. It is simple to fill the requested input data into the form. However, you are then required to provide the data in exactly that form, and there is very little flexibility. Basically, the user can only adjust certain parameters, but not the general structure of the inputs or outputs.
  • Other software uses an interactive graphical interface. If it is well done, it gives you more flexibility than a form. However, it can be tedious to reconstruct later what inputs you have done where and in which order.
  • The most flexible concept is that of writing a script (i.e., a text file containing certain commands). A script describes your inputs, the desired calculation and how to display the results in graphical and/or text form. A script also well documents what you have done. However, you may be afraid of spending too much time learning a script language. Demo scripts and good documentation may help to get started quickly.

So we see that generally there is a trade-off to be made: some concepts are easiest to start with, while others are more flexible.

In my own software RP Fiber Power, made for designing fiber lasers and amplifiers, I used a combination of concepts in order to achieve a better combination of a quick start and highest flexibility. For not too complicated cases, the user can fill out forms. The software can create a script from the form inputs and execute that script. For more sophisticated simulations, the user may take such an automatically generated script and edit it further. I feel that this approach combines the best of two worlds.

If you are interested in discussing such issues, you may want to have a look at the Linked-In group on Optical Design and Analysis Software, where I started a discussion topic.


This article is a posting of the Photonics Spotlight, authored by Dr. Rüdiger Paschotta. You may link to this page and cite it, because its location is permanent. See also the RP Photonics Encyclopedia.

Note that you can also receive the articles in the form of a newsletter or with an RSS feed.

Questions and Comments from Users

Here you can submit questions and comments. As far as they get accepted by the author, they will appear above this paragraph together with the author’s answer. The author will decide on acceptance based on certain criteria. Essentially, the issue must be of sufficiently broad interest.

Please do not enter personal data here; we would otherwise delete it soon. (See also our privacy declaration.) If you wish to receive personal feedback or consultancy from the author, please contact him e.g. via e-mail.

Your question or comment:

Spam check:

  (Please enter the sum of thirteen and three in the form of digits!)

By submitting the information, you give your consent to the potential publication of your inputs on our website according to our rules. (If you later retract your consent, we will delete those inputs.) As your inputs are first reviewed by the author, they may be published with some delay.

preview

If you like this page, please share the link with your friends and colleagues, e.g. via social media:

These sharing buttons are implemented in a privacy-friendly way!