EMTPWorks - The Graphical User Interface

A powerful and intuitive interface for creating sophisticated electrical networks:
Non-linear libraryIt has object-oriented design, and is fully compatible with Microsoft Windows.

EMTP-RV is an advanced, yet easy-to-use graphical user interface that maximizes the capabilities of the underlying EMTP-RV engine.  EMTPWorks offers drag-and-drop convenience that lets users quickly design, modify and simulate electric power systems.  A drawing canvas and the ability to externally program device data allows users to fully customize simulations to their needs.  EMTPWorks can be used for small systems or very large-scale systems.

EMTPWorks: An intuitive and user-friendly Graphical User Interface (GUI)

EMTP-RV has a powerful GUI called EMTPWorks which is also its simulation environment. It is designed to efficiently create and maintain small circuits as well as very large scale networks.EMTPWorks has an open-architecture for maximized user configurability from basic user-defined model assemblies to more advanced script based programming.EMTPWorks offers script methods for simple data management tasks to more advanced object attribute settings, library functions and network device symbol redrawing and updating.Each device is given its data web using DHTML.Device data web pages can reside on the user’s computer or anywhere on the web. The script source code of all device data management functions is available to the user.EMTPWorks has automatic subcircuit creation methods with unlimited levels of hierarchy.Subcircuit masking options can accommodate user programming from simple data statements to more complex scripts and data capture panels.


  • Drag and drop device selection approach with simple connectivity methods,
  • Both devices and signals are objects with attributes.
  • A drawing canvas is given the ability to create objects and customized attribute
  • Single-phase/three-phase or mixed diagrams are supported,
  • Advanced features for creating and maintaining very large to extremely large networks,
  • Large number of subnetwork creation options including automatic subnetwork creation and pin positioning.
  • Unlimited subnetwork nesting level
  • Options for creating advanced subnetwork masks
  • Multipage design methods
  • Library maintenance and device updating methods

EMTPWorks has a 3-Layer design:

  • The lowest is a framework for the actual interface code,
  • A second layer is added for supporting scripting methods,
  • The third layer is the user or developer access layer.

- It provides a large collection of scripts for modifying and/or updating almost anything appearing on the design canvas.
- The scripting language is JavaScript with added methods for communicating with the framework layer
- All built-in devices are scripted for data and device symbol handling. Device symbols can be contextually updated through scripts. A device symbol editor is also available
- Device data capture forms are based on DHTML. Powerful data forms are created using JavaScript, DHTML and ActiveX. Device data can reside anywhere on the web
- User can create his own devices and externally program the full data handling methods
- In addition to device scripting, EMTPWorks provides full design scripting. Scripts are used to search for devices or to retrieve and modify data for a large number of devices using a few lines of script. Scripts can be also applied to signals
- Scripts are also used to generate the static Netlist submitted to EMTP-RV
EMTPWorks provides unsurpassed customization options and can be easily converted and used for other applications in power system analysis.