Integration plugin demonstrators

optiSLang allows you to create integration nodes tailored for the needs, workflows, and specific use cases in your company, institution, team, or user community. Python programmers can easily create these integration nodes using the optiSLang framework for customized integration (CI) plugins.

NumberDescription
1Built-in generic text file manipulator node
2Built-in service-based integration
3Built-in text-based integration
4Custom Python-based integration plugin nodes
5Built-in COM-based integration

Integration nodes can be:

  • Input integration: optiSLang manipulates parameter values in a text file serving as the input deck, or calls a program that communicates new parameter values and manipulates a solver project.

  • Solver integration: optiSLang calls, for example, a user written Python subroutine, any kind of sub-processes, or an external/solver program.

  • Output integration: optiSLang loads output/result files, extracts numbers, and forwards a registered selections of design output/response values.

  • Any combination of the input, solver, and output functions.

Extending optiSLang's module library by adding integration nodes can help make recurring workflow creation and setup very simple and fast. The following image demonstrates how you can minimize repeated setup work.

Generic Integration NodesCustom Integration Nodes
   
  • Marking many parameters

  • Searching through many lines of text

  • Working through several files

  • Registering raw unscaled numbers

  • Pick one file and multiple files can be scanned

  • Drag and drop registration from a ready-made list

  • Listing contains only relevant pre-selection

  • You can add in further functions such as scaling, grouping, and relabelling

While the image above references input integration, you can address similar work minimization potentials using solver calls and output integration. Output data scanning can stretch over multiple files automatically, and involve custom postprocessing steps. User interface elements for determining integration options can be useful for all three basic functions. However, for spawning or controlling solver processes, thoughtfully designed user interface elements can be of huge benefit to a user group. For example, offering a choice of cluster queues in a simple drop-down menu while hiding most of the submission formalities in the Python code. One solver expert can devise intricate command line argument combinations, and the entire user group can use two or three mouse clicks in the tailor-made node edit dialog box.

This section contains a tutorial-like suite of demonstrators as additional help for plugin authors who are providing extensions to optiSLang by coding against the plugin API which is documented on the API for Python-Based Node Plugins page.