Vous êtes sur la page 1sur 1605

Table of Contents

Welcome to Simplorer Online Help . . . . . . . . . . . . . . . . . . . . .QuickLinks-1


Simplorer User Interface Quick Links . . . . . . . . . . . . . . . . . .
Projects Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Designs Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Components Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analysis Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Working with Legacy Files Quick Links . . . . . . . . . . . . . . . .
Optimetrics Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Results Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scripting Quick Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.

QuickLinks-1
QuickLinks-2
QuickLinks-2
QuickLinks-3
QuickLinks-4
QuickLinks-4
QuickLinks-5
QuickLinks-5
QuickLinks-6

Getting Started
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Additional Windows Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Increasing RAM on a 32-Bit PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Network Installations on Windows for Non-graphical batch solves without product-links

1-3

The Simplorer Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5


The Project Manager Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
The Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
The Components Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
The Search Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
The Model Editor Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14

Properties Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14


Param Values Tab (Properties Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
Contents-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

General Tab (Properties Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17


Symbol Tab (Properties Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
Quantities Tab (Properties Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
Signals Tab (Properties Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19
Showing and Hiding the Properties Window . . . . . . . . . . . . . . . . . . . . . . . . 1-19
Launching Online Help from the Properties Window . . . . . . . . . . . . . . . . . 1-19

The Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19


On-sheet Component Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Design Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Parameter Defaults Tab (Design Properties Dialog Box) . . . . . . . . . . . . . . 1-21
Parameter Values Tab (Properties Dialog Box) . . . . . . . . . . . . . . . . . . . . . . 1-23
General Tab (Properties Dialog Box) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
Symbol Tab (Properties Dialog Box) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
Quantities Tab (Properties Dialog Box) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
Signals Tab (Properties Dialog Box) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
Array/Record Element Values Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
Property Displays Tab (Properties Dialog Box) . . . . . . . . . . . . . . . . . . . . . 1-28
Add/Edit Property Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29

The Message Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29


Display or Hide the Message Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31
Hiding the Message Manager Window Until Messages Appear . . . . . . . . . 1-31
Clearing Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31
Showing Message Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31

The Progress Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32


The Design Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
Schematic Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33
Symbol Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34
Netlist Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-35
Model Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-36
Script Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-36
Report Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37

The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37


Desktop Menus and Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-39
Working with the Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-39
Working with The Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-41
External User Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-43
The Shortcut Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-44
Shortcut Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-44
Undoing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-48

Running Simplorer from a command line . . . . . . . . . . . . . . . . . . . . . . . . . 1-49


For -batchoptions Use: Project Directory and Lib Paths . . . . . . . . . . . . . 1-56
For -batchoptions Use: TempDirectory. . . . . . . . . . . . . . . . . . . . . . . . . . 1-57
For -batchoptions Use: Various Desktop Settings . . . . . . . . . . . . . . . . . . 1-57
Contents-2

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Getting Started Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-59


Copyright and Trademark Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-60
Ansoft Standard License Agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-61
Third-Party License Agreements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-64

2.

Getting Help
Conventions Used in the Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Searching in Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Using WebUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Emailing a Help Page Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6

3.

Working with Simplorer Projects


Setting Options in Simplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Setting General Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
General Options: Project Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
General Options: Default Units Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
General Options: Analysis Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
General Options: WebUpdate Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
General Options: Component Chooser Options Tab . . . . . . . . . . . . . . . . . . 3-6
General Options: Miscellaneous Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

Setting Simplorer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9


Simplorer Option: General Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Simplorer Options: Spice Compiler Options Tab . . . . . . . . . . . . . . . . . . . . 3-10
Simplorer Options: Import/Update Models Options Tab . . . . . . . . . . . . . . . 3-10
Simplorer Options: Port Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

Exporting Options Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18

Setting Options via Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20


Setting or Removing Option Values in Configuration Files: UpdateRegistry Command
3-23
Example Uses for Export Options Features . . . . . . . . . . . . . . . . . . . . . . . 3-26
Example for Setting an Installation Default Value . . . . . . . . . . . . . . . . . . . 3-27
Example for Setting a Host Dependent Default Value . . . . . . . . . . . . . . . . 3-27
Example for Reverting from a User Defined Option Value to the Administrator Default
3-27
Example Searching for a Registry Key Pathname . . . . . . . . . . . . . . . . . . . . 3-28

User Options and the Update Registry Tool . . . . . . . . . . . . . . . . . . . . . . 3-28


Getting a Value from a Specific Configuration File . . . . . . . . . . . . . . . . . . 3-29
Getting a Value Using Precedence Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Example of Removing a Host Dependent User Option Setting . . . . . . . . . . 3-29
Example Adding a Host Independent User Option Setting . . . . . . . . . . . . . 3-30
Setting the Temporary Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Temporary Directory Configuration File Format . . . . . . . . . . . . . . . . . . . . . 3-31
Contents-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Setting the Temporary Directory Using the GUI . . . . . . . . . . . . . . . . . . . . . 3-33


Setting the Temporary Directory From the Command Line . . . . . . . . . . . . 3-33
Setting or Removing Temporary Directory Values in Configuration Files: UpdateRegistry
Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33

Batchoptions Command Line Examples . . . . . . . . . . . . . . . . . . . . . . . . . 3-34


Batchoptions File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Example -BatchOptions with -Remote (Windows) . . . . . . . . . . . . . . . . . . . 3-35
Example -Batchsolve with -Machinelist (Windows) . . . . . . . . . . . . . . . . . . 3-35
Example -Batchsolve with -Machinelist (Linux) . . . . . . . . . . . . . . . . . . . . . 3-36
Example -Batchsolve for Local (Windows) . . . . . . . . . . . . . . . . . . . . . . . . . 3-37

General Information on DSO Configurations . . . . . . . . . . . . . . . . . . . . . . 3-39


Setting DSO Configurations Using the User Interface . . . . . . . . . . . . . . 3-39
DSO Configurations in the Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
Setting DSO Configurations Using UpdateRegistry . . . . . . . . . . . . . . . . 3-40

Simplorer File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45


Setting Up a Simplorer Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
Creating Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
Opening Existing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48
Opening Recent Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48

Opening Example Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49


Translating Legacy Simplorer Projects and Schematics . . . . . . . . . . . . . . 3-50
Legacy Translation Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-50
SML Header Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52
When Component Terminals Do Not Match the Model Terminals . . . . . . . 3-52
Translating Components with Identical Parameter Names . . . . . . . . . . . . . 3-53
Translating Schematics Containing a Simulink Component . . . . . . . . . . . . 3-54

Opening Legacy Simplorer Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-55


Opening Legacy Simplorer Schematic Sheets . . . . . . . . . . . . . . . . . . . . . 3-56
Importing ANF Design Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-58

Closing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-60


Saving Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61
Saving a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61
Saving the Active Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
Saving a Copy of a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
Saving Project Data Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63
Recovering Project Data in an Autosave File . . . . . . . . . . . . . . . . . . . . . . . 3-63

Archiving Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65


Restoring Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-69
Downloading Content from Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-71
Renaming a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-72
Deleting Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-72
Contents-4

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Removing Unused Definitions from a Project . . . . . . . . . . . . . . . . . . . . . . 3-73


Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-74
Datasets Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-74
Adding Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76
Adding Datasets Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76
Dataset Preview Plot Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77
Importing Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77

Editing Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-78


Cloning Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-79
Exporting Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-80
Removing Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-80
Using SheetScan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-81
SheetScan Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-81
SheetScan Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-82
The Curve Values Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-82
Loading a Datasheet Picture into SheetScan . . . . . . . . . . . . . . . . . . . . . . . . 3-82
Deleting a Datasheet Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83
Defining a SheetScan Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83
Defining a Characteristic Curve in SheetScan . . . . . . . . . . . . . . . . . . . . . . . 3-84
Selecting a SheetScan Characteristic Curve . . . . . . . . . . . . . . . . . . . . . . . . . 3-84
Changing Characteristic Curve Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-85
Editing a SheetScan Characteristic Curve . . . . . . . . . . . . . . . . . . . . . . . . . . 3-85
Deleting a SheetScan Characteristic Curve . . . . . . . . . . . . . . . . . . . . . . . . . 3-85
Checking for Monotonicity in X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-85
Importing Characteristic Data into SheetScan . . . . . . . . . . . . . . . . . . . . . . . 3-86
Exporting SheetScan Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-86

Undoing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-88


Redoing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-89
Inserting a Documentation File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-90
Importing Simulation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-91
Exporting a VHDL-AMS Model Description . . . . . . . . . . . . . . . . . . . . . . 3-94
Creating a Model and Component from the Current Schematic . . . . . . . . 3-95
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-96
Adding and Saving Project Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-98
Event Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-99
Using the Material Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-103
Editing an Existing Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-103
Creating a New Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-103
The View/Edit Material Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-104
Properties of the Material List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-104
Specifying Thermal Quadratic Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 3-104
Contents-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Material Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-105

4.

Working with Libraries


Introduction: Components and Component Libraries . . . . . . . . . . . . . . . . 4-2
Component Definition Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Parameter Data and Dependent Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Simplorer Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Library Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3


Library Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
The VHDL-AMS work Library in Simplorer . . . . . . . . . . . . . . . . . . . . . . . 4-4
Specifying the Location of Library Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Managing Library Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Components and Library Search Precedence . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Configuring Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Updating Project Definitions from Library Definitions . . . . . . . . . . . . . . . . 4-7
Model and Library Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

Translating Legacy Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9


Editing Translated Components, Symbols, and Models . . . . . . . . . . . . . . . 4-10

Managing Library Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12


Adding Definitions to Libraries via the Project Manager . . . . . . . . . . . . 4-12
Exporting Definitions to User Libraries via the Project Manager . . . . . . 4-13
Exporting and Importing Definition Archives . . . . . . . . . . . . . . . . . . . . . 4-14
Exporting Definition Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
Importing Definition Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17

Editing Materials Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18


Editing Scripts Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Editing Component Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Exporting Hierarchical Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20

Editing Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20


Editing Packages Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
Editing Symbol Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Recompiling, Encoding, and Licensing Libraries . . . . . . . . . . . . . . . . . . . 4-23


Using the Password Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Adding an Encryption Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Deleting an Encryption Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
AES Encryption Terms and Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
Encryption Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Time License Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28

Using the Component Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29


Editing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
Editing an Existing Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
Adding a New Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
Contents-6

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Edit Component Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31


General Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
Miscellaneous Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
Terminals Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
Simulation Models Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . 4-34

The Properties Dialog Box (Edit Component) . . . . . . . . . . . . . . . . . . . . . 4-35


Parameter Defaults Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . 4-35
Properties Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Quantities Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Signals Tab (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38
Adding and Editing Properties (Edit Component) . . . . . . . . . . . . . . . . . . 4-39
Removing Properties (Edit Component) . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
The Component Netlist String Property . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Netlist String Syntax Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40

Using the Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44


Creating and Editing Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44
Editing an Existing Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44
Creating a New Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45

The Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45


Symbol Editor Shortcut Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46
Symbol Graphic Object Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47
Arranging Symbol Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48

The Symbol Draw Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48


Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48
Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48
Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-49
Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-49
Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50
Text Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50
Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51
Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51
Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-53
Align Horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-53
Align Vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-53
Flip Vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54
Flip Horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54

The Symbol Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54


Update Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54
Set Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55
Symbol Property Display Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55
Pin List (Symbol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-56
Grid Setup (Symbol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-56
Contents-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Import File (Symbol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-56


Export File (Symbol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57
Edit Component (Symbol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57
Animate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57
List Symbol Graphic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-58

Editing Pin Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-58


The Pin List Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-58
Using Pin Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-60
Changing Pin Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-60

Using the Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61


Starting the Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61
Script Editor Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61
Script Editor Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61

Using the C-Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-63


C-Model Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-64
Adding a C-Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-65
Adding Analysis Types, Nodes, States, Variables, and Models to a C-Model 4-67
Adding Analysis Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
Adding Terminal Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68
Editing a Terminal Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
Adding Quantity Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
Editing a Quantity Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
Adding Internal State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
Editing Internal State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72
Declaring Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72
Editing Variable Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72
Adding Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73

Implementing the Initialize, Simulate, Validate, and Close Functions . . 4-73


Setting Matrix Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-74
Initializing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76
Setting the Values of Quantity Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76

Checking Syntax (C-Model Editor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77


Building a C-Model Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77
File Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-78
Configuring Build Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-78
Updating a Project to Include the C-Model . . . . . . . . . . . . . . . . . . . . . . . . . 4-79

Debugging a C-Model Created with the C-Model Editor . . . . . . . . . . . . 4-80


Revising an Existing C-Model with the C-Model Editor . . . . . . . . . . . . 4-80
Starting the Revision Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80
Revising a C-Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80
Implementing the Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80

C-Model Editor Menus and Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80


C Model Editor Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-81
Contents-8

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

C-Editor Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82


Main C-Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82
C Model Editor Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82
C-Editor Message Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83
Insert Data Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-84
Simulator Data Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-84
Callback Functions Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-84

Sample C-Model Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-85


RLC Low-Pass Filter Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-85
Linear Characteristic Model Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . 4-93

Using the VHDL-AMS Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99


Adding a VHDL-AMS Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99
Editing a VHDL-AMS Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-100
Editing Libraries, Packages, and Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-101
Adding Terminal, Quantity, or Signal Ports to an Entity Description . . . . . 4-101
Adding Generics to an Entity Description . . . . . . . . . . . . . . . . . . . . . . . . . . 4-102
Editing an Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-103
Renaming an Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-103
Adding an Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-103
Editing an Architecture Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104
Renaming an Architecture Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-105

Checking Syntax (VHDL Model Editor) . . . . . . . . . . . . . . . . . . . . . . . . . 4-105


Instantiating a Predefined Component in an Architecture Description . . 4-105
Updating a Project to Add a VHDL-AMS Model and Component . . . . . 4-106
Encrypting or Encoding a VHDL-AMS Model . . . . . . . . . . . . . . . . . . . . 4-106
Revising an Existing VHDL Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-107
VHDL-AMS Model Editor Menus and Windows . . . . . . . . . . . . . . . . . . 4-107
VHDL Model Editor Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-107
VHDL-AMS Edit Model Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-108
VHDL Model Editor Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-109
VHDL Model Editor Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-109
VHDL-AMS Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-111
VHDL-AMS Editor Message Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-112

Using the SML Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-113


Adding an SML Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-113
SML Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-114

Editing an External Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-115


Inserting a Dataset in the SML Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-116
Dataset Parameters Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-116

Checking Syntax (SML, SPICE, and Modelica Model Editors) . . . . . . . 4-117


Encrypting or Encoding an SML, Modelica, or SPICE Model . . . . . . . . 4-118

Using the SPICE Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-119


Contents-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding an SPICE Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-119


SPICE Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-120

Using the Modelica Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-123


Adding a Modelica Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-123
Modelica Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-124

Using the Package Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-127


Adding a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-127
Editing a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-128
Package Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-128

Checking Package Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-128


Encrypting or Encoding a VHDL-AMS Package . . . . . . . . . . . . . . . . . . 4-129

5.
6.

Simplorer Components
Device Characterization Wizard
Characterize Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Average IGBT Characterization Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Basic Dynamic and Advanced Dynamic IGBT Characterization Flow . . 6-4
Power MOSFET (Basic Dynamic) Characterization Flow . . . . . . . . . . . . 6-5
Component Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Nominal Working Point Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
Breakthrough Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
Half-Bridge Test Circuit Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
Transfer Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
Boundary Conditions for Transfer Characteristic Data . . . . . . . . . . . . . . 6-30
Fitting Ranges for Transfer Characteristic . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Fitting Characteristic Order for Transfer Characteristic . . . . . . . . . . . . . 6-31
Fitting Transfer Characteristic Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31

Output Characteristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32


Boundary Conditions for Output Characteristic Data . . . . . . . . . . . . . . . 6-35
Fitting Ranges for Output Characteristic . . . . . . . . . . . . . . . . . . . . . . . . . 6-35
Fitting Characteristic Order for Output Characteristic . . . . . . . . . . . . . . 6-35
Fitting Output Characteristic Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36

Freewheeling Diode Characteristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-37


Boundary Conditions for Freewheeling Diode Characteristic . . . . . . . . . 6-39
Fitting Ranges for Freewheeling Diode Characteristic . . . . . . . . . . . . . . 6-39
Fitting Characteristic Order for Freewheeling Diode Characteristic . . . . 6-39
Fitting Freewheeling Diode Characteristic Data . . . . . . . . . . . . . . . . . . . 6-39

Including Thermal Effects in the IGBT Model . . . . . . . . . . . . . . . . . . . . . 6-40


IGBT Thermal Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-41
IGBT Thermal Fitting Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-42
Contents-10

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Transient Thermal Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-43


Fraction Coefficients Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-44
Thermal Network Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-44
Partial Fraction Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45
Continued Fraction Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45
IGBT Heatsink Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45

Fitting Characteristic Data Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45

Freewheeling Diode Thermal Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46


Energy Characteristics (Average IGBT) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-48
Adding Rows to Energy Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . 6-49
Energy Characteristic Default Row Description . . . . . . . . . . . . . . . . . . . 6-50

Dynamic Model Input (Basic and Advanced Dynamic IGBT) . . . . . . . . . 6-51


Dynamic Parameter Validation (Basic and Advanced Dynamic IGBT) . . 6-60
Validation (Average IGBT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-62
Model Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-64
Adding/Deleting Characteristic Data Curves . . . . . . . . . . . . . . . . . . . . . . 6-67
Plotting Characteristics Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-68
Selecting a Characteristic Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69
Working with Characteristic Data Curves . . . . . . . . . . . . . . . . . . . . . . . . . 6-70
Fitting Data to the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-72
Validate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-72
Show Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-73
Show Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-74
Start Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-75

Import Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-76


Save Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-77
Close the Device Characterization Wizard . . . . . . . . . . . . . . . . . . . . . . . . 6-78
Tutorial for Characterizing a Basic Dynamic IGBT . . . . . . . . . . . . . . . . . 6-79
Preliminary Considerations Using Data Sheet Information . . . . . . . . . . . 6-79
Using the Device Characterization Wizard for a Basic Dynamic IGBT . 6-80

Tutorial for Characterizing a Power MOSFET . . . . . . . . . . . . . . . . . . . . . 6-85


Preliminary Considerations Using Power MOSFET Data Sheet Information 6-85
Using the Device Characterization Wizard for a Power MOSFET . . . . . 6-86

7.

Power Module Characterization Wizard


Using System Library Power Module Models . . . . . . . . . . . . . . . . . . . . . 7-2
Modifying System Library Power Module Models . . . . . . . . . . . . . . . . . . 7-3
Creating a Power Module Behavioral Model. . . . . . . . . . . . . . . . . . . . . . . 7-4
Creating a New Power Module Model Library . . . . . . . . . . . . . . . . . . . . 7-4
Adding a New Behavioral DC/DC Converter Model . . . . . . . . . . . . . . . 7-4
Contents-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Defining a Static Converter Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5


Generating VHDL-AMS Code and Importing the Model into Simplorer 7-8
Defining the Converter Model Dynamic Behavior . . . . . . . . . . . . . . . . . 7-9
Defining Event Driven Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
Enabling Current Sharing and Thermal Modeling . . . . . . . . . . . . . . . . . . 7-11

Modelling of DC-DC Converters Based on Hybrid Wiener-Hammerstein Structure 713


PROPOSED HYBRID WIENER-HAMMERSTEIN STRUCTURE . . . 7-13
Detailed Wiener-Hammerstein Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14
Event-driven Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19

8.

Component Dialog Wizard


Creating a New Component Dialog Box Using the Component Dialog Wizard 8-2
Adding Static Information and Control Elements to a Component Dialog Box 8-3
Changing the Name of a Component Dialog Box . . . . . . . . . . . . . . . . . . 8-3
Adding Groups to a Component Dialog Box . . . . . . . . . . . . . . . . . . . . . . 8-4
Adding Statics to a Component Dialog Box . . . . . . . . . . . . . . . . . . . . . . 8-5
Adding Text Edits to a Component Dialog Box . . . . . . . . . . . . . . . . . . . 8-8
Adding ComboBoxes to a Component Dialog Box . . . . . . . . . . . . . . . . . 8-11
Adding Check Boxes to a Component Dialog Box . . . . . . . . . . . . . . . . . 8-16
Adding Radio Buttons to a Component Dialog Box . . . . . . . . . . . . . . . . 8-22
Adding List Boxes to a Component Dialog Box . . . . . . . . . . . . . . . . . . . 8-25

Determining a Non-conservative Input Node's Value Using Free Values 8-27


Aligning and Sizing Component Dialog Box Elements . . . . . . . . . . . . . . 8-31
Component Dialog Box Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31
Component Dialog Box Lock Controls . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31
Component Dialog Wizard Size Controls . . . . . . . . . . . . . . . . . . . . . . . . 8-34

Setting the Tab Order of a Component Dialog Box . . . . . . . . . . . . . . . . . 8-37


Setting the Display Behavior of Component Dialog Box Elements . . . . . 8-39
Component Dialog Box Display Behaviors . . . . . . . . . . . . . . . . . . . . . . . 8-39
Lock Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39
Relative Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40
Default Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41

Selecting the Dialog Box Display Behavior of a Dialog Element . . . . . . 8-43


Selecting Dialog Box Resize Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43
Setting Dialog Box Element Conditions for Display . . . . . . . . . . . . . . . . . . 8-46

Testing a Component Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49


Using Show Component Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49
Using Check Component Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-50

Saving and Closing a Component Dialog Box . . . . . . . . . . . . . . . . . . . . . 8-51


Using a Component Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52
Contents-12

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Revising a Component Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52


Component Dialog Wizard Window Items . . . . . . . . . . . . . . . . . . . . . . . . 8-53
Component Dialog Wizard Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53
Wizard Menu (Component Dialog Wizard) . . . . . . . . . . . . . . . . . . . . . . . . . 8-53
Edit Menu (Component Dialog Wizard) . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-54
Layout Menu (Component Dialog Wizard) . . . . . . . . . . . . . . . . . . . . . . . . . 8-54
Controls Menu (Component Dialog Wizard) . . . . . . . . . . . . . . . . . . . . . . . . 8-54
Page Menu (Component Dialog Wizard) . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-54

Component Dialog Wizard Standard Toolbar . . . . . . . . . . . . . . . . . . . . . 8-55


Component Dialog Wizard Layout Toolbar . . . . . . . . . . . . . . . . . . . . . . 8-56

9.

Working with Variables


Variable Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Defining a Project Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Viewing and Editing Project Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Deleting Project Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Defining Local (Design) Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Adding a Local Variable at the Design Level . . . . . . . . . . . . . . . . . . . . . . . 9-7
Adding a Local Variable from a Component . . . . . . . . . . . . . . . . . . . . . . . . 9-8

Deleting Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9

Defining an Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10


Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10
Range Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
Using Standard Mathematical Functions in Expressions . . . . . . . . . . . . . 9-11
Constants Tab (Project Variables Dialog) . . . . . . . . . . . . . . . . . . . . . . . . 9-11

Reserved Variable Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12


Defining Parameter Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14
Defining a New Parameter Default by Starting at the Design Level . . . . 9-14

Assigning Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15


Choosing a Variable to Optimize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16
Including a Variable in a Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . 9-17
Choosing a Variable to Tune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
Including a Variable in a Statistical Analysis . . . . . . . . . . . . . . . . . . . . . . 9-19

10.

Schematic Editor
Setting Schematic Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
Schematic Editor Options: General Tab . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Schematic Editor Options: Simplorer Tab . . . . . . . . . . . . . . . . . . . . . . . 10-2
Schematic Editor Options: Wiring Tab . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Schematic Editor Options: Multiple Placement Tab . . . . . . . . . . . . . . . 10-3
Schematic Editor Options: Fonts Tab . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
Contents-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Schematic Editor Options: Colors Tab . . . . . . . . . . . . . . . . . . . . . . . . . 10-3


Schematic Editor Options: Symbol Editor Tab . . . . . . . . . . . . . . . . . . . 10-4

Starting the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4


The Schematic Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
Schematic Editor Shortcut Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
Grid Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
Schematic Page Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8
Page Borders Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8
Title Block Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
Page Properties and Display Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10

Zooming and Panning the View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11


Zooming In and Out on the Window Contents . . . . . . . . . . . . . . . . . . . . . 10-11
Zooming In on a Rectangular Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Restoring a Previous Zoom View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Fitting the Drawing to the Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Fitting the Drawing Border to the Window . . . . . . . . . . . . . . . . . . . . . . . . 10-12
Panning the View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12
Redrawing a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12

Closing the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12


Creating Simulation Models Using the Schematic Editor . . . . . . . . . . . . 10-13
Selecting and Placing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13
Editing Component Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16
The Parameters Dialog Box Output/Display Tab . . . . . . . . . . . . . . . . . . . 10-19

Editing Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19


Favorites and Most Recently Used Components . . . . . . . . . . . . . . . . . . 10-20
Operations on Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20
Characteristics in Simulation Models . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22
Using Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24
Displaying and Hiding Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24
Names at Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25

Connecting Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25


Selecting a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26
Displaying Wire Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26
Checking Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27
Removing Unconnected Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27

Nets, Buses, and Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27


Drawing Bus Entry Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30
Net and Bus Auto-Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-32
Placing Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-33
Interface Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-34
Global Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-38
Page Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-39
Contents-14

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Ground Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-41

How Ports Affect Node Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-42


Changing Node Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-43
The Effect of Deleting Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-44

Finding Elements in the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . 10-45


Selecting Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47
Sorting Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47
Listing Design Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-49
Editing Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-54
Adding Primitive Drawing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
Properties of Drawing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
Drawing an Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
Drawing a Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
Drawing a Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-57
Drawing a Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-57
Drawing a Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-58
Adding Text to a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-58
Adding a Bitmap or GIF Format Image to a Schematic . . . . . . . . . . . . 10-58

Drawing Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-59


Adding Reports to a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-61
Modifying an On-sheet Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-61
Opening an On-sheet report in a New Window . . . . . . . . . . . . . . . . . . . 10-62

Setting Up Multi-Page Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-63


Setting Up Hierarchical Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-65
The Bottom-Up Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-65
The Top-Down Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-65

Adding a SubCircuit to a Simplorer Design . . . . . . . . . . . . . . . . . . . . . . 10-66


Adding a SubCircuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-66

Creating a SubCircuit from a Selection Area . . . . . . . . . . . . . . . . . . . . . 10-68


Copying an Existing Subcircuit within a Design . . . . . . . . . . . . . . . . . . . 10-70
Moving Between Designs in a Schematic Hierarchy . . . . . . . . . . . . . . . 10-71
Copying a Simplorer Design into Another Design . . . . . . . . . . . . . . . . . 10-72
Working with Design Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-74
Saving a Design Model Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 10-74
Loading a Design Model Configuration . . . . . . . . . . . . . . . . . . . . . . . . 10-74
Editing a Design Model Configuration File . . . . . . . . . . . . . . . . . . . . . . 10-75

Design Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-76


Accessing Include Files from the Schematic Editor . . . . . . . . . . . . . . . . 10-77
Accessing Library File Blocks from the Schematic Editor . . . . . . . . . . . 10-77
Contents-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-78


Printing a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-79

11.

Product Coupling
Simplorer Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
Simulink SubCircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
Program Requirements for MATLAB/Simulink SubCircuits . . . . . . . . 11-3
Add Simulink Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
Creating and Linking a MATLAB/Simulink Model . . . . . . . . . . . . . . . . . 11-6
Simplorer/Simulink Co-Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8

Mathcad SubCircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8


Program Requirements for Mathcad Model Subcircuits . . . . . . . . . . . . . . 11-8
Add Mathcad Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9

Adding a Dynamic Coupling Component SubCircuit . . . . . . . . . . . . . . 11-9


Maxwell Coupling Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14
Maxwell Transient Cosimulation Component . . . . . . . . . . . . . . . . . . . . . . 11-14
Maxwell Equivalent Circuit Component . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
Maxwell Dynamic Inductance Coupling Component . . . . . . . . . . . . . . . . 11-31
Maxwell Dynamic Capacitance Coupling Components . . . . . . . . . . . . . . 11-33
Maxwell State Space Coupling Components . . . . . . . . . . . . . . . . . . . . . . . 11-37

RMxprt Dynamic Coupling Component . . . . . . . . . . . . . . . . . . . . . . . . 11-40


Program Requirements for RMxprt Dynamic Coupling Components . . . . 11-40
Overview of RMxprt Dynamic Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . 11-41
Adding an RMxprt Dynamic Coupling Component in Simplorer . . . . . . . 11-42
Example of an RMxprt Dynamic Model in Simplorer . . . . . . . . . . . . . . . . 11-43

Q3D Dynamic Coupling Components . . . . . . . . . . . . . . . . . . . . . . . . . . 11-43


Q3D Equivalent Circuit Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-43
Q3D State Space Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-47

PExprt Static Coupling Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-54


Program Requirements for PExprt Static Component Coupling . . . . . . . . 11-54
Overview of PExprt Static Component Coupling . . . . . . . . . . . . . . . . . . . 11-55

ANSYS Mechanical Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-56


Program Requirements for ANSYS Mechanical Component Coupling . . 11-56
ANSYS Mechanical Component Interface Concept . . . . . . . . . . . . . . . . . 11-56
Overview of ANSYS Mechanical Component Coupling Workflow . . . . . 11-57
Adding an ANSYS Mechanical Component . . . . . . . . . . . . . . . . . . . . . . . 11-57
ANSYS Mechanical Link Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-59

File Link Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-61


Icepak Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-62
Program Requirements for ANSYS Icepak Component Coupling . . . . . . 11-62
ANSYS Icepak Component Interface Concept . . . . . . . . . . . . . . . . . . . . . 11-62
Overview of ANSYS Icepak Component Coupling Workflow . . . . . . . . . 11-68
Adding an ANSYS Icepak Component Subcircuit . . . . . . . . . . . . . . . . . . 11-69
Contents-16

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

State-Space Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-76


Program Requirements for State-Space Components . . . . . . . . . . . . . . . . 11-76
Overview of State-Space Component Coupling . . . . . . . . . . . . . . . . . . . . 11-76
Generate State-Space Component Dialog Box . . . . . . . . . . . . . . . . . . . . . 11-77
Adding a State-Space Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-79
Viewing and Editing State-Space Component Matrix Values . . . . . . . . . . 11-80

Changing or Moving Coupling Model Files . . . . . . . . . . . . . . . . . . . . . 11-81


SIwave Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-82
Program Requirements for SIwave Component Coupling . . . . . . . . . . . . . 11-82
Overview of SIwave Component Coupling . . . . . . . . . . . . . . . . . . . . . . . . 11-82

HFSS Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-83


Program Requirements for HFSS Component Coupling . . . . . . . . . . . . . . 11-83
Overview of HFSS Component Coupling . . . . . . . . . . . . . . . . . . . . . . . . . 11-83

Push Excitations for HFSS and SIwave Components . . . . . . . . . . . . . . 11-84


Ansys RBD Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-86
Program Requirements for ANSYS RBD Component Coupling . . . . . . . 11-86
Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-86
Overview of ANSYS RBD Component Coupling . . . . . . . . . . . . . . . . . . . 11-86

ANSYS Fluent Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-92


Program Requirements for ANSYS Fluent Component Coupling . . . . . . 11-92
Overview of ANSYS Fluent Co-simulation with Simplorer . . . . . . . . . . . 11-93

ANSYS Esterel Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-96


Program Requirements for ANSYS Esterel Component Coupling . . . . . . 11-96
Overview of ANSYS Esterel Coupling with Simplorer . . . . . . . . . . . . . . . 11-96

12.

Netlist Editor
Viewing Netlists in Simplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-77

Netlist Editor Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-78


Netlist Editor Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-78
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-80
Using Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-80
Inserting a Bookmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-80
Deleting a Bookmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-81
Deleting All Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-81
Moving Forward to the Next Bookmark . . . . . . . . . . . . . . . . . . . . . . . . . . 12-81
Moving Backward to the Previous Bookmark . . . . . . . . . . . . . . . . . . . . . . 12-81

Searching the Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-81


Searching from the Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-82
Searching from the Edit Menu or by Keyboard Shortcut . . . . . . . . . . . . . . 12-82

Searching for and Replacing Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-82


Going to a Numbered Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-83
Exporting a Netlist or Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-83
Contents-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Text Editor Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-84

13.

ANSYS Workbench Integration Overview


Integrating ANSYS Electromagnetics Products with ANSYS Workbench 13-1
Integration with ANSYS 14.5 During ANSYS Electromagnetics Product Installation

13-2
Integration with ANSYS 14.5 after ANSYS Electromagnetics Product Installation
13-3

Workbench Data Integration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6


Adding New ANSYS Electromagnetics Analysis Systems . . . . . . . . . . 13-8
Importing ANSYS Electromagnetics Projects into ANSYS Workbench 13-9
Editing ANSYS Electromagnetics Models in Workbench . . . . . . . . . . 13-10
Analyzing ANSYS Electromagnetics Models in Workbench . . . . . . . . 13-11
Performing Parameter Studies in Workbench . . . . . . . . . . . . . . . . . . . . 13-12
Scripting in Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14

ANSYS Electromagnetics - ANSYS Multiphysics Coupling . . . . . . . . . 13-14


Multiphysics Coupling on Workbench with ANSYS Thermal . . . . . . . 13-15
Multiphysics Coupling on Workbench with ANSYS Structural . . . . . . 13-16
Multiphysics Coupling between ANSYS Electromagnetics Field Systems on Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16

ANSYS Electromagnetics CAD Integration through Workbench . . . . . 13-17


Bi-Directional CAD Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-21
CAD Integration Model Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-23
Multiple Geometry Links for CAD Integration . . . . . . . . . . . . . . . . . . . 13-24
CAD Integration Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-25
Healing with CAD Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26
Important Geometry Options for CAD Integration . . . . . . . . . . . . . . . . 13-27

User Defined Model (UDM) for ANSYS WB Integration . . . . . . . . . . . 13-28


UDM compared to User Defined Primitives . . . . . . . . . . . . . . . . . . . . . 13-30
Insert UDM Command on Draw Menu . . . . . . . . . . . . . . . . . . . . . . . . . 13-31
UDM Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-32
UDM Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-32
UDM Part Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33

Library of Models for CAD Integration . . . . . . . . . . . . . . . . . . . . . . . . . 13-34


ANSYS to ANSYS Electromagnetics Geometry Transfer . . . . . . . . . . 13-36
CAD Integration Material Assignment Transfer . . . . . . . . . . . . . . . . . . 13-37
Geometry Transfer through ANSYS DesignModeler (DM) . . . . . . . . . 13-38
CAD Integration Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-40

14.

Analyzing Simplorer Designs


Simulator Backplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2

Contents-18

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Circuit Simulator Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2


Block Diagram Simulator Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
State Graph Simulator Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3
VHDL-AMS Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4

Simplorer Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5


Standard Analysis Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5
Advanced Analysis Types - Optimetrics . . . . . . . . . . . . . . . . . . . . . . . . 14-6

Standard Analysis Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7


Transient Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7
Guidelines for the Proper Choice of Time Step . . . . . . . . . . . . . . . . . . . . . 14-8
Adding a Transient Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8

AC Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10


Guidelines for Configuring AC Simulation Models . . . . . . . . . . . . . . . . . 14-11
Adding an AC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12

DC Analysis Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13


Guidelines for Configuring DC Simulation Models . . . . . . . . . . . . . . . . . 14-14
Adding a DC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-15

Viewing DC Bias Values in a Schematic . . . . . . . . . . . . . . . . . . . . . . . . 14-15


Select Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-18
Setting the Active Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
Disabling/Enabling an Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
Editing an Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
Copying and Pasting an Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . 14-20
Renaming an Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20
Deleting an Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20

Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22


TR (Transient) Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22
Using the Simulator Performance Slider . . . . . . . . . . . . . . . . . . . . . . . . . . 14-25

AC Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26
DC Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26
General Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-27
SML Header Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
Adding Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
Editing Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-29
Copying and Pasting Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . 14-30
Renaming Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-30
Deleting Solution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-30

Importing Solution Data (.sdb format) . . . . . . . . . . . . . . . . . . . . . . . . . . 14-31


Importing a Solution Data File (non-.sdb format) . . . . . . . . . . . . . . . . . . 14-32
Setting the Outputs for Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-34
Contents-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

15.

Running Simulations
Solving a Single Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
Running More Than One Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3
Specifying the Analysis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4
Remote Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-9
Determining the Desired Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 15-11
Common Windows Configurations (Advantages and Disadvantages) . . . 15-12
Determining User Accounts to Use with the Selected Configuration . . . . 15-13
Using Groups for Security Permissions on Windows . . . . . . . . . . . . . . . . 15-16

Configuring the Remote Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-17


Configuring the Remote Machine for Windows XP Professional (32-bit and 64-bit) and
Windows Server 2003 (32-bit and 64-bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-17

Configuring the Local Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-26


Configuring the Local Machine for Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-26

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-32

Distributed Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-39


Configuring Distributed Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-39
Editing Distributed Machine Configurations . . . . . . . . . . . . . . . . . . . . . 15-40
Selecting an Optimal Configuration for Distributed Analysis . . . . . . . . 15-44

Monitoring and Controlling the Solution Process . . . . . . . . . . . . . . . . . . 15-45


Simplorer Simulation Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-46
Progress Bar Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-46
Monitoring Solution Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-48
Modifying Parameters During a Simulation . . . . . . . . . . . . . . . . . . . . . 15-48
Monitoring Queued Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-50

High Performance Computing (HPC) Integration . . . . . . . . . . . . . . . . . . 15-51


Scheduler Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-52
What a Scheduler Does . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-52

Installation of Ansoft Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-53


Firewall Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-54
Installation Directory Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-54

Ansoft Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-55


Integration with Microsoft Windows HPC Scheduler . . . . . . . . . . . . 15-55
Windows HPC Job Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-56
Windows HPC Task Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-57
Windows HPC Job Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-59
Selecting Computation Resource Units (Job Unit Type) . . . . . . . . . . . . . . 15-60
How to Select the Windows HPC Job Unit Type . . . . . . . . . . . . . . . . . . 15-61
Windows HPC Job Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-62
Contents-20

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Submitting and Monitoring Ansoft HPC Jobs . . . . . . . . . . . . . . . . . . . . 15-62


Submitting and Monitoring Jobs Using the Ansoft Submit HPC Job Dialog 15-63
The Ansoft Submit HPC Job Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-66
Specifying the Number of Compute Resource Units for HPC Jobs . . . . . 15-68

Integration with Platforms Load Sharing Facility (LSF) . . . . . . . . . . . 15-69


Installation of ANSYS EM Tools on LSF Cluster . . . . . . . . . . . . . . . . . . . 15-71
Integration of ANSYS EM Products with LSF . . . . . . . . . . . . . . . . . . . . . 15-75
LSF Job Submission Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-75
Job Management User Interface for LSF . . . . . . . . . . . . . . . . . . . . . . . . . . 15-76
Integrated Job Monitoring for Job Management Interface for LSF . . . . . . 15-89
Submitting ANSYS EM LSF Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . 15-92
LSF Command Used to Launch Remote Engine Processes . . . . . . . . . . . . 15-92
Submitting Ansoft LSF Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-92
Current Working Directory with LSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-92
Quoting Ansoft Command or Arguments for LSF . . . . . . . . . . . . . . . . . . . 15-93
bsub Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-93
Monitoring Ansoft LSF Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-93
Terminating Ansoft LSF Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-94
Example LSF bsub Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-94
Known Issues for LSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-98
Troubleshooting for LSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-99
Workarounds with LSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-100

Integration with PBS (Portable Batch System) Professional from Altair Engineering
15-101
qsub Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-102
Monitoring Ansoft PBS Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-103
Example PBS qsub Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-104

Integration with Grid Engine (GE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-105


Installation of ANSYS EM Tools on SGE . . . . . . . . . . . . . . . . . . . . . . . . . 15-107
Job Management User Interface for SGE . . . . . . . . . . . . . . . . . . . . . . . . . 15-109
Integrated Job Monitoring for Job Management Interface for SGE . . . . . 15-122
SGE Command Line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-126
Monitoring Ansoft SGE Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-128
Ansoft Desktop -monitor Command Line Option for SGE . . . . . . . . . . . . 15-129
Example SGE qsub Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-130
Recommended Practices for SGE Clusters . . . . . . . . . . . . . . . . . . . . . . . . 15-131
Issue with qrsh (SGE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-136
Issue with MainWin Core Services for SGE . . . . . . . . . . . . . . . . . . . . . . . 15-136

Command Line Enhancements for Ansoft Desktop Products . . . . . . . . 15-138


Integrating Ansoft Tools with Third Party Schedulers . . . . . . . . . . . . . 15-140
Build Information for Scheduler Proxy Library . . . . . . . . . . . . . . . . . . . . . 15-140
Implementation Details for Custom Scheduler Integration . . . . . . . . . . . . 15-141
IsProductLaunchedInYourEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . 15-141
Contents-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

GetTempDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-142
GetMachineListAvailableForDistribution . . . . . . . . . . . . . . . . . . . . . . . . . 15-142
LaunchProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-143
GetUseRsmForEngineLaunch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-144
GetThisJobID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-145
GetSchedulerDisplayName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-145

Scheduler Proxy Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-146


Testing Your Scheduler Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-151
Testing IsProductLaunchedInYourEnvironment . . . . . . . . . . . . . . . . . . . . 15-152
Testing GetSchedulerDisplayName and GetThisJobID . . . . . . . . . . . . . . . 15-152
Testing GetTempDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-152
Testing GetMachineListAvailableForDistribution . . . . . . . . . . . . . . . . . . 15-152
Testing LaunchProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-153
Testing GetUseRsmForEngineLaunch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-153

Troubleshooting Custom Scheduler Integration . . . . . . . . . . . . . . . . . . 15-154


None of the Proxy Functions are Called . . . . . . . . . . . . . . . . . . . . . . . . . . 15-154
Troubleshooting IsProductLaunchedInYourEnvironment Function . . . . . 15-154
Troubleshooting GetSchedulerDisplayName . . . . . . . . . . . . . . . . . . . . . . . 15-155
Troubleshooting GetThisJobID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-155
Troubleshooting GetTempDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-155
Troubleshooting GetMachineListAvailableForDistribution . . . . . . . . . . . 15-155
Troubleshooting LaunchProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-156
Troubleshooting GetUseRsmForEngineLaunch . . . . . . . . . . . . . . . . . . . . 15-156

Re-solving a Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-157


Resetting Symbol Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-158

16.

Network Data Explorer


ndExplorer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2
Loading Data Into ndExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
Exporting Data from ndExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5
Creating a Simplorer Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5
Export SYZ Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5
Export Macro Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
Scripting ndExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-12

Right-Click Context Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13


Display Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13
Multiple Frequency Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-14
Highlight Min/Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-14
Select Transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-14
Full Port Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-14

Viewing Data and Modifying the Display . . . . . . . . . . . . . . . . . . . . . . . . 16-15


Viewing the S, Y, or Z Matrix for a Selected Frequency . . . . . . . . . . . 16-15
Contents-22

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Color Coded Matrix Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-17


Changing the Color Scheme for a Matrix Color Plot . . . . . . . . . . . . . . . 16-19
Viewing Matrix Cell Data Across All Frequencies . . . . . . . . . . . . . . . . 16-20
Cell Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-21
Displaying a Graph of a Cell Across All Frequencies . . . . . . . . . . . . . . 16-22
Displaying Statistics by Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-24
Displaying Individual Statistics for All Frequencies . . . . . . . . . . . . . . . 16-25

Creating a Statistics Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-28


Comparing Network Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30
Comparing Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-32
Displaying Plot Traces from Multiple Data Sources . . . . . . . . . . . . . . . . 16-33
Displaying Mixed-Mode Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-35
Changing Port Properties and Reducing Matrix Size . . . . . . . . . . . . . . . 16-37
Thresholding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-39
Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-41

17.

Optimetrics
Parametric Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
Setting Up a Parametric Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
Adding a Variable Sweep Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
Specifying Variable Values for a Sweep Definition . . . . . . . . . . . . . . . . . 17-6
Synchronizing Variable Sweep Definitions . . . . . . . . . . . . . . . . . . . . . . . . 17-6

Modifying a Variable Sweep Definition Manually . . . . . . . . . . . . . . . . 17-7


Overriding a Variable's Current Value in a Parametric Setup . . . . . . . . 17-8
Specifying a Solution Setup for a Parametric Setup . . . . . . . . . . . . . . . 17-9
Specifying the Solution Quantity to Evaluate for Parametric Analysis . . . 17-9
Setup Calculations for Optimetrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10
Specifying a Solution Quantity's Calculation Range . . . . . . . . . . . . . . . . . 17-11

Viewing Results for Parametric Solution Quantities . . . . . . . . . . . . . . . 17-11


Adding a Parametric Sweep from a File . . . . . . . . . . . . . . . . . . . . . . . . 17-13
Using Distributed Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13

Optimization Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-15


Choosing an Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-15
Quasi Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-15
Pattern Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-19
Sequential Non-linear Programming (SNLP) . . . . . . . . . . . . . . . . . . . . . . 17-21
Sequential Mixed Integer NonLinear Programming . . . . . . . . . . . . . . . . . 17-23
Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23
MATLAB optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-24

Optimization Variables and the Design Space . . . . . . . . . . . . . . . . . . . . 17-29

Setting Up an Optimization Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-30


Contents-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Optimization Setup for the Quasi Newton Optimizer . . . . . . . . . . . . . . 17-31


Optimization Setup for the Pattern Search Optimizer . . . . . . . . . . . . . . 17-32
Optimization Setup for the SNLP Optimizer . . . . . . . . . . . . . . . . . . . . . 17-33
Optimization Setup for the SMINLP Optimizer . . . . . . . . . . . . . . . . . . 17-34
Optimization Setup for the Genetic Algorithm Optimizer . . . . . . . . . . . 17-35
Optimization Setup for the MATLAB Optimizer . . . . . . . . . . . . . . . . . 17-36
Setting the Maximum Iterations for an Optimization Analysis . . . . . . . 17-37
Cost Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-38
Acceptable Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-39
Cost Function Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-39
Adding a Cost Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-39
Setting a Goal Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-43
Goal Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-45

Modifying the Starting Variable Value for Optimization . . . . . . . . . . . 17-46


Setting the Min. and Max. Variable Values for Optimization . . . . . . . . 17-46
Overriding the Min. and Max. Variable Values for a Single Optimization Setup 17-47
Changing the Min. and Max. Variable Values for Every Optimization Setup 17-47

Step Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-47


Setting the Min. and Max. Step Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-49

Setting the Min and Max Focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-49


Equalizing the influence of different optimization variables. . . . . . . . . . . 17-50
To set the Min and Max Focus values: . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-50

Solving a Parametric Setup Before an Optimization . . . . . . . . . . . . . . . 17-50


Solving a Parametric Setup During an Optimization . . . . . . . . . . . . . . . 17-51
Automatically Updating a Variable's Value After Optimization . . . . . . 17-51
Changing the Cost Function Norm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-51
Explanation of L1, L2 and Max norms in Optimization . . . . . . . . . . . . . . 17-52

Advanced Genetic Algorithm Optimizer Options . . . . . . . . . . . . . . . . . 17-54

Sensitivity Analysis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-58


Selecting a Master Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-58

Setting Up a Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-59


Setting the Maximum Iterations Per Variable . . . . . . . . . . . . . . . . . . . . 17-60
Setting Up an Output Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-60
Specifying a Solution Quantity for an Output Parameter . . . . . . . . . . . . . 17-61
Setting the Calculation Range of an Output Parameter . . . . . . . . . . . . . . . 17-62

Modifying the Starting Variable Value for Sensitivity Analysis . . . . . . 17-62


Setting the Min. and Max. Variable Values . . . . . . . . . . . . . . . . . . . . . . 17-63
Overriding the Min. and Max. Variable Values for a Single Sensitivity Setup 17-63
Changing the Min. and Max. Variable Values for Every Sensitivity Setup 17-64

Setting the Initial Displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-64


Solving a Parametric Setup Before a Sensitivity Analysis . . . . . . . . . . 17-64
Solving a Parametric Setup During a Sensitivity Analysis . . . . . . . . . . 17-65
Contents-24

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Statistical Analysis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-66


Setting Up a Statistical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-67
Statistical Analysis with Netlist Components . . . . . . . . . . . . . . . . . . . . 17-67
Setting the Maximum Iterations for a Statistical Analysis . . . . . . . . . . 17-68
Specifying the Solution Quantity to Evaluate for Statistical Analysis . 17-68
Setting the Solution Quantity's Calculation Range . . . . . . . . . . . . . . . . 17-69
Setting the Distribution Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-70
Overriding the Distribution Criteria for a Single Statistical Setup . . . . . . 17-70
Changing the Distribution Criteria for Every Statistical Setup . . . . . . . . . 17-71
Statistical Cutoffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-72
Edit Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-73

Modifying the Starting Variable Value for Statistical Analysis . . . . . . 17-74


Solving a Parametric Setup During a Statistical Analysis . . . . . . . . . . . 17-75

Using the Fast Calculation-Update Algorithm . . . . . . . . . . . . . . . . . . . . 17-76


Tuning Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-79
Tuning a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-80
Applying a Tuned State to a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-81
Saving a Tuned State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-81
Reverting to a Saved Tuned State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-82
Resetting Variable Values after Tuning . . . . . . . . . . . . . . . . . . . . . . . . . 17-82

Adding an Expression in the Output Variables Window . . . . . . . . . . . . . 17-83


Excluding a Variable from an Optimetrics Analysis . . . . . . . . . . . . . . . . 17-84
Modifying the Value of a Fixed Variable . . . . . . . . . . . . . . . . . . . . . . . . 17-85
Linear Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-86
Setting a Linear Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-86
Modifying a Linear Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-87
Deleting a Linear Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-87

Running an Optimetrics Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-89


Viewing Analysis Results for Optimetrics Solutions . . . . . . . . . . . . . . . 17-90
Viewing an Optimetrics Solution's Profile Data . . . . . . . . . . . . . . . . . . 17-90
Plotting Solution Quantity Results vs. a Swept Variable . . . . . . . . . . . . . . 17-90

Viewing Cost Results for an Optimization Analysis . . . . . . . . . . . . . . . 17-91


Plotting Cost Results for an Optimization Analysis . . . . . . . . . . . . . . . . . . 17-91

Viewing Output Parameter Results for a Sensitivity Analysis . . . . . . . 17-92


Plotting Output Parameter Results for a Sensitivity Analysis . . . . . . . . . . 17-92

Viewing Distribution Results for a Statistical Analysis . . . . . . . . . . . . . 17-92


Plotting Distribution Results for a Statistical Analysis . . . . . . . . . . . . . . . 17-93

Link to Design Xplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-95

Contents-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

18.

Generating Reports and Postprocessing


The Report Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2
Plotting Spectral Domain Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4
The Select Quantities Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5

Creating a New Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6


Creating a Report from an Ansoft Report Data File . . . . . . . . . . . . . . . . 18-9
Modifying Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-10
Showing and Hiding Active View Objects . . . . . . . . . . . . . . . . . . . . . . 18-11
Modifying the Background Properties of a Report . . . . . . . . . . . . . . . . 18-11
Modifying the Legend in a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-13
3D Report Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-15
Spinning a 3D Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-16

Creating Custom Report Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-16


Working with the X-Axis Scrollbar (Rectangular, Stacked, Bode, and Nyquist Plots)
18-17

Selecting the Display Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-19


Creating Rectangular Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-19
Creating Polar Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-22
Reviewing 2D Polar Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-23

Creating Radiation Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-23


Creating Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-25
Working with Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-26
Creating 3D Rectangular Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-28
Creating 3D Polar Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-29
Creating Rectangular Stacked Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-30
Creating a Bode Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-32
Creating a Nyquist Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-34
Creating a Digital Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-35
Creating a Plot-On-Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-36

Setting Report Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-37


Setting Report2D Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-39
Report 2D Options: Curve Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-39
Report2D Options: Axis Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-40
Report2D Options: Grid Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-40
Report2D Options: Header Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-40
Report2D Options: Note Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-41
Report2D Options: Legend Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-41
Report2D Options: Marker tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-41
Report2D Options: Marker Table Tab . . . . . . . . . . . . . . . . . . . . . . . . . . 18-42
Report2D Options: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-42
Contents-26

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Report2D Options: Table Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-43

Working with Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-43


Editing Trace Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-45
Editing the Display Properties of Traces . . . . . . . . . . . . . . . . . . . . . . . . 18-46
Adding Data Markers to Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-47
Delta Markers in 2D Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-49
Discarding Report Values Below a Specified Threshold . . . . . . . . . . . . 18-49
Adding Trace Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-49
Removing All Trace characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-50
Defining Traces Using Range Functions . . . . . . . . . . . . . . . . . . . . . . . . 18-50
Copy and Paste of Report and Trace Definitions . . . . . . . . . . . . . . . . . . 18-57
Copy and Paste of Report and Trace Data . . . . . . . . . . . . . . . . . . . . . . . 18-58
Removing Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-58

Variables, Quantities and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-59


Sweeping a Variable in a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-59
Selecting a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-59
Selecting Solution Quantities to Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-64
Plotting Imported Solution Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-64
Setting a Range Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-64

Specifying Output Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-66


Adding a New Output Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-66
Building an Expression Using Existing Quantities . . . . . . . . . . . . . . . . 18-66
Deleting Output Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-67

Report Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-68


Updating Reports (Post-Processing Data) . . . . . . . . . . . . . . . . . . . . . . . 18-68
Deleting Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-69
Opening Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-69
Exporting Plot Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-69
Importing 2D Plot Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-70
Exporting Graphics Files from a Plot . . . . . . . . . . . . . . . . . . . . . . . . . . 18-70
Plotting Imported Solution Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-71
Using Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-71
Frequency Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-71
Changing the Design Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-74

User Defined Outputs: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-75


Named Probes and Properties in User Defined Outputs . . . . . . . . . . . . 18-75
Computation of Traces Based UDO Calculations . . . . . . . . . . . . . . . . . 18-76
Dimensions Reduction by UDO Calculations . . . . . . . . . . . . . . . . . . . . 18-77
Dynamic Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-77

User Defined Outputs: Python Script API . . . . . . . . . . . . . . . . . . . . . . . . 18-79


Contents-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

UDO Extension IMPLEMENTATION . . . . . . . . . . . . . . . . . . . . . . . . . 18-79


Import Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-79
DOExtension Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-79
IUDOPluginExtension Abstract Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-80
GetUDSName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-80
GetUDSDescription() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-81
GetUDSSweepNames() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-81
GetCategoryNames() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-81
GetQuantityNames(string categoryName) . . . . . . . . . . . . . . . . . . . . . . . . . 18-81
GetQuantityInfo(string quantityName) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-82
GetInputUDSParams(List<UDSProbeParams> udsParams, . . . . . . . . . . 18-82
GetDynamicProbes(List<UDSDynamicProbes> dynamicProbes); . . . . . . 18-85
Compute(IUDSInputData inData, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-85

Optional Functions in IDO Extension Abstract Class . . . . . . . . . . . . . . 18-89


Validate(List<string> errorStringList, . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-89

Data Types Used in Python Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-89


IUDSInputData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-90
GetDoubleProbeData(probeName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-90
GetSweepsDataForProbe(probeName, sweepName) . . . . . . . . . . . . . . . . . 18-91
GetComplexProbeData(probeName) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-91
GetSweepNamesForProbe(probeName) . . . . . . . . . . . . . . . . . . . . . . . . . . 18-92
GetRequiredQuantities() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-92
GetVariableValues() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-92
GetInterpolationOrdersData(probeName); . . . . . . . . . . . . . . . . . . . . . . . . . 18-93
IUDSOutputData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-93
SetSweepsData(sweepName, sweepData) . . . . . . . . . . . . . . . . . . . . . . . . . 18-93
SetDoubleQuantityData(qtyName,qtyData) . . . . . . . . . . . . . . . . . . . . . . . 18-94
SetComplexQuantityData(qtyName, qtyData) . . . . . . . . . . . . . . . . . . . . . . 18-94

Working With Properties for UDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-94


IPropertyList Abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-95
IProperty Abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-95
INumberProperty Abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-95
ITextProperty Abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-96
IMenuProperty Abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-96

Other Application Specific Classes Used in Python Scripts . . . . . . . . . 18-97


Constants Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-97
UDSProbeParams Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-97
UDSDynamicProbes Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-98
QuantityInfo Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-98
IProgressMonitor Abstract Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-99

Using .NET Collection Classes and Interfaces in Python Scripts . . . . . 18-100


User Defined Outputs: Messaging Methods . . . . . . . . . . . . . . . . . . . . . 18-101

User Defined Outputs: Script Organization . . . . . . . . . . . . . . . . . . . . . . . 18-108


Contents-28

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Using Script Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-108


Using additional .NET assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-108

Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-109
User Defined Documents (UDDs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-111
Managing Documents Listed in the Project Window Under Results . . 18-116
Documents folder right click menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-116
Document folder Property window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-116

Viewing UDDs with an Html Web Browser . . . . . . . . . . . . . . . . . . . . . 18-117

UDD Script Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-119


User Defined Definitions: Python Script API . . . . . . . . . . . . . . . . . . . . . 18-120
Data Types Used in Python Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-127
UDD Input interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-129

User Defined Document Scripting Interface . . . . . . . . . . . . . . . . . . . . . . 18-132


The UserDefinedDocument Data format in the script: . . . . . . . . . . . . . 18-133
Python Script to Define Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-135
Sample Script:- This one adds, edits, renames and deletes a document . . 18-137

Document Generator Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-140

19.

C-Models in Simplorer
Introduction to the Simplorer C Interface . . . . . . . . . . . . . . . . . . . . . . . . 19-2
Simplorer C Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
Program Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3

Designing a C-Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4


Defining Model Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
Transient (TR) Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-5
DC Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-6
AC Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-7

Implementing C-Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9


MSVC++ 6.0 Project Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9
Defining C-models in MSVC++ 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9
Modifying C-models in MSVC++ 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-12
Debugging C-models in MSVC++ 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-13

MSVC++ .NET Project Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 19-13


Defining C-models in MSVC++ .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-14
Modifying C-models in MSVC++ .NET . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18
Debugging C-models in MSVC++ .NET . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18

Programming C-models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-20


Basic Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-20
Include Simplorer-specific Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . 19-20
Define a Model Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-21
Contents-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Define Inputs/Outputs Using the Prepare Function . . . . . . . . . . . . . . . . . . 19-21


Define the PISVC Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-22
Define Model Kind and Number Using RegisterUserModel . . . . . . . . . . . 19-25
Define Model-dependent Functions Using RegisterUMODELFct . . . . . . 19-26

Implementing for Transient Simulations (TR) . . . . . . . . . . . . . . . . . . . . 19-28


TR Initialize Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-28
TR Simulate Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-29
TR Validate Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31
TR Close Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31

Using Internal States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-32


Implementing for Operating Point Analysis (DC) . . . . . . . . . . . . . . . . . 19-32
DC Initialize Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-33
DC Simulate Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-33
DC Validate Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-34
DC Close Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-34

Implementing for Spectral Analysis (AC) . . . . . . . . . . . . . . . . . . . . . . . 19-35


AC Initialize Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-35
AC Simulate Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-36
AC Validate function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-37
AC Close function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-37

C-Models with Specified Sample Time . . . . . . . . . . . . . . . . . . . . . . . . . 19-37


C-Models Used as Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-38

Using C-Models in Simplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-41


Updating C-models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-41
Integrating C-model Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-42
C-models in Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-42
C-models in SML Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-43

C/C++ Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-44


Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-44
CUModDecl Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-45

CModUser Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-48


CModUser object methods grouped by application area . . . . . . . . . . . . 19-48
Alphabetical List of CModUser object methods . . . . . . . . . . . . . . . . . . 19-50
AddAvailableAnalysisType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-50
AddNode__c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-51
AddNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-52
AddNode_State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-53
AddSubNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-53
AllocateUserDataMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-54
GetAnalysisType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-54
GetCplxSVVal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-55
GetDataTypeNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-55
Contents-30

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

GetDefName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-56
GetDCUserData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-56
GetDSVVal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-57
GetHierName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-57
GetNode_ncParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-58
GetSVVal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-58
GetUseName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-59
GetUserData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-59
GetValNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-60
GetValNode_nc (for use with characteristics) . . . . . . . . . . . . . . . . . . . . . . 19-60
GetValNode_ncCplx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-61
GetValNode_ncFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-61
GetValNode_ncStrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-62
GetValNode_State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-62
GetValNode_StateCplx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-63
GetValSubNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-63
IsCharConn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-64
IsParamSetFlag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-64
IsTransientOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-65
SetCplxGSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-66
SetCplxRSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-66
SetDataTypeNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-67
SetInfoNode__c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-68
SetInfoNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-69
SetNatureTypeNode__c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-70
SetRealGSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-71
SetRealRSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-71
SetSVVal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-72
SetSymbolicGSEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-73
SetUModCloseFct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-73
SetUModInitFct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-74
SetUModPrepFct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-74
SetUModSimFct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-75
SetUModValidFct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-76
SetUnitNameNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-76
SetUserData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-77
SetValNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-78
SetValNode_ncFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-79
SetValNode_State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-80
SetValPtrNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-81
SetValSubNode_nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-81

Callback Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-82


CHAR_IN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-82
CHAR_OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-82
Contents-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

CHAR_OUT_DERIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-82
GET_SAMPLETIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-83
getPATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-83
ISIM_BASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-83
ISIM_BASE_MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-83
ISIM_BASE_MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-84
ISIM_BASE_STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-84
ISIM_BASE_TEMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-84
ISIM_BASE_XEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-84
ISIM_BASE_XSTART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-84
ISIM_ECM_D_DT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-84
ISIM_ECM_IEMAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-85
ISIM_ECM_ITERAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-85
ISIM_ECM_LDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-85
ISIM_ECM_NEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-85
ISIM_ECM_P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-85
ISIM_ECM_SOLVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-86
ISIM_ECM_UEMAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-86
OSIM_ECM_REJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-86
OSIM_ECM_SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-86
OSIM_SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-86
Report2Sim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-87
SET_SAMPLETIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-87

20.

VHDL-AMS Models in Simplorer


Understanding VHDL-AMS Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Across and Through Quantities of Natures . . . . . . . . . . . . . . . . . . . . . . 20-2
Packages and Models in Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-3
Entities and Architectures of VHDL-AMS Models . . . . . . . . . . . . . . . . 20-3
Creating and Editing VHDL-AMS Models . . . . . . . . . . . . . . . . . . . . . . 20-5
Placing and Connecting VHDL-AMS Models . . . . . . . . . . . . . . . . . . . 20-5
Using Transformation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-5
Defining Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-6

VHDL-AMS Language Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7


Design Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
Entities and Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
Entity Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10

Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
Package Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-11
Package Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-12
Package Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-13

VHDL-AMS Standard Packages and Types . . . . . . . . . . . . . . . . . . . . . 20-13


Contents-32

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

STD Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-14


The IEEE Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-14
Packages for the Simulation of Digital Designs . . . . . . . . . . . . . . . . . . . . . 20-14
Packages for the Simulation of Multidomain Systems . . . . . . . . . . . . . . . 20-15
Packages for Mathematical Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-16

Subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-16
Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-17
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-18

Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-19
TYPE Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-21
SUBTYPE Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-21
NATURE Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-22
Data Object Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-22
Other Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-26

Concurrent Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-27


BLOCK Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-28
PROCESS Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-29
Concurrent Procedure Call Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-30
Concurrent ASSERT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-30
Concurrent SIGNAL Assignment Statement . . . . . . . . . . . . . . . . . . . . . . . 20-31
Component Instantiation Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-31
Concurrent BREAK Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-33

Sequential Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-33


WAIT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-34
ASSERT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-34
SIGNAL Assignment Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-36
VARIABLE Assignment Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-36
Procedure Call Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-37
IF Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-37
CASE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-38
LOOP Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-39
NEXT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-41
EXIT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-41
RETURN Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-41
NULL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-42
BREAK Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-42

Simultaneous Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-43


Simple Simultaneous Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-44
Simultaneous IF Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-44
Simultaneous CASE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-45
Simultaneous PROCEDURAL Statement . . . . . . . . . . . . . . . . . . . . . . . . . 20-47
Simultaneous NULL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-48

Identifiers, Literals, and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-48


Contents-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-49
Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-50
Arithmetic and Logical Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-52

Predefined Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-53


Predefined Type Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-54

Predefined Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-54


Quantity Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-55
Signal Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-56
Data Type Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-56
Enumeration Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-56
Array Indexes for an Array A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-57

Reserved Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-57


Modeling Aspects in Simplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-62
Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-62
Quantities, Signals, and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-63
Signal Assignments with Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-63
Data Exchange in Mixed-Signal Models . . . . . . . . . . . . . . . . . . . . . . . . . . 20-64
Signal to Quantity Assignment (Digital to Analog) . . . . . . . . . . . . . . . . . . 20-64
Quantity to Signal Assignment (Analog to DIgital) . . . . . . . . . . . . . . . . . . 20-65
Solvability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-65
WORK Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-66
Alias for File Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-67
Values on Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-67
Vector Inputs on Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-68

21.

Simplorer Modeling Language


Common SML Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-3
Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
File Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
Define Name and Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
Type Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
Instance Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-5

Separators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
Continuation Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
Keywords, Pre-defined Functions and Operators, Constants . . . . . . . . 21-6
Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7
Model Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7

SML Model Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8


Preprocessor Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
#INCLUDE Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
#SET Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
#DEFINE Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
Contents-34

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

#UNDEF Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10


#IF Compile Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
#EXTSIM Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11

Model Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-12


INTERN Model Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-12
Models with Fixed Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-13
Models with User-Defined Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-13
Initial Condition Assignments and Equations . . . . . . . . . . . . . . . . . . . . . . 21-14
Defining Actions in States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-15
MODEL Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-15

UMODEL Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-16


COUPL Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-16

Structural Models (Subsheets) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-18


Header Information of Structural Models . . . . . . . . . . . . . . . . . . . . . . . 21-18
Model Description of Structural Models . . . . . . . . . . . . . . . . . . . . . . . . 21-19
Usage of Structural Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-19

Configuration Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21


Simulator Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21
Output Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-22

22.

Scripting
Working with Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2
Recording a Script to a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2
Recording a Script to a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2
Working with Project Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3

Stopping Script Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3


Running a Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3
Running VBScripts in 64-bit Windows Installations . . . . . . . . . . . . . . . 22-4
Running Scripts when Different Versions of Simplorer are Installed . . 22-4
Pausing and Resuming a Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5
Stopping a Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5
Troubleshooting Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5
DEP Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5
Change Boot Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5

23.

Simplorer Design Conventions


Names of Components and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2
Parameter Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-3
Qualifier Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-3
System Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4
Component Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4

Parameter Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-7


Contents-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Predefined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-9


Pre-defined Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-10
Equations, Expressions, and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 23-11
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-11

Standard Mathematical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-13


Unit Suffixes of Numeric Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-18
SI Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-20
Unit Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-21
Unit Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-22

24.

Technical Notes
Fixing Non-Convergence in Simplorer . . . . . . . . . . . . . . . . . . . . . . . . . . 24-2
Using Time Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-3
Intention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-3
Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-3
State Graph Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-4
C/C++ Interface Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-5
Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-5

Library Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-6

Simplorer - ModelSim Co-simulation Interface User Guide . . . . . . . . . . 24-7


Introduction (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-7
Installation/Pre-Setup (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-7
Setup (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-7
Creating Co-simulation Models (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . 24-7
Schematic Capture (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-8
Netlisting (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-9

Co-simulation Setup (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-9


Simulation (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-11
Starting Simulation (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-11
Controlling Simulation (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-11
Ending Simulation (ModelSim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-11
Saving and Continuing a Simulation (ModelSim) . . . . . . . . . . . . . . . . . . . 24-11

Displaying Results and Post Processing (ModelSim) . . . . . . . . . . . . . . 24-12


Limitations and Known Issues (ModelSim) . . . . . . . . . . . . . . . . . . . . . 24-12

Using MathWorks Real-Time Workshop to Export a Simulink Model to a Simplorer


C-Model DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-13
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-13
Requirements for Model Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-13
Requirements for Model Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-14
Template Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-16
Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-17
Contents-36

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-18


Generic Simplorer Target with Dynamic Memory Allocation . . . . . . . . . 24-20
Simplorer Rapid Simulation Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-23
Visual C/C++ Project Makefile Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-23

Licensing Protocols for Simulink Solvers in Simplorer dll's . . . . . . . . . 24-24


Improved Performance and Convergence of an Exported Model . . . . . 24-25

Unsupported Compatibility 4x7 Library Components . . . . . . . . . . . . . . 24-27


About the VHDL-AMS working Library in Simplorer . . . . . . . . . . . . . . 24-30

25.

Desktop Scripting with IronPython


Introduction to IronPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-2
IronPython Mini-cookbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-3
Obtaining more Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-8
Discovering Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-8
Help on a Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-9

Translating Script commands from VBScript to IronPython . . . . . . . . . 25-10


Script Method Argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-10
VBscript Method Call Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-11
Converting VBScript Function calls to IronPython Syntax . . . . . . . . . . 25-12
Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-12
Primitive Method Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-12
Named Array Argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-12
Named Array Values with All Key Value Pairs . . . . . . . . . . . . . . . . . . . . 25-14
Named Arrays with Nested Named Arrays . . . . . . . . . . . . . . . . . . . . . . . . 25-15

Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-16

Scripting Using Iron Python: Putting it all Together . . . . . . . . . . . . . . . . 25-18


IronPython Script Execution Environment . . . . . . . . . . . . . . . . . . . . . . 25-18
Script Argument for IronPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
Script Objects for IronPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
Methods for IronPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19

Scripting using Embedded VBScript or JavaScript . . . . . . . . . . . . . . . . 25-20


Scripting with IronPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-22

Appendix: IronPython Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-24

26.

Simplorer Terminology
Glossary: A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-2
Glossary: B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-3
Glossary: C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-4
Glossary: D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-5
Glossary: E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-6
Glossary: F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-7
Contents-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Glossary: G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-8
Glossary: H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-9
Glossary: I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-10
Glossary: J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-11
Glossary: K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-12
Glossary: L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-13
Glossary: M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-14
Glossary: N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-16
Glossary: O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-17
Glossary: P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-18
Glossary: Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-19
Glossary: R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-20
Glossary: S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-21
Glossary: T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-24
Glossary: U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-25
Glossary: V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-26
Glossary: W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-27
Glossary: Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-28
Index 1

Contents-38

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Welcome to Simplorer Online Help


Click for help on the following topics:

Click for help on Simplorer Process Flow topics:

Simplorer User Interface Quick Links


Use the following links for quick information on the following topics.
The Simplorer Desktop

Working with Toolbars

Project Manager Window

Design Area

-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Properties Window

Progress Window

Message Manager

Status Bar

Keyboard Shortcuts

Running Simplorer From a Command Line

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

Projects Quick Links


Use the following links for quick information on the following topics.
Creating Projects

Setting Options

Simplorer File Types

Translating Legacy Simplorer Projects and Schematics

Opening Existing Projects

Importing Simulation Models

Analyzing Designs

Removing Unused Definitions

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

Designs Quick Links


Use the following links for quick information on the following topics.
The Schematic Editor

Setting Schematic Editor Options

Creating Simulation Models

About the Schematic Editor Window

Placing Components

Operations on Components

Connecting Components

Placing Ports

-2

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Sorting Components

Adding Drawing Elements

Placing Reports on Schematics

Multi-Page Schematics

Hierarchical Designs

Subcircuits

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

Components Quick Links


Use the following links for quick information on the following topics.
About Components

Choosing Components

Component Libraries

Placing Components

Editing Component Parameters

Editing Components

Setting Up IGBT Models

Building Component Dialog Boxes

Encrypting and Encoding Components

Managing Libraries

Working with Variables

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Analysis Quick Links


Use the following links for quick information on the following topics.
Overview of Analyzing Designs

Standard Analysis Types

Analysis Setup

Advanced Analysis Types - Optimetrics

Solution Options

Importing Solution Data

Setting Simulation Outputs

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

Working with Legacy Files Quick Links


Use the following links for quick information on the following topics.
Legacy Translation Considerations

Translating Legacy Libraries

Opening Legacy Simplorer Projects

Simplorer File Types

Opening Legacy Simplorer Schematics

Opening Existing Projects

Editing Translated Components


For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

-4

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Optimetrics Quick Links


Use the following links for quick information on the following topics.
Setting up a Parametric Analysis

Setting up an Optimization Analysis

Setting up a Sensitivity Analysis

Tuning a Variable

Setting up a Statistical Analysis

Setting a Range function

Setup Calculations for Optimetrics.

Adding a cost function

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

Results Quick Links


Use the following links for quick information on the following topics.
Creating Reports

Report Setup Options

Modifying Reports

Report Types

Adding Plots to Schematics

Working with Traces

Adding Data Markers to Traces


For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Scripting Quick Links


Use the following links for quick information on the following topics.
Recording a Script

Running a script

Stopping Script Recording

Pausing and Resuming a Script

Stopping a Script

Scripting Guide

For detailed information on these and many other topics:

Use F1 on any open dialog to open the Online Help for that dialog.
Click the ? icon on the toolbar, and then click on any menu command, icon, or window for
help on that selection.
With the Online Help Contents tab selected, navigate the help topic hierarchy.
With the Online Help Index tab selected, search the help index.
With the Online Help Search tab selected, search the full help text.
With Online Help Favorites tab selected, create a custom list of favorite topics.

-6

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

1
Getting Started

ANSYS Simploreris an integrated, multi-domain, mixed-signal simulator for complex technical


systems. Whether you are a beginner or an experienced professional, Simplorer's comprehensive
suite of tools provides accurate and reliable results in very little time.
You can create related simulation models quickly, process simulations accurately and reliably with
Simplorer's unique simulator backplane technology, dynamically interact with other ANSYS applications such as Maxwell and Q3D and with third party applications such as Simulink and
Mathcad, and present and arrange the results with powerful postprocessors. You can also seamlessly transfer the simulation data and results presentations to other software applications. Simplorer's powerful scripting interface allows you to automate complex and repetitive simulation
tasks.
Related Topics:
System Requirements

Status Bar

Introducing the Simplorer Desktop

Top Menu Bar

Project Manager Window

Toolbars

Properties Window

Shortcut Menus

Properties Dialog Box

Shortcut Keys

Message Manager

Undoing Commands

Progress Window

Running Simplorer from a Command Line

Design Area

Getting Started Guide

Getting Started 1-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

System Requirements
Simplorer supports the Windows operating system. For details regarding which revisions of the
Windows operating systems are supported; as well as memory and disk requirements and known
issues at the time of shipping, consult the readme.txt file shipped with this release of the software
by clicking the link below:
.
Once you have installed Simplorer, you can start the program by clicking its icon on the Windows
desktop.

You can also start Simplorer from the Windows Start menu as follows:
1.

Click Start.

2.

Select All Programs.

3.

Select the Simplorer nfolder in the ANSYS Electromagnetics folder.

4.

Select Simplorer n.
Simplorer starts.

Note

When you run Simplorer for the first time (that is, with no project directory specified in
the registry), or if the project directory or the temp directory does not exist, Simplorer
displays a dialog box that asks you to set the project and temp directories. For the temp
directory, there is a comment asking you to ensure that adequate disk space is available.

Hint

If the program fails to start, make sure you have installed the licensing option provided
to you. See the Installation Guide for detailed information on installing the software and
licenses.

Simplorer 11 requires at least the FLEXlm for Ansoft v10.8.5 license server.
Note

Note

If you try to run Simplorer and get a message reporting a corrupted license file,
please contact Ansoft.
Simplorer displays a warning message if the license file expires within 15 days.

All operating systems must have 32-bit OpenGL libraries installed regardless of whether
the OS is 32-bit or 64-bit.

Related Topics
Additional Windows Information
1-2 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Additional Windows Information


In addition to information in the readme.txt file, the following information may be useful to Windows users:
Note

If you are using the NVIDIA Quadro2 MXR/EX video card on Windows XP, you should
also download Version 40.41 or greater video driver, available for download at http://
www.nvidia.com.

Related Topics
Increasing RAM on a 32-bit PC
Network Installations on Windows for Non-graphical batch solves without product-links

Increasing RAM on a 32-Bit PC


If you are running the appropriate Windows Operating System, you can take advantage of potentially all the installed RAM up to a limit of 3GB on 32-bit machines. Doing so also requires setting
up the appropriate OS boot.ini switch (/3GB) to tell the OS that 3 GB is to be used for application
space and only one GB for the OS kernel and related overhead.

Network Installations on Windows for Non-graphical batch solves without


product-links
To run a networked installation of Ansoft desktop products from a Windows node, the Visual Studio redistributables must be installed on each node.
Installing Visual Studio Redistributables
1.

Navigate to the following URL

http://www.microsoft.com/downloads/en/details.aspx?familyid=2051a0c1-c9b5-4b0a-a8f5770a549fd78c&displaylang=en
If you are on a 32 bit OS: install vcredist_x86.exe only
If you are on a 64 bit OS: install vcredist_x86.exe and vcredist_x64.exe
2.

When you are done you should see the following in Programs and Features in Control Panel (it
is important that the version completely matches).

Updating the Security Policy


Note

1.

The following instructions for updating security policy should be performed by your
local Windows environment IT administrator.

Prerequisites for each machine


Ensure that the.NET framework is installed. If the %SYSTEMROOT%\MicroGetting Started 1-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

soft.NET\Framework\v2.0.50727 directory is missing, please install the .NET Framework 2.0


redistributables x86 package from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5
2.

To setup full trust permissions for the installation share location, the following four lines can
be put into a batch file and run on each machine:

For 32 bit product version:


cd %SYSTEMROOT%
cd Microsoft.NET\Framework\v2.0.50727
CasPol.exe -pp off -m -ag 1.2 -url file://\\Owner-PC\path\Simplorer11.0\* FullTrust
CasPol.exe -pp off -m -ag 1.3 -url file://\\Owner-PC\path\Simplorer11.0\* FullTrust
For 64 bit product version:
cd %SYSTEMROOT%
cd Microsoft.NET\Framework64\v2.0.50727
CasPol.exe -pp off -m -ag 1.2 -url file://\\Owner-PC\path\HFSS15.0\* FullTrust
CasPol.exe -pp off -m -ag 1.3 -url file://\\Owner-PC\path\HFSS15.0\* FullTrust
Note

The v2.0.50727 bit is important as picking up CasPol.exe from v4, v3.5 directories will
not do the expected thing.
The order of backward/forward slashes in the CasPol.exe command is important.

Note

It is recommended that an IT admin provide full trust to the share on which Ansoft
products are installed in the group security policy. The group policy will affect all
computer accounts in that group and is the easiest way to update all the computers
expected to run Ansoft products from the share.

1-4 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Simplorer Desktop


The Simplorer desktop consists of a menu bar, toolbars, a status bar, and several windows,. The
illustration of the Simplorer desktop below was specially created to show the windows, menus, and
toolbars that are displayed for a typical Simplorer design. The desktop changes, depending on the
type of project, and on the window that is active in the Design Area. For example, the illustration
below shows a Schematic Editor Window in the Design Area.

Getting Started 1-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

This section describes the following Simplorer desktop features:


Project Manager Window
Properties Window
Properties Dialog Box
Message Manager Window
Progress Window
Design Area
Status Bar
Top Menu Bar
Toolbars
Shortcut Menus
Shortcut Keys
Online Help

The Project Manager Window


The Project Manager window shows the projects loaded in to Simplorer. Each project may consist
of one or more designs.
To show or hide the Project Manager window, do one of the following:

On the View menu, click Project Manager. A check box appears next to this command if the
Project Manager window is visible.
Right-click in the toolbars area on the desktop, and then click Project Manager on the shortcut menu. A check box appears next to this command if the Project Manager window is visible.

The Project Manager window normally displays three tabs:

The Project Tab


The Components Tab
The Search Tab

A fourth tab displays whenever a model editor window is active:

The Model Editor Tab

Related Topics
Shortcut Menus in the Project Manager Window

1-6 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Project Tab


The project tab contains details about all open Simplorer projects in a form known as the project
tree, as shown below:

Double-click to open
in Schematic Editor
Click the to expand
or collapse the tree

Double-click to open
global and interface
port properties
Double-click to open
analysis setup and
options dialogs

Right-click any object


in the tree to open
its shortcut menu

Double-click to display
plot results

The top node listed in the project tree is the project name. It is named Projectn by default, where n
is the order in which the project was added to the current session of Simplorer. Expand the project
icon to view all the projects Simplorer design information and material definitions. If there are
multiple designs in a project, each designs ports, analysis solution setup, and results are displayed
as entries in a separate subtree.
Depending on the options set on the Miscellaneous Options tab of the General Options dialog box,
the label of the selected Project Tree element that is active (i.e., has focus) may be rendered in bold
text; or a small window icon may display next to the selected Project Tree element. The icon will
be gray if the editor or plot window associated with the selected element is closed, or not in focus.
Clicking the gray icon will open the window and bring it into focus (on top).

Getting Started 1-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Right-clicking a folder or item pops up a shortcut menu that allows you to perform various operations. For example, right-clicking the analysis icon for a design displays a menu similar to this:

Virtually all project editing and management can be done from the Project Manager window
using the right mouse button shortcut menus. Many of these menus are also available from the main
menu bar in the Simplorer Circuit menu.
The Project Manager window is a dockable window. It can be moved and sized as needed. It can
also be attached (docked) to any edge of the Simplorer desktop.
Hint

You can grab and drag the window by its title bar to undock, move, and dock it.
You can resize the window by dragging its edges.
You can maximize or minimize the window by clicking the triangle in the title bar.
You can close the window by clicking the X in the title bar.

1-8 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

There are controls on the window when it is docked, as shown below:


Grab and Move to Dock/Undock

Maximize

Close

Resize
Horizontally

Resize Vertically

Related Topics
Viewing Simplorer Design Details

Setting the Project Tree to Expand Automatically


You can set the project tree to automatically expand when an item is added to a project.
1.

On the Tools menu, point to Options, and then click General Options.
The Options dialog box appears.

2.

Under the Project Options tab, select Expand Project Tree on Insert.

Viewing Simplorer Design Details


Once you insert an Simplorer design into a project, it is listed as the second node in the project
tree. It is named Simplorern by default, where n is the order in which the design was added to
the project. Expand the design icon in the project tree to view all of the specific data about the
model, including its solution and post-processing information.

Getting Started 1-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Simplorern node contains the following project details:


Ports

Displays the interface and global ports added to a Simplorer design.

Analysis

Displays the solution setups and solution options for an Simplorer design.
A solution setup specifies how Simplorer will compute the solution. The
solution options provides settings such as the integration formula,
iterations, and maximum and minimum errors.

Optimetrics

Displays any Optimetrics setups added to an Simplorer design.

Results

Displays any post-processing reports generated.

Note

To edit a projects design details:

In the project tree, right-click the design setup icon that you want to edit, and select
Design Properties from the menu.
A dialog box appears with that setups parameters, which you can then edit.

The Definitions Folder


The Definitions folder under Projectn contains a listing of the Components, Symbols, Models,
Packages and Scripts currently being used by designs in the project.

Right-click on an object to display the shortcut menu of editing commands for that object
type. The shortcut menu for components also includes the Load Example command.
Selecting this command loads the example project for that component.
Double-clicking an item in these folders typically opens an editor (e.g., Symbols) or editing dialog (e.g., Components) box used to set the properties of that item.

The Components Tab


The Components tab at the bottom of the Project Manager window allows you to browse and
select schematic components from the available schematic elements libraries. The installed libraries are listed under Simplorer Elements in hierarchical folders grouped by component function.

1-10 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For example, the Basic Elements library expands into several categories and sub-categories as
shown.

Individual elements are designated by colored symbols next to the element abbreviation and name.
Right-clicking a component opens a shortcut menu where you can choose to: add the component to
the Favorites folder, place the component on a schematic, edit the component, view component
help, and to load the example project (if one exists) for the selected component.

Simplorer Component Library Element Symbols


The symbols used to identify the various element types in the component libraries include:
Green dot
- Internal Simplorer components. Most of the components in the Basic
library are internal ones. The models are calculated within the internal simulator.
Blue dot
Red dot

- Standard and user-defined C-models.


- Standard and user-defined VHDL-AMs models.

Yellow dot
Magenta dot

- Standard and user-defined SML models.


- Translated graphical subsheets.
Getting Started 1-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Because the number of elements in the libraries can be large and the hierarchies elaborate, the
Component tab includes a Favorites folder and a Most Recently Used folder. These folders help
provide quick access to components. Elements used in the current project are listed under Project
Components.

Using the Favorites Folder


To designate a library element as a favorite:
1.

Select the desired element and right-click to display the shortcut menu.

2.

Select Add to Favorites to place the component in the Favorites folder. When a component is in the Favorites folder, you can select, place, edit, view the component help, and
load its example project (if one exists) from there.

Removing an Element from the Favorites Folder


To remove an element from the Favorites folder:
1.

Select an element and right click to display the short cut menu.

2.

Click Remove from Favorites.

Using the Most Recently Used Folder


The Most Recently Used folder contains a list of the most recently used elements. For convenience, these elements can be selected and placed from this folder. The number of elements in
the folder is controlled by the Tools>Options>General Options dialog under the Component
Chooser Options tab. The default number of elements is 10.

Online Help for Components


To launch online help for a component from the Components tab of the Project window:
1.

Right-click its icon.

2.

Click View Component Help.

Loading Component Example Projects


During installation, example projects for the supplied components are installed in the
<product_installation>\Examples directory. To load an example project for a component
from the Components tab of the Project window:
1.

Right-click its icon.

2.

Click Load Example.


The example project is opened.

Placing Components on a Schematic


To place a component, do one of the following:

Double-click its icon.


Select, drag, and drop a component in the schematic editor.

1-12 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Right-click its icon, and then select Place Component.

See Placing Components in the Schematic Editor topic for details.

The Search Tab


The Search tab allows you to enter full or partial names (case-insensitive) of components and
search for them. This can be useful if you know some part of the name of the component you want
to find. You can also select the libraries you want to include in the search.

Use the Info button to view on-line help information for components. You can also select
components from the search results panel and then use the Insert button to place them in the
schematic.

Getting Started 1-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Model Editor Tab


The Model Editor tab contains details about the Simplorer model(s) currently open in a model editor. The example shown below is for a C-Model.

The information is presented in tree form similar to the project tree. Objects shown in the Model
Editor tab vary with the model type being edited (C/C++, VHDL-AMS, or SML). Right-click on
an object to display a shortcut menu of editing commands for that object type.
Refer to the following topics for additional information on Simplorers model editors:
Using the C-Model Editor
Using the VHDL-AMS Editor
Using the SML Editor

Properties Window
The Properties window displays the attributes, or properties, of an item selected in the project tree
(such as a design, report, or analysis setup) or in the Schematic Editor window. The Properties
window enables you to edit the selected items properties. The specific properties, and the ability to
edit them in the Properties window, will vary depending on the type of item selected. The tabs
available in the Properties window will also vary, depending on the selection.
For example, the Properties window for components can have up to five tabs:

The Param Values Tab


The General Tab

1-14 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Symbol Tab


The Quantities Tab
The Signals Tab

The Properties window is a dockable window similar to the Project Manager window. Like the
Project Manager window, it can be moved and sized as needed. It can also be attached (docked) to
any edge of the Simplorer desktop.
Hint

You can grab and drag the window by its title bar to undock, move, and dock it.
You can resize the window by dragging its edges.
You can maximize or minimize the window by clicking the triangle in the title bar.
You can close the window by clicking the X in the title bar.

Grab and Move to Dock/Undock

Maximize

Close

Resize
Horizontally

Resize Vertically

Note

The Show advanced property data checkbox on the Schematic Editor Options:
General tab controls the display of less often used tabs for components, ports and nets.

Related Topics
Showing and Hiding the Properties Window
Getting Started 1-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Properties Dialog Box

Param Values Tab (Properties Window)


The Param Values tab lists the components simulation parameters such as the InstanceName,
Type, and Status.

The button in the Value field for Info launches the online help topic for the component.
The button in the Value field for CompDlg opens the component special dialog box for entering parameter values.
To set or change the value of a component parameter, click on the Value field and enter the
new value. If the value requires a multiplier unit (such as kOhm for 1000) click on the
Unit field to select the multiplier unit. The Evaluated Value shows the resulting number.
You can specify a parameter value using an expression that evaluates to a constant. The
expression is retained in the Value field, while the Evaluated Value field shows the constant
resulting from evaluation the expression. This allows you to identify and modify the expression in the future.

1-16 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component parameters that have composite properties also have buttons in the Value field.

A composite property is an array or record property (parameter, quantity, or signal), generally


based on a model property, that represents a combination of elements. Click the button to view
details and edit these properties in the Array/Record Element Values dialog box.

General Tab (Properties Window)


The General tab lists the selections name, symbol name, reference designator, and other data. The
information on this tab is not editable

Symbol Tab (Properties Window)


The Symbol tab provides information on a number of modifiable attributes of component symbols,
displayed component properties, and primitive drawing elements displayed in the schematic.

The contents of the Symbol tab vary depending upon the number and type of components, properties, and drawing elements selected in the schematic.
Symbol tab fields can be modified using the following guidelines:
Getting Started 1-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component Symbol

Component Location Click in the Value field to enter a new set of X,Y coordinates for the
symbol. Click in the Unit field to assign a unit of measure to the coordinates. Press Return to
move the component to the new location.
Component Angle Click in the Value field and select an angle from the pulldown (choices
are 0, 90, 180, and 270 degrees). The symbol rotates counterclockwise as soon as you select an
angle.
Component Mirror Click the checkbox in the Value field to flip the component left-toright. The mirror operation is performed as soon as you check the box. Uncheck the box to
return the symbol to its original orientation.
Use Symbol Color Click the checkbox in the Value field to use the default symbol color
for the component. (Selecting this hides the Component Color field and overrides the color
set in it.)
Component Color Click the colored bar displayed in the Value field to open a palette from
which to select a new color for the symbol. The new color is applied when the symbol is
unselected.

Displayed Component Properties (Text)

PropDisplay Location Click in the Value field to enter a new set of X,Y coordinates for
the property. Click in the Unit field to assign a unit of measure to the coordinates. Press
Return to move the displayed property to the new location.
PropDisplay Angle Click in the Value field and enter an angle. The property rotates counterclockwise as soon as you select an angle.
PropDisplay Font Click in the Value field and select a font from the pulldown. The displayed property font changes as soon as you select the new font.
PropDisplay Font Click in the Value field and enter a font size (font sizes are in points).
PropDisplay Justification Click in the Value field and select a justification setting from
the pulldown. The displayed property justification (position relative to PropDisplay Location)
changes as soon as you select the new setting.

Primitive Drawing Elements

To edit their properties click to select primitive drawing elements (arcs, circles, lines, rectangles, polygons, text boxes, and images). Editable properties vary with the kind of element.
Refer to the section on Primitive Drawing Elements for additional information on specific
property types for each element.

Quantities Tab (Properties Window)


The Quantities tab lists the simulation parameters of the selected component.

To set or change the value of a component parameter, click on the Value field and enter the
new value.
If the value requires a multiplier unit (such as meg for 1000000) click on the Unit field to
select the multiplier unit.

1-18 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To save the parameter values in the project database, check SDB checkbox.
Parameters that have composite properties have buttons in the Value field. A composite property is an array or record property (parameter, quantity, or signal), generally based on a model
property, that represents a combination of elements. Click the button to view details and edit
these properties in the Array/Record Element Values dialog box.

Signals Tab (Properties Window)


The Signals tab lists the Names and Values of signals for digital elements.

Signals that have composite properties have buttons in the Value field. A composite property is
an array or record property (parameter, quantity, or signal), generally based on a model property, that represents a combination of elements. Click the button to view details and edit these
properties in the Array/Record Element Values dialog box.

To save the parameter values in the project database, check SDB checkbox.

Showing and Hiding the Properties Window


To show or hide the docked Properties window on the desktop, do one of the following:

On the View menu, click Property Window.


A check box appears next to this command if the Properties window is visible.

Right-click in the toolbars area at the top of the desktop, and then click Properties on the
shortcut menu.

Expand the Project Manager window by toggling the triangle symbol at the upper right. This
expands the Project Manager window and shrinks the Properties window without removing
it from Main window.

In the docked Properties window, click the x at the upper right. This closes the window and
is equivalent to removing the check in the View>Properties menu.
A check box appears next to this command if the Properties window is visible.

Note

The docked Properties windows do not contain the Property Displays tab. To edit
Property displays for an element, you must open the Properties window for that element
from the Schematic Editor.

Launching Online Help from the Properties Window


You can launch the online help for a component from the Properties window. To do this:
1.

Click the Param Values tab.

2.

Scroll down to the Info parameter entry, and then click the button in its Value cell:

The Properties Dialog Box


The Properties dialog boxes provide a way to show and where appropriate add, edit, and
remove properties or parameters of:

Components on a schematic
Getting Started 1-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Project variables
Design properties and (local) variables
Component definitions

Properties dialog boxes can have one or more tabs


Hints

You can close the Properties dialog box by pressing the Esc key.
You can resize the Properties dialog box by dragging its edges.
You can change the relative widths of adjacent columns in the Properties dialog
box by dragging the header separators between them:

On-sheet Component Properties Dialog Box


Like the Properties window, the on-sheet component Properties dialog box shows the properties
or parameters of selected objects, and, where appropriate, allows editing the values of these
properties. It extends the Properties window functions with additional editing commands, and with
settings for tuning, optimization, sensitivity, and statistical analysis that are not available through
the Properties window.
To open the Properties dialog box for an on-sheet component, right-click the component and select
Properties on the shortcut menu.
On-sheet component properties dialog boxes include one or more of the following tabs, depending
on whether the component has properties of the appropriate type, and whether the Show advanced
property data Schematic editor option is selected:

Parameter Values Tab


General Tab
Symbol Tab
Quantities Tab
Signals Tab
Property Displays Tab

Design Properties Dialog Box


To open the Properties dialog box for a design, select Design Properties either on the shortcut
menu for the design in the Project window or on the Simplorer Circuit menu bar pull-down.

1-20 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Editing the design properties of a subcircuit will clear the Undo/Redo history because
changes to subcircuit design properties can affect connectivity in the parent schematic.
Editing design properties in a top-level schematic will not clear Undo/Redo.

Design Properties dialog boxes include the following tabs:

Parameter Defaults Tab


Local Variables Tab
General Tab
Quantities Tab
Signals Tab

Parameter Defaults Tab (Design Properties Dialog Box)


This tab displays and sets the default values for design parameters. Buttons allow you to Add, Edit,
or Remove properties.
Value Option
When this (default) option is selected, the Parameter Defaults tab lists, displays, and sets the default
values for the following component parameters used during general analysis:

Name This column displays the names of component parameters. Names can be edited for
case only.
Value This column allows you to change the initial values of parameters.
Unit This column allows you to set the unit of measure (as appropriate) for the parameter
value.
Evaluated Value This read-only column displays the evaluated value (as appropriate) of the
parameter.
Description This column allows you to enter a description for the parameter.
Netlist Unit This column allows you to set the unit of measure used when the parameter is
netlisted.
Callback This button allows you to associate a callback script with the parameter.
Read-only This check box controls whether or not the parameter settings can be changed.
Hidden This check box controls whether or not the parameter is hidden by default.
Property Type displays the type (e.g., Real) for generic properties.
Show Pin This check box allows you to show a pin for the property on the components
symbol.
Sweep This check box enables the value for sweep.
Default SDB This check box enables the value to be stored in the project SDB.
Getting Started 1-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Statistics Option
When this option is selected, the Parameter Defaults tab lists, displays, and sets the values for the
following design parameters applicable to statistical analysis.

Name This column displays the names of component parameters.


Include This check box controls whether or not the associated component parameter will be
varied during statistical analysis. Check Include for each parameter you want Simplorer to
vary during statistical analysis.
Distribution This setting displays and controls whether the parameter value distribution is
Uniform, Gaussian, lognormal, or user-defined. To change the Distribution setting, click in the
cell to display the options, and then click the option you want.
Distribution Criteria Clicking the button in this column for a component opens the Edit
Distribution dialog box in which you can set distribution criteria. The Distribution Type pulldown menu displays whether the distribution is Uniform or Gaussian, and you can specify values for Cutoff Probability, Mean, and Tolerance. Units for Mean and Tolerance can be set
using their adjacent pull-down menus.

1-22 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Parameter Values Tab (Properties Dialog Box)


The Parameter Values tab lists the simulation parameters of the component or components
selected.

As on the Param Values tab of the Property Window, you can set or change the value of a component parameter by clicking on the Value field and entering the new value. You can enter the
units in the value field, or you can click on the Unit field to enter the units. If the value requires
a multiplier unit (such as kOhm for 1000) click on the Unit field to select the multiplier
unit. The Evaluated Value shows the resulting number.
The button in the Value field for Info launches the online help topic for the component.
The button in the Value field for CompDlg opens the component special dialog box for entering parameter values.

Getting Started 1-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component parameters that have composite properties have buttons in the Value field.

A composite property is an array or record property (parameter, quantity, or signal), generally


based on a model property, that represents a combination of elements. An array is a group of
the same type of element, such as an array of real quantities, or of std_logic signals. The elements in an array may be composites themselves, but all are the same type. A record is a group
of the same, or different, types of element. A record may contain a std_logic signal and a real
array. These concepts are generally based on the VHDL-AMS array and record types, and
these types of properties currently can only be created from models. Click the button to view
details and edit these properties in the Array/Record Element Values dialog box.

You can specify a parameter value using an expression that evaluates to a constant (as shown
in the picture above). The expression is retained in the Value field, while the Evaluated Value
field shows the constant resulting from evaluation the expression. This allows you to identify
and modify the expression in the future. The Property Displays Tab allows you to display the
expression, the evaluated value, or both.
Note

Clicking the Show Hidden checkbox allows you to view hidden properties of the
component. Hidden properties contain system-defined values and rules for interpreting
predefined component parameters. Modifying hidden properties requires specialized
knowledge of the component, and is not needed for normal operation.

The Override box is checked when any of the parameters default values have been changed.
Property Type shows the type (e.g., Real) for Generic properties. Show Pin allows you to show a
pin for the property on the components symbol. Sweep enables the value for sweep. SDB enables
the value to be stored in the project SDB.

1-24 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When the Properties dialog is opened for a design (Design Properties), the Parameter Values tab
is initially empty. You can add properties to the design by clicking the Add button. See Adding
Project Variables for details.
Note

The Add button does not appear on the Properties dialog for a component, as shown in
the illustration above

General Tab (Properties Dialog Box)


The General tab lists the selections name, symbol name, reference designator, and so on. These
are generally not editable. The information is identical to that on the General tab of the Property
Window.

Symbol Tab (Properties Dialog Box)


The Symbol tab provides information on the location of the component symbol in the schematic.
The information is identical to that on the Symbol tab of the Property Window.
When the Properties dialog is opened for a design (Design Properties), both the General and
Symbol tabs are initially empty.

Quantities Tab (Properties Dialog Box)


The Quantities tab lists the simulation parameters of the selected component. Quantities that have
composite properties have buttons in the Value field. A composite property is an array or record
property (parameter, quantity, or signal), generally based on a model property, that represents a
combination of elements. Click the button to view details and edit these properties in the Array/
Record Element Values dialog box.
The tab information information is simialr to that on the Quantities tab of the Property Window
with the following additions:

Description This column displays a description of the parameter.


Callback This button allows you to associate a callback script with the parameter.
Override When checked, indicates that one or more of the parameters defaults have been
changed.
Direction Shows the parameter direction (In, Out, InOut, or Dont Care).
Show Pin When enabled, this check box controls whether or not the parameter pin is shown
on a schematic.
Sweep When enabled, this check box controls whether or not the parameter may be swept.

Signals Tab (Properties Dialog Box)


The Signals tab lists the names and values of signals for digital elements.

NameThis column displays the names of component parameters.


ValueThis column allows you to change the initial values of parameters.
Signals that have composite properties have buttons in the Value field. A composite property is
an array or record property (parameter, quantity, or signal), generally based on a model property, that represents a combination of elements. Click the button to view details and edit these
Getting Started 1-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

properties in the Array/Record Element Values dialog box.

UnitThis column allows you to set the unit of measure for the parameter value.
Description This column displays a description of the parameter.
Callback This button allows you to associate a callback script with the parameter.
Override When checked, indicates that one or more of the parameters defaults have been
changed.
Signal Type This column shows the type of signal (e.g., real or bit) set for the parameter.
Direction Shows the parameter direction (In, Out, InOut, or Dont Care).
Show Pin When enabled, this check box controls whether or not the parameter pin is shown
on a schematic.
Sweep When enabled, this check box controls whether or not the parameter may be swept.
SDB This check box controls whether or not the parameter is saved in the SDB.

Array/Record Element Values Dialog Box


A component properties dialog box may include Array or Record properties, generically called
composite properties, for Parameters, Quantities, or Signals.

A composite property is an array or record property (parameter, quantity or signal), generally


based on a model property, that represents a combination of elements.
An array is a group of the same type of element, such as an array of real quantities, or of
std_logic signals. The elements in an array may be composites themselves, but all are the same
type.
A record is a group of the same or different types of element. A record may contain a std_logic
signal and a real array.
These concepts are generally based on the VHDL-AMS array and record types, and these types
of properties can only be created from models at this time.

1-26 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The figure below shows examples of four composite properties.

Note that the Value field for each composite property contains a button labelled with the values of
the elements in the respective array or record. Clicking a button opens an Array/Record Element
Values dialog box in which you can assign element values for array
and record
properties. For example:

Getting Started 1-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The edit field at the top shows the current composite value, which is a comma-separated set of
numbers, variables, functions, or expressions enclosed in curly braces. If there are nested arrays or
records (e.g., an array of records where the record has an array and various other values), the nested
array or record values are also enclosed in curly braces. Such a value could look like
{1,3,{{22,55},44},7e12}. The array or record value can be set directly by modifying the current
value in this edit field. The updated values will be shown in the tree when focus is changed.
The Expand All and Collapse All buttons expand and collapse the tree.
Clicking on a leaf element opens the Edit Element Value dialog:

Here you can enter a value, then click OK at which time the value will be checked for validity and
the value updated in both the tree and composite value. Entries that fail the validation check produce messages similar to the following in the Message Manager:

Related Topics
Parameter Values Tab (Properties Dialog Box)
Quantities Tab (Properties Dialog Box)
Signals Tab (Properties Dialog Box)
Param Values Tab (Properties Window)
Quantities Tab (Properties Window)
Signals Tab (Properties Window)

Property Displays Tab (Properties Dialog Box)


The Property Displays tab controls the display of component properties on the schematic. Displayed properties appear as text labels on the schematic.
Note

The Property Displays tab controls only the display of labels associated with component
parameters. It does not enable or define those parameters as outputs for simulation. To
select output parameters, refer to the section on Setting the Outputs for Simulation.

To add a property to those displayed on the schematic:


1.

Click the Add button.

2.

Click on the Name field and select the parameter you wish to add from the pulldown menu.

1-28 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

Click on the Visibility field to select the type of information you wish to display:

4.

None results in no label being shown.


Name displays only the parameter name, e.g., R.
Value displays the component value, which can be a single value (e.g. 10000) or an
expression (e.g., 10000*5).
Both displays the parameter name and its value, e.g., R = 10000 or R=10000*5.
Evaluated Value displays the evaluated value of an expression that has been used for
the value of a parameter, e.g., 50000 for the expression 10000*5.
Evaluated Both displays the parameter name and the Evaluated Value, e.g., R = 50000
for the expression 10000*5.

Click in the Location field for a parameter to specify the location for the displayed parameter
and/or value. The locations are: Left, Top, Right, Bottom, Center. When you have set the
location with the cursor in the schematic, the Location field has the entry Custom.

To remove a property from display on the schematic, do either of the following:

Select the property you wish to remove from display in the Property Display list and click the
Remove button.
Click on the Visibility field of the property you wish to remove from display and select None.

Add/Edit Property Dialog Boxes


In the Add Property dialog box, you can as appropriate enter a property Name, enter an initial
Value, choose a property type via the radio buttons (text input, menu, checkbox, etc.). Depending
on the property type, you can also choose a Unit Type (angle, frequency, capacitance, etc.) and the
default Units (deg, GHz, pF, etc.) for the property from drop-down menus.
An informational panel provides guidance based on the chosen value type for entering data in the
various fields
Warning

Do not use the names of reserved system parameters for property names.

The Edit property dialog is similar to the Add property dialog. Editable fields are the same as those
described above for the Add Property dialog box.

The Message Manager


The Message Manager displays messages associated with a projects development, such as error
messages about the designs setup or informational messages about the progress of an analysis.
Messages are organized by project, and then by circuit design. Because a design can contain multiple top-level and subcircuits, and multiple analyses can be set up for each, this organization helps
you determine where errors have occurred.
The Message Manager window is a dockable window similar to the Project Manager window.
Like the Project Manager window, it can be moved and sized as needed. It can also be attached
Getting Started 1-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

(docked) to any edge of the Simplorer desktop. Message text wraps within the window. A vertical
scrollbar displays as needed allowing you to move through the list message-by-message.
Note

If a message is too large to fit in the window, clicking the scrollbar to page-up or pagedown will have no effect. To view such messages in their entirety, you can resize the
window or right-click on the message and select Details to show message details.

Hint

You can drag the window by its title bar to undock, move, and dock it.
You can resize the window by dragging its edges.
You can maximize or minimize the window by clicking the triangle in the title bar.
You can close the window by clicking the X in the title bar.
You can right-click on a message and select Details to show message details.

Resize Vertically
Close

Maximize

Resize
Horizontally

Grab and Move to Dock/Undock


Resize Vertically

Messages in the Message Manager window are organized with global messages first, then by
project, then by circuit. Because a design can contain multiple circuits and subcircuits, sometimes
with multiple analyses for each, this organization helps you to quickly determine where errors have

1-30 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

occurred. Messages are stamped with the date and time (hh:mm:ss) they were generated. The
following icons appear next to a message to indicate information, warnings, errors, or actions:
Indicates an informative message.
Indicates a warning message that may require your attention.
Indicates an error message that may require your attention.

Related Topics

Display or Hide the Message Manager


Hiding the Message Manager Window Until Messages Appear
Clearing Messages
Showing Message Details

Display or Hide the Message Manager

On the View menu, click Message Manager.


A check box appears next to this command if the Message Manager is visible.

Hiding the Message Manager Window Until Messages Appear


If you prefer to hide the Message Manager until a message is generated:
1.

Turn off the Message Manager window display by deselecting the Message Manager checkbox on the View menu in the Menu Bar.

2.

Click Tools>Options>General Options.

3.

On the Miscellaneous Options tab select Show Message Window on new messages.

The Message window will re-open when Simplorer reports any errors, warnings, or successful
completion of any simulations.

Clearing Messages
The Message Manager is cleared at the start of each analysis. To manually clear messages, rightclick the message tree and select Clear Messages for <ProjectName>, where <ProjectName> is the
name of the project for which you want to clear messages.

Showing Message Details


Detailed information about individual messages in the Message Manager window can be displayed by right-clicking on a message and selecting Details in the context menu. The Message
Details dialog box displays the Project and Design to which the message applies, and a detailed
Description of the message.

Getting Started 1-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Progress Window


The Progress window monitors a simulation while it is running. In addition to Simplorer simulation progress, this window can also monitor simulations running on other products such as Maxwell
during dynamic link subcircuit co-simulation. In the image below, the Progress window is displaying the progress of a dynamic link co-simulation for a Simplorer circuit that includes a Maxwell
subcircuit component:

To display or hide the Progress window, do one of the following:

On the View menu, click Progress Window.


A check box appears next to this command if the Progress window is visible.

Right-click the toolbar area, and then click Progress on the shortcut menu.
A check box appears next to this command if the Progress window is visible.

You can configure the Progress window to appear only when a simulation is running. To do this:
1.

Turn off the Progress window display by deselecting the Progress Window checkbox on the
View menu in the Menu Bar.

2.

On the desktops Tools menu, choose Options, and then click General Options.

3.

On the Miscellaneous Options tab, select Show Progress Window when starting a simulation.

4.

Click OK.

Note

The Progress window is also a dockable window, so you can position it where you like.

The Design Area


The Design Area can display one or more editor windows and report windows. This section briefly
introduces the various Design Area windows.

Schematic Editor Window


Symbol Editor Window
Netlist Editor Window
Model Editor Window
Script Editor Window
Report Window

1-32 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

See the Window Pulldown Menu topic for ways to manipulate the windows in the Design Area.

Schematic Editor Window


The Schematic Editor window allows you to place components and wire them together.

You can move components by simply selecting and dragging them. Copy and paste can be used on
components and their wires within the schematic editor. You can also copy and paste to other schematics.
As you place the cursor near a pin of a component, it changes from an arrow to an X, indicating that
the schematic editor is in the wiring mode. In wiring mode, left-click to start drawing a wire. Leftclick again to end the wire.
Commonly used items such as ports, grounds, and page connectors can be placed in the schematic
by clicking their toolbar icons or by using the Draw menu.
View controls to zoom in, zoom out, and fit the drawing to the editor window are available on the
View menu, and on the shortcut menu that opens when you right-click in a schematic.

Getting Started 1-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Relater Topics
Schematic Editor.

Symbol Editor Window


A symbol is a set of information that defines the graphical representation and electrical connectivity, if any, of a component for inclusion in a schematic.

The project tree Definitions includes a Symbols folder that lists the symbols for components used
on the current schematic. Double-click on the desired item, or right-click and select Edit Symbol
from the shortcut menu, to open the symbol for editing.
The symbol editor allows you to edit this information in the following ways:

Draw graphical primitives, such as rectangles, circles, and arcs, using options on the Draw
menu
Add pins for electrical connections using the Pin option on the Draw menu, and possibly modifying the properties of these pins via the Pin List dialog box
Add text labels, using the Text option on the Draw menu
Add property displays, using the Property Display Setup option on the Symbol menu
Update the current project with the new or revised symbol definition using the Update Project
option on the Symbol menu

Related Topics

Symbol Editor.

1-34 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Netlist Editor Window


The Netlist Editor allows you to view the netlist generated from the schematic for Simplorer
designs.

Related Topics
Netlist Editor.

Getting Started 1-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Model Editor Window


Simplorer elements modeled in SML, VHDL, C, and Spice may be edited in the Model Editor window. A typical VHDL model editor window is shown below.

Related Topics
C Model Editor
VHDL Model Editor
SML Model Editor
Spice Model Editor

Script Editor Window


The Script Editor window allows you to edit Java Scripts and Visual Basic scripts.
For details on working with scripts, see Scripting.

1-36 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Report Window
When a design has been successfully simulated, you can generate a report of results in a wide
variety of forms, including XY graphs, polar graphs, 3D graphs, Smith charts, and data tables.
Various attributes of each can be customized to your liking. Here is an example of a 2D Report:

For more information, see Generating Reports and Postprocessing.

The Status Bar


The status bar is located at the bottom left of the Simplorer and SheetScan application windows. It
displays information about the command currently being executed.

To show or hide the status bar:

On the View menu, click Status Bar.


A check box appears next to this command if the status bar is visible.

Getting Started 1-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

1-38 Getting Started

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Desktop Menus and Toolbars


This topic describes the Menu bar menus, toolbars, and other useful features of the Simplorer desktop.
Top Menu Bar
Toolbars
Shortcut Menus
Shortcut Keys

Working with the Menu Bar


The Menu bar contains pull-down menus for controlling Simplorer and the various editors and
viewers.
Left-click on a Menu bar entry to open its pull-down menu.
In addition, the Alt key makes it easy to access the Menu bar put-downs.

A pull-down menu in the Menu bar can be opened by clicking the Alt key and then pressing
the underlined letter of the menu you wish to activate (the underlines appear when the Alt key
is pressed). Use lower case for the underlined letters.
Clicking the Alt key enables you to scroll across the Menu bar, opening the pull-down menus,
by pressing the left () and right () arrow keys.

Once a pull-down is open, you can use the down () and up () arrows to change the selection. You
can use the right ()arrow key to open a subordinate menu for the selected command.
Operations on the pull-down menus can be executed in three ways:

Left-clicking on the operation.


Typing the underlined letter as shown in the menu (for example, typing the n in New on the
File pull-down menu). Type all underlined letters in lower case.
Using a shortcut key combination as shown in the menu (for example, Ctrl-n for the New command on the File pull-down. Type all shortcut keys in lower case. Shortcut key combinations
are valid whether or not the pull-down is visible. See Shortcut Keys for a listing.
Note

To open a help topic about an Simplorer menu command, press Shift+F1, and then click
the command or toolbar icon.

From left to right, Simplorer contains the following menus:

1 -39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

File menu

Use the File menu commands to manage Simplorer project files and printing
options.

Edit menu

Use the Edit menu commands to select, cut, copy, paste, and modify the
contents of the active editor window; and undo and redo actions.

View menu

Use the View menu commands to display or hide desktop components and
model objects, modify Schematic Editor window visual settings, and modify
the model view.

Project menu

Use the Project menu commands to add an Simplorer design to the active
project, view, define datasets, and define project variables.

Draw menu

Use the Draw menu commands to draw primitive elements, ports, 2D reports,
and wires, and to rotate and flip schematic and symbol elements.

Schematic menu

Use the Schematic menu to setup the grid display, page display properties,
perform ERC check, set rules for automatically naming wires, edit the symbol
for a circuit, push up and pop down through levels of a hierarchical schematic,
and layout probes and stacking.
This menu does not appear unless you have an active schematic displayed.

Simplorer Circuit Use the Simplorer Circuit menu to setup and manage all the parameters for
menu
the active design. Most of these project properties also appear in the project
tree. You can also start an analysis, setup an Optimetrics analysis, and create
reports from this menu.
This menu does not appear unless you have an active schematic displayed.
Symbol menu

Use the Symbol menu to manage the parameters for the symbols associated
with components and to update the current project with changes made in the
current symbol.
This menu does not appear unless you have an active symbol editor window
displayed.

Netlist menu

Use the Netlist menu to export the netlist for a design.


This menu does not appear unless you have an active netlist editor window
displayed.

Script menu

Use the Script menu to manage JavaScripts and Visual Basic scripts.
This menu does not appear unless you have an active script editor window
displayed.

1-40

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

VHDL, C, and
SML Model
Editor menus

Use the VHDL, C, and SML Model Editor menus to manage the parameters
for component models defined using either the VHDL, C, or SML modeling
languages, and to update the current project with changes made in the current
model.
These menus do not appear unless you have an active model editor window
displayed.

Report2D and
Use the Report2D and Report 3D menus to manage the parameters for
Report3D menus modifying and updating the various report types available in Simplorer.
These menus do not appear unless you have selected a report from the Results
folder in the Project Manager.
Tools menu

Use the Tools menu to modify the active projects material library, arrange the
material libraries, run and record scripts, update project definitions from
libraries, customize the desktops toolbars and keyboard shortcuts, and modify
many of the softwares default settings.

Window menu

Use the Window menu commands to rearrange the schematic windows and
toolbar icons.

Help menu

Use the Help menu commands to access the online help system and view the
current Simplorer version information.

Related Topics
Getting Help

Working with The Toolbars


Simplorer operates with a dynamic toolbar and pull down menus. The toolbar and pull down menus
change to reflect operations associated with the currently active design editor. The toolbars are a
collection of buttons or operator shortcuts. Most user interface operations are available as shortcuts.
To find out what a particular toolbar icon does, move your mouse cursor over the icon to make its
ToolTip appear:

At the same time the ToolTip appears, Simplorer displays a brief description of the icons
command in the status bar at the lower left-hand corner of the Simplorer window:

1 -41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The design environment supports customization of the Toolbar. To configure, select the Customize
option from the Tools pull down menu. Shortcuts are organized by toolbars according to their
program component such as Desktop or Schematic and category such as File or View. The user
may select when a toolbar is visible or create user customized toolbars to be visible for a given
active editor window.
The toolbar buttons and shortcut pull-down lists act as shortcuts for executing various commands.

To execute a command, click a toolbar button or click a selection on the shortcut pull-down
list.
To move a toolbar, click and drag the toolbar by the vertical bar on its left. If you drag a toolbar outside of the main Simplorer window, it changes into a floating menu window.
To open a help topic about a toolbar buttons functionality, press Shift+F1, and then click the
toolbar button or a command in the shortcut pull-down list.
To display a brief description of the toolbar button, move the pointer over the button or shortcut pull-down list.
Hint

To modify toolbars on the desktop:

On the Tools menu, click Customize. Select the toolbars you wish to display from
the list on the Toolbars tab on the Customize dialog.
You can also create new toolbars by clicking New and assigning a name for the
toolbar in the resulting dialog.
You can add shortcut icons to any toolbar simply by dragging a shortcut icon from
those available on the Commands tab and dropping in on the desired toolbar.
You may also drag and drop shortcut icons directly from one toolbar to another. To
remove a shortcut from a toolbar, drag and drop the icon outside of the main
Simplorer window.

To reset toolbars to default positions and settings:

On the Tools menu, click Customize. On the Customize dialog box, click Reset to
reset the toolbar currently highlighted in the list, or click Reset All to return all
toolbars to their default conditions.

Customize Options
To customize the Toolbar displays by using the toolbar list:
1.

Select Tools>Customize.
This displays the Customize dialog with the Toolbars tab selected. The field lists the
available toolbars, with those currently selected being checked. To the right of the field
are three buttons:
New... -- launches the New Toolbar dialog that lets you specify a new toolbar name.
Reset -- This resets the toolbar display to apply your current selections.
Reset All -- this resets the toolbar display to match the original defaults.

2.

Check the buttons to add additional toolbars to the desktop.

1-42

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

New toolbar icons are added to new rows as you click them. You can drag these to convenient locations.
3.

Uncheck any buttons to remove toolbar icons.

4.

Use the OK button to close the dialog, or the Cancel button to close without making
changes.

Customize Commands
To customize the Toolbar by dragging icons:
1.

Select Tools>Customize.
This displays the Customize dialog with the Commands tab selected. The Categories
field lists the available toolbars. The icons for the currently selected toolbar are shown to
the right of the field.

2.

Select from the Categories list to display the icons you want to add to the toolbar.

3.

Drag the icons from the Customize dialog to a location on the desktop toolbar.

4.

Use the OK button to close the dialog, or the Cancel button to close without making
changes.

External User Tools


To add an external user tools menu to Simplorer:
1.

Click Tools>External Tools.


This displays the Customize User Tools Menu dialog box.

Note

2.

If User Tools menu items have been defined, the items are displayed in the Menu
Contents pane.
Navigation buttons let you Move Up, Move Down, Remove, and Add menu items.

Click the Add button in the Customize User Tools Menu dialog.
This enables the following fields:
Menu Text field -- enter the name of the tool you want to appear in the User Tools menu.
Command field -- this field displays the external executable. An ellipsis button [...] lets you
navigate to the location of the executable file you wish to run when the command is selected.
Arguments field -- this field accepts command arguments from the > button menu selections
for File Path, File Directory, File Name, File Extension, Project Directory, or Temp
Directory.
Initial Directory -- this field specifies the initial directory for the command to operate. The
ellipsis button [...] displays a dialog that lets you navigate folders on your system, or across the
network.

3.

Click OK to add the newly defined user tools to the Tools menu, or Cancel to close the dialog

1 -43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

without changes.
Note

User tools appear at the bottom of the Tools menu.

The Shortcut Menus


Shortcut menus are available for many objects and windows in Simplorer, including components in
schematics, graph traces and grids, and icons in the desktops Project Manager window.
To open the shortcut menu for an object, right-click it. For example, in the shortcut menu for the
Analysis icon in the Project Manager window shown below, you can add solution setups and
options, import solutions, and start analyses.

Note

All of the commands on the shortcut menus are also available on the menu bar.

Shortcut Keys
Many commands in Simplorer may be accessed through keyboard shortcuts or hot keys. These
keystroke combinations some of which also include pressing and holding the left mouse button
to perform drag operations allow you to bypass the menu system and directly execute
commands. They are designated and chosen as follows:
Modifier(s) + key

Modifier(s) + drag

Hold down the modifier(s)such as Shift or Ctrland press the


key.
Type all shortcut keys in lower case.
Hold down the modifier(s)such as Shift or Ctrl press and
hold the left mouse button, and drag the mouse cursor.

1-44

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer Desktop shortcut keys


Ctrl+n

New

Ctrl+o

Open

Ctrl+p

Print

Ctrl+s

Save

Ctrl+0

Cascade windows

Ctrl+1

Tile windows horizontally

Ctrl+2

Tile windows vertically

Del

Delete

F1

Open help

F2

Rename

F12

Analyze - Run simulation using the active analysis setup

Symbol Editor shortcut keys


Ctrl+a

Select all elements

Ctrl+c

Copy selected element(s)

Ctrl+v

Paste

Ctrl+x

Cut selected element(s)

Ctrl+y

Redo Edit/Delete

Ctrl+z

Undo Edit/Delete

Del

Delete

Ctrl+t

Insert text

Ctrl+b

Insert pin

Ctrl+r

Rotate selected elements

Shift+drag

Pan

Shift+Alt+drag

Zoom

1 -45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Report 3D Viewer shortcut keys


Ctrl+d

Fit drawing

Alt+drag

Rotate view

Shif+drag

Pan view

Shift+Alt+drag

Zoom view

Report 2D Viewer shortcut keys


Ctrl+a

Select all traces

Ctrl+c

Copy selected trace(s)

Ctrl+v

Paste

Ctrl+x

Cut selected trace(s)

Ctrl+y

Redo report action

Ctrl+z

Undo report action

Del

Delete

Shift+drag

Pan

Shift+Alt+drag

Zoom

Netlist Editor, VHDL-AMS Package Editor, VHDL-AMS Editor, SML Editor, and C Model

1-46

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Editor shortcut keys


Ctrl+a

Select all traces

Ctrl+b

Delete all bookmarks

Ctrl+c

Copy

Ctrl+f

Find

Ctrl+g

Go to line number

Ctrl+r

Replace

Ctrl+v

Paste

Ctrl+x

Cut

Ctrl+y

Redo

Ctrl+z

Undo

Del

Delete

F2

Next bookmark

Ctrl+F2

Toggle bookmark

Shift+F2

Previous bookmark

Related Topics
Schematic Editor Shortcuts

Editing Keyboard Shortcuts


The Keyboard Shortcuts command in the Tools menu opens the Keyboard Shortcuts dialog
box in which you can customize the key combinations that can be used to execute menu commands. You can also Save and Load customized keyboard shortcut sets, and Restore all keyboard shortcuts to their default settings.
To edit keyboard shortcuts:
1.

Select Tools>Keyboard Shortcuts.


The Keyboard Shortcuts dialog box displays.

2.

Select the command whose shortcut you want to edit by choosing the desired entries in the
Categories and Commands lists.
The Shortcuts for selected command drop-down list shows the keyboard shortcuts (if
any) currently assigned to the selected command.
a.

To delete a keyboard shortcut, select it in the drop-down list and click Remove.

b.

To add a keyboard shortcut, place the cursor in the Press new shortcut key box and

1 -47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

type the new key or key combination (e.g., Shift+Esc, F7, Ctrl+Shift+K, etc.).
Note

If the new shortcut key is already used, Show currently used by lists which command
currently uses it.
c.

3.

Click Assign to create the new shortcut.

Optionally, click Save to save the modified set of keyboard shortcuts in an Ansoft Keyboard Shortcut (.aks) file.

Undoing Commands
The Undo command on the Edit menu for all editors and reports allows you to undo the last
command or operation you performed. Redo re-executes the last operation that was undone.
Note

You cannot undo an analysis that has been performed.


When you save a project, the undo/redo history is cleared for the project and its
designs.

1-48

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Running Simplorer from a command line


Simplorer includes line arguments that can be included when launching from a command line or terminal prompt. All command-line arguments are case-insensitive.
Command-line syntax
simplore <options> <run command> <project name/script name>
Run Commands
The following command line run commands are available in Simplorer. Of the commands
(BatchSave, BatchSolve, BatchExtract, RunScript, RunScriptAndExit), one or none must
be used as arguments after simplore. Links to the valid options for each run command are
listed and/or linked to descriptions.
-BatchSave <project file name>
Saves a named project to the current version. This is primarily intended for converting
version 7 projects to version 8 when you intend to subsequently run them on a Linux platform. The conversion from version 7 to version 8 must be done under Windows, HP, or
Solaris before those projects can run on a Linux system. You can run this command with
the -Iconic option, the -Logfile option, and the -ng option (no graphics).
-BatchSolve <project file name>
By default, solve all adaptive setups, sweeps, as well as Optimetrics setups found in the
project file. If parallel solve is possible, you can use the -Distribute option in conjunction
with -BatchSolve. You can run this command with the -Iconic option, the -Logfile option,
the - ng option (no graphics), and the -Queue option.
Additional parameters for batch solves include the following. It is good practice to put
quotes around the path to the Simplorer executable, and the full path to the project. This
ensures that spaces in the path or project will not be an issue. The same is true of the
design name, if there are indeed spaces. The quotes must enclose the entire argument
including the Nominal or Optimetrics part.
[designName] - batch solve all setups for design with the name given under the project.
[designName]:Nominal - batch solve all nominal setups for design with the name given
under the project.
[designName]:Optimetrics - batch solve all Optimetrics setups for design with the name
given under the project.
[designName]:Nominal:[setupname] - batch solve the specified nominal setup for design
with the name given under the project. The setupname is case insensitive.
[designName]:Optimetrics:[setupname] - batch solve the specified Optimetrics setup for
design with the name given under the project.The setupname is case insensitive.
-Local | -Remote | -Distributed
Perform the -Batchsolve on a local machine, a remote machine, or as a distributed solve using a
specified machine list (see below). These command line options are mutually exclusive. That is,
1 -49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

only one of these options should be specified. The settings persist only for the current session.

-MachineList list=<machine1>, <machine2>, ... | file="<machine list file path> "


In this format, the DSO machines machine1,machine2,... are listed explicitly on the command line. The machine names must be separated by commas. The machines may be specified by IP address or by hostname, provided that the hostnames are able to be resolved on
the Desktop host. If the list contains any whitespace, it must be enclosed in quotes. The
number of distributed COM engines run on each host is equal to the number of times that
the hostname appears in the list. That is, if host1 appears in the list once, and host2 appears
in the list twice, then one COM engine will run on host1 and two COM engines will run
on host2.
-MachineList file=<machine list file path>
In this format, the DSO machines are listed in a file. The machine names are listed in the
text file, one hostname per line. The pathname of the file is file_path_name. The machines
may be specified by IP address or by hostname, provided that the hostnames are able to be
resolved on the local host. The number of distributed COM engines run on each host is
equal to the number of times that the hostname appears in the list. That is, if host1 appears
in the list once, and host2 appears in the list twice, then one COM engine will run on host1
and two COM engines will run on host2.
You can use either form of the MachineList option to indicate the machine(s) on which to
run a distributed batchsolve. The settings persist only for the current session.
When you use a file to define the machines available for a distributed solve you should list
the machine addresses or names on separate lines:
192.168.1.1
192.168.1.2
(etc)
-MachineList num = <numb distributed engines>
This format is used when a scheduler (such as LSF, PBS, SGE or Windows HPC) is used
to manage the jobs sent to a cluster of hosts. In a scheduler environment, you can specify
the number of distributed engines that should be used for distributed processing. In this
case, you do not specify the machine names after the flag because the names are provided
by the scheduler. For example, in the Windows HPC environment, you can write the number of distributed engines as follows.
-machinelist num=4
The COM engines will be distributed across the hosts allocated to the job by the scheduler.
-batchoptions '<option1>' '<option2>'...
All options that are specified through Tools>Options dialogs go to the user-level registry.
You can override such registry entries via the -batchoptions command line. These overrides apply only to the current Desktop session. This feature is available for all desktop
products. The registry setting overrides may be specified on the command line, or may be
in a file with the file pathname specified on the command line. The -batchoptions com1-50

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

mand line option is only valid for batch jobs; it is ignored if neither -BatchSolve nor
-BatchSave command line options are specified.
The following examples use hfss, but this feature is available for all desktop products.

The registry path separator is the slash "/"


Registry key pathnames are enclosed in single quotes
Registry string values are enclosed in single quotes
Backslashes in registry key values must be escaped with another backslash

Example with registry settings specified on the command line


simplorer.exe -batchsolve -batchoptions _
"'Simplorer/Preferences/NumberOfProcessors'=4 _
'Desktop/ProjectDirectory'='C:\\projects\\test'"_
projectname.asmp
This command line overrides the values of the Simplorer/Preferences/NumberOfProcessors
and Desktop/ProjectDirectory registry settings.
Notes:

Multiple registry settings may appear in a single -batchoptions value, separated by whitespace
The -batchoptions value must be enclosed in double quotes if it contains any whitespace

Example with registry settings specified in a file


simplorer.exe -batchsolve -batchoptions filename projectname.asmp
where file filename contains:
$begin 'Config'
'Simplorer/Preferences/NumberOfProcessors'=4
'Desktop/ProjectDirectory'='C:/projects/test'
$end 'Config'
This command line overrides the values of the Simplorer/Preferences/NumberOfProcessors and
Desktop/ProjectDirectory registry settings. These overrides apply only to the current hfss session.
Note

The -batchoptions filename value must be enclosed in double quotes if it contains


whitespace
The $begin 'Config' and $end 'Config' lines are required

-batchoptions Uses Relative Registry Paths


When using the -batchoptions command line option, the registry paths specified on the command
line or in the batchoptions file are relative paths. The paths are relative to the current version of the

1 -51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

current product. If the examples above are used with Simplorer version 11.0, then the following
table shows the relative and absolute paths of the registry overrides in the above examples.
Relative Path

Absolute Path for Simplorer 11.0

Simplorer/Preferences/
NumberOfProcessors

HKCU/Software/Ansoft/Simplorer/11.0/Simplorer/Preferences/
NumberOfProcessors

Desktop/ProjectDirectory

HKCU/Software/Ansoft/Simplorer/11.0Desktop/
ProjectDirectory

For additional options and paths for use with -batchoptions, see
For -batchoptions Use: Project Directory and Lib Paths
For -batchoptions Use: TempDirectory
For -batchoptions Use: Various Desktop Settings
When to Use the -batchoptions Desktop Command Line Option
Many analysis parameter settings may be done using the GUI. For example, a number of Simplorer
options may be set using the Simplorer Options dialog box, which is brought up by the
Tools>Options>Simplorer Options... menu item. These values of these parameters are saved in
the registry when Simplorer is not running.
Path Name

Default Value Units or Values

Description

Simplorer/Preferences/
HPCLicenseType

pack

"pool" or "pack" "pool" = multiprocessing


enabled by HPC licensing;
"pack" = multiprocessing
enabled by HPC Pack licensing

Simplorer/Preferences/
MemLimitHard

0 (No Limit)

KB

Maximum RAM Limit

Simplorer/Preferences/
MemLimitSoft

0 (No Limit)

KB

Desired RAM Limit

Simplorer/Preferences/
NumberOfProcessors

maximum number of
processors

Simplorer/Preferences/
1
NumberOfProcessorsDistributed

maximum number of
distributed processors

Simplorer/Preferences/
UseHPCForMP

0 (false) or 1
(true)

if true (1), enables


multiprocessing using HPC
licenses

0 (false)

When running a batch analysis, these parameters will take the values from the registry. The
-batchoptions Desktop command line option allows you to override the parameter values set in the
registry with values specified on the command line or in a file. The values specified using the
-batchoptions command line option only apply to the batch job, and do not affect the parameter
values in the registry. For example, you could specify the following command to ensure that this
1-52

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

analysis uses 2 processors for distributed processing and 2 processors for non-distributed processing. If the -batchoptions value is not specified, then the number of processors for distributed processing or for non-distributed processing could be affected by an interactive Simplorer job running
on the same host as the same user.
simplorer -ng -BatchSolve -Distributed
-machinelist num=2 _
-batchoptions _
"'Simplorer/Preferences/NumberOfProcessorsDistributed'=2 _
'Simplorer/Preferences/NumberOfProcessors'=2
'Simplorer/Preferences/UseHPCForMP'=1
'Simplorer/Preferences/HPCLicenseType'=pool"
Project1.asmp
-BatchExtract <batchExtractScriptFile> <projectFile>
This command allows the following Simplorer commands to be executed non-graphically
via script and without checking out any GUI licenses: Update Reports, ExportToFile. A
project file must be specified when the command line option BatchExtract is used. This
means that commands in the <batch extract script file> will only be executed in the specified project. The open/close project commands are not supported in BatchExtract
mode.
Note

-ng must be used with BatchExtract or it will fail with an error.


Including unsupported commands in the batchExtractScriptFile will terminate the
script execution.

Examples:

-ng -BatchExtract <batchExtractScriptFile> <projectFile>


-ng -BatchSolve ..... -BatchExtract <batchExtractScriptFile> <projectFile>
The commands in batchExtractScriptFile will be executed after BatchSolve is done
and before the project is saved.
Note that BatchSolve will continue to require solve licenses.

Example Script For Report Export:


simplorer -ng -batchextract exportToFile.py "C:\Program
Files\AnsysEM\Simplorer11.0\Windows\Examples\Applications\Simple\Basic
\mixer.asmp"

where exportToFile.py contains:


oDesktop.RestoreWindow()
oProject = oDesktop.SetActiveProject("mixer")
oDesign = oProject.SetActiveDesign("mixer")
oModule = oDesign.GetModule("ReportSetup")
oModule.UpdateReports(["XY Plot 1"])
oModule.ExportToFile("XY Plot 1", "exportToFilePy.csv")
1 -53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

-Monitor
You can monitor progress and messages on standard output, during non-graphical analysis. Progress, warning and info messages are logged to the standard output stream. Error
and fatal messages are logged to the standard error stream. Schedulers intercept these
streams and provide commands for display of this output - see individual scheduler documentation for specifics.
Examples:
C:\Simplorer\simplorer.exe -distributed _
-machinelist list="192.168.1.1,192.168.1.2" _
-batchsolve design_transient:Optimetrics
"C:\distrib_project.adsn"
C:\Simplorer\simplorer.exe -batchsolve SimplorerDesign1:Nominal
_ "C:\Project1.asmp"
"c:/Program Files/AnsysEM/Simplorer11.0/simplorer.exe" _
-Iconic -Queue _
-LogFile "H:\Simplorer\_SimplorerQueue\fence-v2__Array with
Fence4.log" _
-BatchSolve "Array with Fence4:Nominal" "H:\Simplorer\fencev2.asmp"
-RunScript <script file name>
Run the specified script. You can use the -ScriptArgs option to add one or more arguments to this command and can use the -Iconic option.
-RunScriptAndExit <script file name>
Run the specified script and exit. You can use the -ScriptArgs option to add one or more
arguments to this command. You can also use the -Iconic option, the -Logfile option, and
the -WaitForLicense option.
<none>
If you do not specify a run command with hfss on the command line, you can still specify
the -Help and -Iconic option.
<project file>
Open the specified project on start up. If -BatchSolve is also set, the project will be
solved.
Note

The <project file> must be the last command line entry.

1-54

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Options
The following options can be associated with one or more of the run commands.
-Distribute
Distribute a batch solve to multiple machines. This option must be combined with the BatchSolve run command and must be specified before it in the command line. See Distributed Analysis for more information on distributed analysis.
Example:
C:\Simplorer8\simplorer.exe -distribute -batchsolve _
SimplorerDesign1:Optimetrics:ParametricSetup1
"C:\Project1.asmp"
-Help
Open a window that displays the different command-line options. This is only used when
none of the four run commands are used.
-Iconic
Run Simplorer with the window iconified (minimized). This can be used with all or none
of the run commands.
-LogFile <log file name>
Specify a log file (use in conjunction with -BatchSave or -BatchSolve or -RunScriptAndExit run commands). If no log file is specified, it will be written to the directory in which
the script or Simplorer project is located, with the name <project_name>.log.
-ng
Run Simplorer in non-graphical mode. (Use in conjunction with -BatchSave or -BatchSolve run commands. Must be used with -BatchExtract command.)
-Queue
Queue licenses (use in conjunction with -BatchSolve or -RunScriptAndExit).
-ScriptArgs <scriptArguments>
Add arguments to the specified script in conjunction with -RunScript and -RunScriptAndExit.
ScriptArgs looks at the single argument after it and uses those as script arguments. You
can pass multiple arguments to scriptargs by surrounding the script arguments in quotes.
For instance:
simplorer -scriptargs "SimplorerDesign1 Setup1" RunScriptAndExit c:\temp\test.vbs
Here, SimplorerDesign1 is taken into simplorer as the first argument, and Setup1 is the
second argument. Without the quotes, SimplorerDesign1 is taken as the first argument,
and Setup1 will not be understood by simplorer.
simplorer -scriptargs SIMPORERDesign1 Setup1 RunScriptAndExit c:\temp\test.vbs
1 -55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example:
c:\Simplorer8\simplorer.exe -runscriptandexit
"c:\project1.vbs"
-scriptargs "Setup1"
Related Topics
Running a Script.
For -batchoptions Use: Project Directory and Lib Paths
For -batchoptions Use: TempDirectory
For -batchoptions Use: Various Desktop Settings
Batch Options Command Line Examples

For -batchoptions Use: Project Directory and Lib Paths


The PersonalLib, syslib and userlib settings are a little different from other settings. If the final
directory name is different from what is expected, then PersonalLib, syslib or userlib is appended
as a final directory. In addition, these settings may come from a different registry value if the registry values shown above are not set
Path Name

Default Value

Units or Values

Description

Desktop/
Ansoft subdirectory of user's HOME Directory pathname Directory where
ProjectDirectory directory or "My Documents" directory
new projects are
created
Desktop/
PersonalLib

PersonalLib subdirectory of user's


HOME directory or "My Documents"
directory

Directory pathname

Directory
PersonalLib is
appended if final
directory is not
PersonalLib

Desktop/syslib

syslib subdirectory of installation


directory

Directory pathname

Directory syslib
is appended if
final directory is
not syslib

Desktop/userlib

userlib subdirectory of installation


directory

Directory pathname

Directory
userlib is
appended if final
directory is not
userlib

Related Topics
For -batchoptions Use: TempDirectory
For -batchoptions Use: Various Desktop Settings
Running Simplorer from a Command Line
1-56

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For -batchoptions Use: TempDirectory.


Path Name
TempDirectory

Default Value
Set by installer

Units or Values
-

Description
Directory for temporary files

Related Topics
For -batchoptions Use: Project Directory and Lib Paths
For -batchoptions Use: Various Desktop Settings
Running Simplorer from a Command Line

For -batchoptions Use: Various Desktop Settings


Note that the most of these only affect the GUI.
Path Name
Desktop/Settings/
ProjectOptions/
AnimationMemory

Default Value
200

Units or Values

Description

Megabytes (MB)

Stop animations when


available memory falls
below this value

Desktop/Settings/
""
ProjectOptions/
(empty string)
AnsoftCOMPreferredIPAddress

IP Address (as a
string)

IP Address used to
connect from COM
Engine to Desktop

Desktop/Settings/
ProjectOptions/
AutoSaveInterval

10

edits

Number of edits to allow


between autosaves

Desktop/Settings/
ProjectOptions/
AutoShowMessageWindow

1 (true)

0 (false) or 1 (true) Show message window


on new messages

Desktop/Settings/
ProjectOptions/
AutoShowProgressWindow

0 (false)

0 (false) or 1 (true) Show progress window


when starting a
simulation

Desktop/Settings/
ProjectOptions/
DiskLimitForAbort

Megabytes (MB)

Desktop/Settings/
ProjectOptions/DoAutoSave

1 (true)

0 (false) or 1 (true) Enables autosaves if true

Desktop/Settings/
ProjectOptions/
DrawStateIconsInProjectTree3

1 (true)

0 (false) or 1 (true) Change icon when


selection does not match
active window

A warning is issued when


available disk space falls
below this value

1 -57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Path Name
Desktop/Settings/
ProjectOptions/
ExpandMessageTreeOnInsert

Default Value
1 (true)

Units or Values

Description

0 (false) or 1 (true) Ensure that new


messages are visible in
the message window tree

Desktop/Settings/
0 (false)
ProjectOptions/ExpandOnInsert

0 (false) or 1 (true) Expand project tree on


insert

Desktop/Settings/
1 (true)
ProjectOptions/HighlightActive
ContextInProjectTree2

0 (false) or 1 (true) Emphasize active


command context (menu
and toolbars)

Desktop/Settings/
ProjectOptions/
SavePreviewImagesInProject
File

1 (true)

0 (false) or 1 (true) Save preview images in


project file

Desktop/Settings/
ProjectOptions/
UpdateReportOnFileOpen

0 (false)

0 (false) or 1 (true) Update reports on file


open

Related Topics
For -batchoptions Use: Project Directory and Lib Paths
For -batchoptions Use: TempDirectory
Running Simplorer from a Command Line

1-58

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Getting Started Guide


Open the Simplorer Getting Started Guide PDF:.
Alternatively, open the Getting Started Guide.
This Getting Started Guide is written for Simplorer beginners as well as experienced users who are
using Simplorer version 8 for the first time. This guide leads you step-by-step through creating,
solving, and analyzing the results of a Three-Phase Rectifier. The guide also leads you through the
process of importing a legacy Simplorer 7 version of the Three-Phase Rectifier schematic, then
solving and analyzing it. Variations of the Three-Phase Rectifier are then presented to demonstrate
additional capabilities of Simplorer.
By following the steps in this guide, you will learn how to perform the following tasks in Simplorer:

Basic Simplorer functions


Finding and choosing Simplorer components from a library
Placing and arranging components
Connecting components on the schematic sheet
Modeling with electric circuit components
Modeling time-controlled sources
Modeling with state graph components
Modeling with block components
Modeling with VHDL-AMS components
Using display elements for displaying simulation results

1 -59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Copyright and Trademark Notices


The information contained in the Simplorer online help is subject to change without notice.
ANSYS, Inc. makes no warranty of any kind with regard to this material, including, but not limited
to, the implied warranties of merchantability and fitness for a particular purpose. ANSYS, Inc. shall
not be liable for errors contained herein or for incidental or consequential damages in connection
with the furnishing, performance, or use of this material.
This document contains proprietary information which is protected by copyright. All rights are
reserved.
ANSYS, Inc.
275 Technology Drive
Canonsburg, PA 15317
Tel: (+1) 724-514-9494
Fax: (+1) 724-514-9494
Ansoft, Simplorer, Maxwell, Maxwell 3D, RMxprt, HFSS, Full-Wave Spice, ePhysics, Q3D
Extractor, Ansoft Designer, Nexxim, and Optimetrics are registered trademarks or trademarks of
SAS IP, Inc. All other trademarks are the property of their respective owners.
2012 SAS IP, Inc. All rights reserved.

1-60

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Ansoft Standard License Agreement


PROPRIETARY SOFTWARE LICENSE AGREEMENT: IMPORTANT: READ CAREFULLY
By installing, copying or using the Ansoft software products contained herein, you indicate your acceptance of
and agree to be bound by the terms and conditions of this Proprietary Software License Agreement. These
terms and conditions are a legal agreement between the Licensee (you) and Ansoft LLC (Ansoft).
IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, DO NOT INSTALL, COPY OR USE
THE SOFTWARE.
1. LICENSE. Subject to the provisions contained herein, Ansoft (Licensor) grants to the Licensee a nonexclusive, nontransferable license to use the Licensed Products contained herein. Licensee is authorized to use the
Licensed Products only for Licensees own use and only on properly designated CPUs located at properly designated Sites. The Licensed Products may be used concurrently by no more than the number of permitted concurrent users specified and at no Site other than the initial 10-mile radius surrounding the initially designated
CPU ("designated Site"). Permitted users must be located at designated Site.
ONLY ONE (1) VERSION OF LICENSED PRODUCTS MAY BE USED AT A TIME. NEW RELEASES
OF THE LICENSED PRODUCTS PROVIDED UNDER MAINTENANCE CAN BE USED ONLY AS A
REPLACEMENT FOR EXISTING LICENSED PRODUCTS.
2. TERM. This Agreement shall be effective upon the execution of this Agreement by the parties. This Agreement shall remain in force until terminated. The Licensee may terminate this Agreement at any time by returning all copies of the Licensed Products and documentation to Licensor. Termination of this Agreement by
Licensee shall not relieve Licensee of any obligations under this Agreement. Licensor may terminate this
Agreement at any time if Licensee Breaches any of the terms and conditions of this Agreement. If this Agreement is terminated for any reason, Licensee agrees to certify in writing, that full and partial copies of the
Licensed Products and documentation have been returned to Licensor.
3. PROTECTION AND SECURITY. Notwithstanding any copyright notices, the Licensed Products contain
trade secrets and confidential information of Licensor and its suppliers. The Licensed Products and the related
documentation may not be copied in whole or in part for any purpose except that one (1) copy may be made of
the Licensed Products for archival purposes. Except as provided herein, the Licensee agrees not to duplicate or
disclose or otherwise make the Licensed Products or documentation available to any third party without Licensors prior written consent. The Licensee agrees not to reverse compile, reverse engineer or disassemble the
Licensed Products.
4. MAINTENANCE AND SUPPORT. Licensor agrees to provide (3) three months of Maintenance and Support for the Licensed Products without charge. This three-month term commences on
the day the Licensed Product(s) are shipped from Licensor. For the purposes of this Agreement, maintenance
shall consist of Licensor providing Licensee with such new releases of the Licensed Products as Licensor
makes generally available to other licensees without additional charge. Licensor shall not be required to provide Licensee with new releases of the Licensed Products which provide new functionality and are distributed
to Licensees only if an additional fee is paid. For the purposes of this Agreement Support shall consist of
Licensor providing answers to a reasonable amount of telephone and facsimile questions from the Licensee
Representative at any time upon notification to Licensor. The term reasonable amount is determined exclusively by Licensors application engineers and management. Under no circumstances does Licensor provide
consulting services. Discussions with application engineers are not intended nor should be interpreted as such.
In no event will Licensor be liable for misinterpretation of Support discussions. To continue Maintenance and
Support Services beyond the initial term, Licensee must pay a Maintenance and Support Fee. Licensor may
discontinue the availability of Maintenance and Support for any Licensed Product at any time in its sole discretion. Licensees failure to properly install the Licensed Products on the Designated CPU, Licensees modifi1 -61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

cation or attempted modification of the Licensed Products, Licensees preparation of a derivative work of the
Licensed Products, or Licensees implementation of corrections, improvements, or revisions to the Licensed
Products, without the written consent of Licensor, shall void any Maintenance and Support obligations of
Licensor under this Agreement.
5. LIMITED WARRANTY. Licensor warrants that each Licensed Product will conform substantially with the
published documentation for such Licensed Product for (1) one year from the date of Licensees receipt of the
Licensed Product. Licensor does not warrant that the Licensed Products will be free of all errors or operate
without interruption. THE FOREGOING WARRANTY IS IN LIEU OF ALL OTHER WARRANTIES
EXPRESSED, IMPLIED OR STATUTORY, AND LICENSOR SPECIFICALLY DISCLAIMS ALL OTHER
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Implied warranties that cannot lawfully be excluded are limited to the duration of the express warranty stated above.
6. EXCLUSIVE REMEDY. The entire liability of Licensor and its suppliers and the Licensees sole and exclusive remedy is limited to repair or replacement of any Licensed Product not meeting Licensors limited warranty or the refund of the purchase price of such Licensed Product at Licensors option, provided the Licensed
Product is returned to Licensor headquarters with proof of purchase within the one (1) year warranty period.
7. LIMITATION OF LIABILITY. LICENSOR WILL NOT BE LIABLE FOR ANY LOST PROFITS, INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES WHATSOEVER, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. LICENSORS ENTIRE
LIABILITY UNDER OR RELATED TO THIS AGREEMENT IS LIMITED TO THE REMEDIES SPECIFIED BY THIS AGREEMENT. LICENSORS LIABILITY FOR DAMAGES, REGARDLESS OF THE
FORM OF THE ACTION, SHALL NOT EXCEED THE FEES PAID FOR THE APPLICABLE SERVICES
OR FOR THE LICENSE OF THE LICENSED PRODUCT THAT GAVE RISE TO THE CLAIM.
8. FEES. Excluding evaluation licenses, licensee agrees to pay the License Fees for the Licensed Products
specified on the accompanying invoice. The License Fees do not include taxes, shipping, or handling charges,
all of which shall be paid by Licensee, except for taxes based on Licensors net income. The Shipping Fee
listed on the accompanying invoice covers all shipping costs for shipment of the licensed Products. The
method and carrier for shipment shall be selected by Licensor. All fees and charges under this Agreement shall
be due and payable within thirty (30) days after the date of the invoice. Any and all payments made under the
provisions of the agreement shall be payable in the currency as listed on the accompanying invoice. Licensor
reserves the right to request such payments be made by wire transfer according to instructions for such transfer
as specified by Licensor from time to time. 9. INFRINGEMENT. If promptly notified in writing by Licensee
of such action, Licensor agrees to defend or settle at its option, and hold Licensee harmless from, any action at
law or in equity finally adjudicated against Licensee arising from a claim that Licensees use of the Licensed
Products or documentation under this Agreement infringes any United States patent, copyright, or proprietary
right; provided that Licensee shall give Licensor the right to control and direct the investigation, preparation,
defense, and settlement of each such claim and Licensee shall fully cooperate with Licensor or its designee in
connection with the foregoing; further provided, Licensor may, immediately upon notice of such an infringement claim, replace all or part of the Licensed Products to make it non infringing or Licensor may obtain the
right for Licensee to use the allegedly infringing Licensed Products.

10. EXPORT PROVISION. Licensee acknowledges that the export of the Licensed Products are
subject to Licensor receiving the necessary licenses or approvals for export from the United States,
and Licensor shall not be liable for any delays including but not limited to required export authorizations which are beyond the reasonable control of Licensor. Licensee agrees that regardless of any
disclosure made by Licensee to Licensor of an ultimate destination of the Licensed Products,
Licensee will not re-export directly or indirectly any Licensed Products, without first obtaining a
1-62

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

license from the United States Government, as required. Licensee shall provide Ansoft with any
information, certifications or other documents which Licensor may require in connection with the
export of the Licensed Products, or any portions or parts thereof, pursuant to the Export Administration Act of 1979, as amended, and the rules and regulations promulgated thereunder. Without
limitation of the foregoing, Licensee agrees to not knowingly export or re-export any software,
documentation or technical data furnished to Licensee under this Agreement, without first obtaining permission to do so from the United States Department of Commerce or other appropriate governmental agencies into any of those countries listed from time to time in part 740 to Title 15 of the
Code of Federal Regulation and related supplements in designated prohibited Country Groups.
Licensee agrees to obtain any and all necessary government approvals in its country relating to performance of this Agreement; assist in clearing the Licensed Products through customs; and pay any
and all tariffs, taxes, import duties or excises imposed on the Licensed Products in connection with
its use hereunder.
11. SUCCESSORS AND ASSIGNS. The Agreement shall be binding on and inure to the benefit of
the parties, permitted assigns and legal representatives. This Agreement may not be transferred or
assigned (by operation of law or otherwise), in whole or in part, by Licensee without the prior written consent of the Licensor. A spin-off, sale of assets, merger, acquisition or other transaction
which involves a change of control of Licensee, or any part of Licensee, shall be deemed to be an
assignment hereunder.
12. TITLE. This Agreement grants Licensee no title or rights of or to ownership in the Licensed
Products or documentation or any corrections, improvements or revisions furnished under the
Maintenance and Support provisions hereof. THIS AGREEMENT DOES NOT INCLUDE THE
RIGHT TO SUBLICENSE.
13. FORCE MAJEURE. Neither party nor its representatives shall be liable for delays or failures in
performances resulting from acts beyond the reasonable control of such person and time for performance will be extended by a period equal to such delay. Such acts shall include, without limitation,
acts of God, strikes, lockouts, riots, acts of war, epidemics, governmental regulations imposed after
the fact, fire, power failures, earthquakes, or other disasters.
14. OFFICIAL LANGUAGE. The Parties agree that the official language of this Agreement is
English. Documents or notices not written in English shall have no effect under this Agreement.
15. RELIEF. Licensee acknowledges that any violation of this Agreement by Licensee will cause
irreparable injury to Licensor, and Licensor shall be entitled to injunctive relief.
16. GENERAL. This Agreement merges all prior written and oral communications and defines the
entire Agreement of the parties concerning the Licensed Products. All notices required under this
Agreement or pertaining to modifications to this Agreement shall be in writing, including facsimile
copies, however, excluding all variations of Electronic Mail, and shall be considered given upon
personal delivery of the written notice or within five (5) days of mailing, postage prepaid and
appropriately addressed. This Agreement shall be construed in accordance with laws of the United
States, of the Commonwealth of Pennsylvania without regard to its conflicts of laws provisions.
The failure by either party at any time to enforce its rights under this Agreement will not be construed as a waiver of such rights, nor will it in any way affect the validity of this Agreement. No
waiver by either party will be valid unless given in an appropriate writing signed by both parties.
1 -63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Third-Party License Agreements


License terms and conditions for third-party software installed with the Simplorer software are as
follows:
Tcl/Tk Software License
This software is copyrighted by the Regents of the University of California, Sun Microsystems,
Inc., Scriptics Corporation, and other parties. The following terms apply to all files associated with
the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, modify, distribute, and license this software and
its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or
royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the
new terms are clearly indicated on the first page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
SOFTWARE IS PROVIDED ON AN AS IS BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
ENHANCEMENTS, OR MODIFICATIONS.

SPARSE Software License


Copyright (c) 1985,86,87,88
by Kenneth S. Kundert and the University of California.
Permission to use, copy, modify, and distribute this software and its documentation for any purpose
and without fee is hereby granted, provided that the copyright notices appear in all copies and supporting documentation and that the authors and the University of California are properly credited.
The authors and the University of California make no representations as to the suitability of this
software for any purpose. It is provided `as is', without express or implied warranty.
Secure Hash Algorithm (SHA)
Copyright (c) 2000-2001, Aaron D. Gifford All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1-64

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of contributors may be used to endorse
or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

BSIM3 and BSIM4 Models


BSIM3 and BSIM4 are developed by the Device Research Group of the Department of Electrical
Engineering and Computer Science, University of California, Berkeley and copyrighted by the
University of California.
BSD Copyright for Spice models
Copyright (c) 1985-1991 The Regents of the University of California.
All rights reserved.
Permission is hereby granted, without written agreement and without license or royalty fees, to use,
copy, modify, and distribute this software and its documentation for any purpose, provided that the
above copyright notice and the following two paragraphs appear in all copies of this software.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO
1 -65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,


OR MODIFICATIONS.
3Dconnexion
Development tools and related technology provided under license from 3Dconnexion. 1992 2009 3Dconnexion. All rights reserved.
Apache Software
Apache FOP
Copyright 1999-2010 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
This software consists of voluntary contributions made by many individuals on behalf of The
Apache Software Foundation and was originally created by James Tauber <jtauber@jtauber.com>.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
1-66

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

direction or management of such entity, whether by contract or


otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
1 -67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

means any form of electronic, verbal, or written communication sent


to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

1-68

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4. Redistribution. You may reproduce and distribute copies of the


Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
1 -69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

may provide additional or different license terms and conditions


for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
1-70

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

result of this License or out of the use or inability to use the


Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
1 -71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

1-72

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

2
Getting Help

ANSYS Technical Support


To contact ANSYS technical support staff in your geographical area, please log on to the ANSYS
corporate website, http://www1.ansys.com. You can also contact your ANSYS sales engineer in
order to obtain this information.
E-mail can work well for technical support. All ANSYS Electromagnetics software files are ASCII
text and can be sent conveniently by e-mail. When reporting difficulties, it is very helpful to
include detailed, specific information about what steps were taken or what stages the simulation
reached. This allows more rapid and effective debugging.
Please provide the following information when you contact us:

Your name and affiliation


Serial number, version number, and the name of ANSYS Electromagnetics software
The type of hardware and operating system you are using.
A description of what happened and what you were doing when the problem occurred.
The exact wording of any messages that appeared on the screen.

Getting Help2-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Help Menu Commands


To access online help from the menu bar, do the following:

Click Help>Contents
Click Help>Index
Click Help>Search

You can also access help for the scripting commands via the menu bar:

Click Help>Scripting Contents


Click Help>Scripting Index
Click Help>Search Scripting

Context-Sensitive Help
To access online help from the Simplorer user interface, do one of the following:

To open a help topic about a Simplorer menu command, press Shift+F1 or click
then click the command or toolbar icon.

and

To open a help topic about a Simplorer context menu command, point to the command so that
it is highlighted for selection (do not click the command), and then press F1. (Context menus
display when you right-click on an element or object.)
To open a help topic about a Simplorer dialog box, open the dialog box, and then press F1.

PDF of Online Help


To view this online help as a PDF: :.

Getting Help2-2

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Conventions Used in the Online Help

Conventions Used in the Online Help


The following documentation conventions are used in the Simplorer online help.

Procedures are presented as numbered lists. A single bullet indicates that the procedure has
only one step.
Bold type is used for the following:
- Keyboard entries that should be typed in their entirety exactly as shown. For example,
copy file1 means to type the word copy, to type a space, and then to type file1.
- On-screen prompts and messages, names of options and text boxes, and menu commands. Menu commands are often separated by carats. For example, click
Simplorer Circuit>Analyze.
- Labeled keys on the computer keyboard. For example, Press Enter means to press the
key labeled Enter.

Italic type is used for the following:


- Emphasis.
- The titles of publications.
- Keyboard entries when a name or a variable must be typed in place of the words in italics. For example, copy file name means to type the word copy, to type a space, and then
to type a file name.

The plus sign (+) is used between keyboard keys to indicate that you should press the keys at
the same time. For example, Press Shift+F1 means to press the Shift key and the F1 key at
the same time.
Toolbar buttons serve as shortcuts for executing commands available in Simplorers menus.
Toolbar button icons are displayed in text after the command they execute.
For example:
On the Draw menu, click Primitive>Line
means that you can click the Draw
Line toolbar button to execute the Line command.

Getting Help2-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Searching in Help

Searching in Help
The online help system provides four ways to search for information and navigate quickly:

A hierarchical table of contents - To browse through the table of contents, click the Contents
tab. The table of contents is an expandable list of important topics. You can expand or collapse
the list by clicking the + or - symbols, and then jump to detailed information for a topic by
clicking the topic title.
A searchable index - To see a list of index entries, click the Index tab, and then type a word or
scroll through the list. Topics are often indexed under more than one entry. You can jump to
topic locations by double-clicking the entries.
A full text search - To locate every occurrence of a word or phrase that may be contained in a
help file, click the Search tab, type the word, then hit the Enter key or click the List Topics
button.
To produce the best hierarchical search results, be sure to enclose phrases in quotation
marks. When the search is complete, double-click one of the found topics to display its text.
Items are listed according to rank. To turn on/off the highlighting of found words or phrases,
click Options > Search Highlight On/Off.

A favorites list - If you use a particular help topic often, you can add it to your favorites list. To
create a list of favorite help topics:
1.

Locate the help topic you want to make a favorite topic.

2.

Click the Favorites tab, and then click Add.

To return to a favorite topic:


1.

Click the Favorites tab.

2.

Select the desired topic, and then click Display.

If you want to rename a topic:


1.

Right-click the topic and select Rename from the pop-up menu.

2.

Type a new name in the editable topic box and then press the Enter key.

To remove a favorite topic, select the topic and then click Remove.

Getting Help2-4

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Using WebUpdate

Using WebUpdate
Automatic updates for Simplorer are available over the Web. To enable Web updates, check the
Web Updates box when you install Simplorer.
To control the timing of automatic Web updates, use the Web Update Options tab on the General
Options dialog box. See Web Update Options Tab for details.
To perform a manual update:
1.

Select Help>Launch WebUpdate.


This displays the WebUpdate dialog, which lists the applications available for update.

2.

Select the application of interest and click Next.


This displays the application, whether it is up to date, and whether an update is available

3.

If an update is available, enable the application checkbox to select it.


a.

You can choose to enable the checkboxes to install the update automatically and to save
the update to disk.
If you choose to update, the Next button is enabled.

4.

b.

Click Next to continue the update.

c.

The WebUpdate dialog shows the progress of the update.

Click Close when done

Getting Help2-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Emailing a Help Page Title

Emailing a Help Page Title


To email a help page title from the online help chm:
1.

Go to a help page of interest in the online help.

2.

Click the ANSYS icon on the lower left corner of the help page.

The help launches an email similar to the following:

3.

Supply an email address and send the email.

4.

Upon receiving the email, the recipient follows the directions by opening the online help, and
selecting the Search pane.

5.

Select Search titles only.

6.

The recipient copies the section title from the email and pastes it into the search field.

7.

The recipient clicks the List Topics button.


This displays the topic. The recipient can click the topic to go directly to the help page.

Getting Help2-6

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

3
Working with Simplorer Projects

A Simplorer project is a folder that includes one or more Simplorer designs and their associated settings, including report definitions, in a file with an .asmp extension. To the fullest extent possible,
Simplorer projects are portable in that they include, rather than merely reference, the library elements such as graphical symbols, components, scripts, and models they contain. Each design ultimately includes report and post-processing information.
A new project called Projectn is automatically created when the software is launched. A design
named Simplorern is automatically created for a new project. You can also open a new project by
clicking File>New.
Note

In general, use the File menu commands to manage projects. If you move or change the
names of files without using these commands, the software may not be able to find
information necessary to solve the model.

Related Topics
Setting Options
Simplorer Files
Setting up a Simplorer Design
Creating Projects
Opening Existing Projects
Translating Legacy Simplorer Projects and Schematics
Closing Projects
Saving Projects
Archiving Projects
Restoring Archives
Working with Simplorer Projects 3-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Renaming Projects
Deleting Projects
Removing Unused Definitions
Datasets
Undoing Commands
Redoing Commands
Inserting a Documentation File
Importing Simulation Models
Printing
Saving Project Notes
Event Callbacks
Analyzing Designs

3-2 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Options in Simplorer


You can set the following options from the Simplorer Desktop:

General Options, such as project options, units settings, and analysis options.
Simplorer Options, such as Spice compiler and simulation options.
Report Setup Options, such as the maximum number of significant digits displayed, drag and
drop behavior, and whether or not to use advanced mode when editing and viewing traces.
Schematic Editor Options, such as symbol graphics, connectivity, and object placement.
Report2D Options, such as fonts, labels, line styles, and colors.
Netlist Editor Options, such as bookmark color and fonts.

Additionally, the Tools>Options>Export Options Files command writes xml files containing the
Options settings at all levels to the specified directory. This feature makes it easier for different
users to use ANSYS Electromagnetics tools installed on shared directories or network drives. The
Example Uses for Export Options Features section outlines some use cases enabled by this feature.
Related Topics
Setting Options via Configuration Files
Example Uses for Export Options Features
User Options and the Update Registry Tool
Batchoptions Command Line Examples

Setting General Options


To set general options in Simplorer:
1.

Click Tools>Options>General Options.


The General Options window appears, displaying the following tabs:

Project Options
Default Units
Analysis Options
WebUpdate Options
Component Chooser Options
Miscellaneous Options

2.

Click the desired tab(s), and set options as needed.

3.

Click OK.

General Options: Project Options Tab


These options are set on the Project Options tab of the General Options dialog box.
1.

To auto-save a project, do the following in the Autosave section:


a.

Select the Do Autosave check box.


Working with Simplorer Projects3-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

b.

Set the number of editing actions after which a backup file is automatically saved to your
hard drive in the Autosave interval text box. The default is 10. The backup file is given
the same name as your project and has an asmp.auto file extension.

2.

The Project directory is where your Simplorer projects and personal libraries (PersonalLib)
are stored, and where Simplorer first looks to open files. Enter a directory path in the Project
directory text box, or click the [...] button to find and select the desired directory.

3.

The Temp directory is used by Simplorer for temporary storage of files during various operations. Enter a directory path in the Temp directory text box, or click the [...] button to find and
select the desired directory.

4.

The SysLib, UserLib, and PersonalLib directories are where Simplorer system (syslib) and
user (userlib) and personal (PersonalLib) libraries, respectively, are stored. Enter a directory
path in the appropriate directory text box, or click the [...] button to find and select the desired
directory.

5.

To reset the SysLib, UserLib, and PersonalLib directories to their default directories, click
Reset Library Directories. By default, the SysLib and UserLib directories are located in the
directory where Simplorer is installed. The PersonalLib default directory is located in the
... \Documents and Settings\username\My Documents\AnsysEM\PersonalLib directory.

6.

Select the Expand Project Tree on Insert check box if you want Simplorer to expand the
Project Tree automatically when you insert a new design.

7.

In the When creating a new project field, select a radio button to specify one of the following:

8.

Insert a design of type: Simplorer


Dont insert a design

You can also have Simplorer Warn when available disk space is less than the specified number of megabytes.

General Options: Default Units Tab


The Default Units tab of the General Options dialog box allows you to set the default unit values
for the following metrics: Length, Frequency, Resistance, Angle, Power, Inductance, Time,
Voltage, Capacitance, Temperature, Current, Force, Torque, Speed, Angular Speed,
Magnetic Induction, Weight, Magnetic Field Strength, Pressure, and Conductance.
Note

For more information about unit values used in Simplorer and other ANSYS
Electromagnetics products, see Unit Types.

These default unit values are applied to any quantity not explicitly assigned a unit specification
when entered into a Simplorer editor.
1.

Select the desired units using the pull-down lists below the corresponding metrics.

2.

When all information on the Default Units tab is as desired, select another tab or click OK to
put your options into effect.

3-4 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

General Options: Analysis Options Tab


You can specify the machine on which you want a simulation to run, as well as various other design
analysis options. These options are set on the Analysis Options tab of the General Options dialog
box. All but the Queue all simulations checkbox are grouped as Design Analysis Options for
Design Type.
1.

The type of design is Simplorer.

2.

If you would like to select the machine to which to send the analysis immediately before analyzing, select Prompt for analysis machine when launching analysis.

Note

3.

If the Queue all simulations option is selected, this setting is ignored, and the default
analysis machine is used.

Under Analysis Machine Options, select whether the default analysis machine should be the
local machine (Local), a remote machine (Remote), or whether analysis should be distributed
across multiple machines (Distributed).

Note

When a Local machine (the default) is chosen to run simulations, Simplorer uses a local
directory for files going to and from the simulator. This allows the writing of large SDB
files, and updating of plots during simulation, to occur much faster than when Remote or
Distributed analysis machines are employed. If the Remote or Distributed radio
buttons are selected, then the simulator uses a tmp directory - which may be on another
machine - for file transfers.

a.

If you select Local (the default), the same machine on which Simplorer is running is used
for running analyses.

b.

If you select Remote, enter the default analysis machine information either as an IP
address, a DNS name, or a UNC name. See Remote Analysis.

c.

If you select Distributed, you can add machines to a list, or edit an existing machine list.
Select the Edit button to display the Distributed Analysis Machines dialogue. Here you
specify an IP address, a DNS name, or a UNC name for each machine to add to the list.
Control buttons let you Add Machine to List to or Remove machines from the list.
Selecting Distributed always checks out the ansoft_distrib license, regardless of whether
there is anything distributable or not.
In general, Simplorer uses machines in the distributed analysis machines list in the order
in which they appear. If Distributed is selected and you launch multiple analyses from the
same UI, Simplorer selects the machines that are running the fewest number of engines in
the order in which the machines appear in the list. For example, if the list contains 4
machines, and you launch a simulation that requires one machine, Simplorer chooses the
first machine in the list. If another simulation is launched while the previous one is running, and this simulation requires two machines, Simplorer chooses machines 2 and 3
from the list. If the first simulation then terminates and we launch another simulation
requiring three machines, Simplorer chooses 1, 4, and 2 (in that order).
Working with Simplorer Projects3-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The displayed list always shows the order in which you entered them irrespective of the
load on the machines. To control the list order, select one or more machines, and use the
Move up or Move down buttons. Click OK to accept the changes and close the Distributed Analysis Machines dialog.
Regardless of the machine(s) on which the analysis is actually run, the number of processors and Desired RAM Limit settings, and the default process priority settings are now
read from the machine from which you launch the analysis.
You can also control these selections via toolbar icons for:

4.

Remote

,
, and

Distributed

To launch all analyses as a specific user, rather than the current user, do the following in the
Remote Analysis Options section.

5.

Local

For the Send analysis request as option, select Specified User.


Enter the user name, password, and domain information in the corresponding text boxes.

Select or clear the Queue all simulations check box. This allows subsequent projects to wait
in a queue till the currently running project solves completely.

Related Topics
General Information on DSO Configurations

General Options: WebUpdate Options Tab


These options are set on the WebUpdate Options tab of the General Options dialog box.

Note

Select the desired update frequency from the Automatically check for updates every
pull-down list. The choices are Never, 7 days, 15 days, 30 days, 60 days, 120 days, and
180 days. By default, automatic Web updates are turned off.
You will be prompted before an update. The date of the prompt is recorded as the Last
update attempt date.
The Last update date shows the last time Simplorer was updated.
You can also request a Web Update by selecting Launch WebUpdate from the Help
pull-down menu on the Simplorer menu bar. See Using Web Update.

General Options: Component Chooser Options Tab


These options are set in the Component Chooser Options tab of the General Options dialog.
The Component Tree Options panel contains the following controls:

Show Favorites specifies that a list of favorites, in the form of an expandable tree, is displayed in the Project Managers Components tab window.
Show Most Recently Used specifies that a list of the components you have most-recently
used is displayed in the project window.

3-6 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Most Recently Used list contains specifies the number of recently-used components to
display.
Show All Components specifies that all components from all configured libraries are to
be displayed, regardless of product specificity.

The Search Options panel contains the following controls:

Set specifies the type of data to search in.


All components searches through the entire list of available components.
Current list only searches through only the components that are currently part of the
design.
Append to current list searches through the entire list of available components, and adds
any components found to the list of Project Components in the Components tab of the
Project Manager window.

Search Field specifies the field to search.

When all information on the Component Chooser Options tab is as desired, select another tab or
click OK to put your options into effect.

General Options: Miscellaneous Options


These options are set in the Miscellaneous Options tab of the General Options dialog.
General

Show Message Window on new messages specifies that the message window is automatically reopened if a message arrives after the message window has been closed.
Ensure that new messages are visible in the Message Window Tree specifies that the
size of the message window is expanded as needed when messages are displayed.
Show Progress Window when starting a simulation specifies that the progress window is reopened if a message arrives after the progress window has been closed.
Update reports on file open specifies that reports be automatically updated whenever a
new or existing file is opened for viewing/editing. Enabled by default.

Project Tree Visualization Options

Selecting the Emphasize active command context check box causes the label of the
selected Project Tree element that is active (i.e., has focus) to be rendered in bold text.
Selecting the Change icon when selection does not match active window check box
causes a small window-shaped overlay icon to display in the corner of the selected Project
Tree element. This overlay icon is changed only when the data in the active window is
unrelated to the selected project item. (Data is considered related when they affect the
same model.) Clicking the icon will open the window and bring it into focus (on top).

Report Update Options for Design Type

Dynamically update reports during edits controls the version of solution data to be

Working with Simplorer Projects3-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

reported for the specified Design Type.


Note

Simplorer solution data is versioned. If, for example, you have Simplorer analyze and
produce solution data for a particular state of a design then edit the design and resimulate solution data is now available for both states of the design.

To illustrate the effect of the Dynamically update reports during edits option, consider the
following scenario:

Simulate a design and create a report.


The report displays the current solution data (State 1).

Make changes to the design.


The report you created is marked Invalid (a large X appears in the upper right corner
of the report window and on the report icon in the Results section of the Project tree).

Re-run the simulation.


The report is updated with new solution data (State 2), and the report is marked as valid
(the X disappears).

If you click Undo:


Simplorer still has the old solution data (State 1). If Dynamically update reports during edits is off (unchecked), the State 2 report data becomes invalid again. If Dynamically
update reports during edits is on (checked), Simplorer reloads the now valid State 1
solution data into the report and marks it valid.

If you then click Redo:


The result again depends on the setting of the Dynamically update reports during edits
option. If the option is unchecked, the report becomes valid again (the State 1 data was not
reloaded by the Undo operation, so the report is still displaying State 2). If the option is
checked, the State 2 data is reloaded dynamically and report is also valid.

Animation
Computing animated plots requires significant memory which depends upon the complexity of the
plot type. The animation setting is used to prevent problems related to low memory should an animation require large memory allocation.
The entry field allows you to specify the amount of memory (in Megabytes) to preserve when computing animation frames. Animation frame computation stops when the memory limit is reached.
ANSYS Workbench Application
The ANSYS Workbench Application Path lets you specify a path to an ANSYS installation, if you
have one. This path can be used by the Optimetrics feature for connecting to the Design Xplorer.

3-8 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

MATLAB Optimization
If you have an installation of MATLAB installed you can use it as an Optimizer. This MATLAB
path setting must to point to the version of MATLAB to be used for performing the optimization. .
Note

The platform (32/64 bit of the specified version of MATLAB must match the platform of
this application)

Show welcome message at startup.


Check this to display a welcome message when Simplorer starts.

Setting Simplorer Options


To set Simplorer options for new designs:
1.

Click Tools>Options>Simplorer Options.


The Simplorer Options dialog box appears containing four tabs:

General Options
Spice Compiler Options
Import/Update Models
Port Options

2.

Make changes to the desired options.

3.

When finished, click OK to accept the changes and close the dialog box.

Simplorer Option: General Options Tab


The Configured library not found response panel options determine how Simplorer
responds when one or more configured libraries are not present on disk when a project is
opened.

Remove from design (the default) removes nonexistent libraries from the list of configured libraries and generates a message stating which libraries were removed.
Send message leaves the nonexistent libraries in the list of configured libraries and generates an informational message giving detailed information on the nonexistent libraries.
Prompt opens a dialog box that lists the nonexistent libraries and asks the user whether
or not to remove them from the design. As message is generated confirming the results of
your choice.
Update reports during simulation enables dynamic update of XY plots containing
simply defined traces.
Synchronize all libraries after export allows all libraries to be synchronized automatically after model export. This setting is enabled (checked) by default.
Load component libraries on setup causes all component libraries to be loaded when
Simplorer is launched. Otherwise, libraries are loaded the first time the Components tab
in the Project Manager window is selected.
Working with Simplorer Projects3-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Options in the From CModel Editor, copy DLL to: panel allows the user to choose the location into which CModel DLL files are copied when C models are imported into a project.
Choose either Personal Library\Bin or User Library|Bin.
Note

The locations of the Personal Library (PersonalLib) and User Library


(userlib)directories are determined by the Project Directory and Library
Directory settings in the Project Options tab of General Options.

Related Topics
Configuring Libraries
Setting Simplorer Options
Spice Compiler Options

Simplorer Options: Spice Compiler Options Tab

Default SPICE Type sets the default Spice compiler type either to Berkeley Spice or
PSPICE.
Import Spice Text as determines whether Spice text will be imported as SPICE or
SML.
Create Testbench from Main Circuit when enabled, the compiler creates a Spice Testbench from the main circuit.

Related Topics
Setting Simplorer Options
General Options

Simplorer Options: Import/Update Models Options Tab


Simplorer Options: Port Options Tab
The Port Options tab allows the user to set up the lists of source and impedance components that
can be used for interface ports. The Domain selected by the user determines whether or not the
Sources and Impedances controls are enabled. For Conservative, both Sources and Impedances
controls are enabled. For Quantity and Parametric domain, only the Sources controls are enabled.

3-10 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To add a component, the user clicks on the add button


and selects a component from a library in
the component library Select Definition dialog. After selecting a component in the list, select the
Pin to be connected to the port net from the drop-down list. The Show Symbol button allows the
symbol, including its pin names, to be seen and resized to make the pin choice easier. To remove a
component from the list, select it and then click the remove button
. You can also remove multiple components from the list simultaneously either by Shift-clicking to select a contiguous block of
components, or by Ctrl-clicking to select multiple components individually.
Available port source and impedance components default to the sets listed below:

Conservative Domain Port Source Components


Conservative Domain Port Impedance Components
Quantity Domain Port Source Components

Working with Simplorer Projects3-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Conservative Domain Port Source Components


For conservative ports, the default source components available depend on the port's nature as
listed below.
Electrical Nature default port source components

Simplorer Elements\Basic Elements\Circuit\Sources:E (Voltage Source)


Simplorer Elements\Basic Elements\Circuit\Sources:I (Current Source)
Simplorer Elements\Basic Elements\Circuit\Sources:Fourier
Simplorer Elements\Basic Elements\Circuit\Sources:PSRC
Simplorer Elements\Basic Elements VHDLAMS\Circuit\Sources:e (VHDL Voltage Source)
Simplorer Elements\Basic Elements VHDLAMS\Circuit\Sources:i (VHDL Current Source)

Thermal Nature default port source components

Simplorer Elements\Basic Elements\Physical Domains\Thermal:T (Heat source)


Simplorer Elements\Basic Elements\Physical Domains\Thermal:H (Heat flow source)
Simplorer Elements\Basic Elements\Physical Domains VHDLAMS\Thermal:t
(VHDL Heat source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Thermal:h
(VHDL Heat flow source)

Fluidic Nature default port source components

Simplorer Elements\Basic Elements\Physical Domains\Fluidic:P (Pressure source)


Simplorer Elements\Basic Elements\Physical Domains\Fluidic:Q (Flow source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Fluidic:p
(VHDL Pressure source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Fluidic:q
(VHDL Flow source)

Magnetic Nature default port source components

Simplorer Elements\Basic Elements\Physical Domains\Magnetic:FLUX (Flux source)


Simplorer Elements\Basic Elements\Physical Domains\Magnetic:MMF
(Magnetomotive force source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Magnetic:fluxsrc
(VHDL Flux source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Magnetic:mmfsrc
(VHDL Magnetomotive force source)

3-12 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Mechanical (Displacement-Force representation) Nature default port source components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Rotational:F_ROTB (Torque source)


Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Rotational:S_ROTB (Angle source)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Rotational:V_ROTB (Angular velocity source)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Translational:F_TRB (Force source)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Translational:S_TRB (Position source)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Translational:V_TRB (Velocity source)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Rotational:f_rotb (Torque source)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Rotational:s_rotb (Angle source)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Rotational:v_rotb
(Angular velocity source)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Translational:f_trb (Force source)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Translational:s_trb
(Position source)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Translational:v_trb
(Velocity source)

Mechanical (Velocity-Force representation) Nature default port source components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Rotational_V:F_ROT (Torque source)


Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Rotational_V:V_ROT (Angular velocity source)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Translational_V:F_TR (Force source)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Translational_V:V_TR (Velocity source)

Working with Simplorer Projects3-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Mechanical (Velocity-Force representation) Nature default port source components

Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Rotational V:f_rot (Torque source)


Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Rotational V:v_rot (Angular velocity source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Translational V:f_tr (Force source)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Translational V:v_tr (Velocity source)

Conservative Domain Port Impedance Components


For conservative ports, the default impedance components available depend on the port's nature.
Electrical Nature default port impedance components

Simplorer Elements\Basic Elements\Circuit\Passive Elements:C (Capacitor)


Simplorer Elements\Basic Elements\Circuit\Passive Elements:G (Conductor)
Simplorer Elements\Basic Elements\Circuit\Passive Elements:L (Inductor)
Simplorer Elements\Basic Elements\Circuit\Passive Elements:R (Resistor)
Simplorer Elements\Basic Elements VHDLAMS\Circuit\Passive Elements:c
(VHDL Capacitor)
Simplorer Elements\Basic Elements VHDLAMS\Circuit\Passive Elements:g
(VHDL Conductor)
Simplorer Elements\Basic Elements VHDLAMS\Circuit\Passive Elements:l
(VHDL Inductor)
Simplorer Elements\Basic Elements VHDLAMS\Circuit\Passive Elements:r
(VHDL Resistor)

Thermal Nature default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Thermal:CTH (Thermal capacitance)


Simplorer Elements\Basic Elements\Physical Domains\Thermal:RTH (Thermal resistance)
Simplorer Elements\Basic Elements\Physical Domains VHDLAMS\Thermal:cth
(VHDL Thermal capacitance)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Thermal:rth
(VHDL Thermal resistance)

3-14 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Fluidic Nature default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Fluidic:CHYD


(Hydraulic capacitance)
Simplorer Elements\Basic Elements\Physical Domains\Fluidic:LHYD
(Hydraulic inductance)
Simplorer Elements\Basic Elements\Physical Domains\Fluidic:RHYD (Linear orifice)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Fluidic:chyd
(VHDL Hydraulic capacitance)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Fluidic:lhyd
(VHDL Hydraulic inductance)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Fluidic:rhyd
(VHDL Linear orifice)

Magnetic Nature default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Magnetic:RMAG (Magnetoresistor)


Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Magnetic:rmag
(VHDL Magnetoreluctance)

Mechanical (Displacement-Force representation) Nature


default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Rotational:DAMP_ROTB (Damper)


Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Rotational:MASS_ROTB (Mass)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Rotational:damp_rotb
(VHDL Damper)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Rotational:mass_rotb
(VHDL Mass)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Translational:DAMP_TRB (Damper)

Working with Simplorer Projects3-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Mechanical (Displacement-Force representation) Nature


default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Displacement-ForceRepresentation\Translational:MASS_TRB (Mass)


Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Translational:damp_trb
(VHDL Damper)
Simplorer Elements\Basic Elements VHDLAMS\Physical
Domains\Mechanical\Displacement-Force-Representation\Translational:mass_trb
(VHDL Mass)

Mechanical (Velocity-Force representation) Nature default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Rotational_V:DAMP_ROT (Damper)


Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Rotational_V:MASS_ROT (Mass)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Rotational V:damp_rot (VHDL Damper)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Rotational V:mass_rot (VHDL Mass)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Translational_V:DAMP_TR (Damper)
Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Translational_V:MASS_TR (Mass)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Translational V:damp_tr (VHDL Damper)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Translational V:mass_tr (VHDL Mass)

Mechanical (Velocity-Force representation) Nature default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Rotational_V:DAMP_ROT (Damper)


Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Rotational_V:MASS_ROT (Mass)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Rotational V:damp_rot (VHDL Damper)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Rotational V:mass_rot (VHDL Mass)

3-16 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Mechanical (Velocity-Force representation) Nature default port impedance components

Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Translational_V:DAMP_TR (Damper)


Simplorer Elements\Basic Elements\Physical Domains\Mechanical\Velocity-ForceRepresentation\Translational_V:MASS_TR (Mass)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Translational V:damp_tr (VHDL Damper)
Simplorer Elements\Basic Elements VHDLAMS\Physical Domains\Mechanical\VelocityForce-Representation\Translational V:mass_tr (VHDL Mass)

Quantity Domain Port Source Components


Description

Library Path

Const

Simplorer Elements\Basic Elements\Blocks\Sources:CONST

Step

Simplorer Elements\Basic Elements\Blocks\Sources:STEP

Random

Simplorer Elements\Basic Elements\Blocks\Sources:RANDOM

(VHDL) Const

Simplorer Elements\Basic Elements VHDLAMS\Blocks\Sources:const

(VHDL) Step

Simplorer Elements\Basic Elements VHDLAMS\Blocks\Sources:step

(VHDL) Random

Simplorer Elements\Basic Elements VHDLAMS\Blocks\Sources: random

Exponential
function

Simplorer Elements\Basic Elements\Tools\Characteristics:EXP

Hyperbolic
function

Simplorer Elements\Basic Elements\Tools\Characteristics:HYP

Second order
polynomial
function

Simplorer Elements\Basic Elements\Tools\Characteristics:PO2

2D lookup table

Simplorer Elements\Basic Elements\Tools\Characteristics:XY

Arctangent
function

Simplorer Elements\Basic Elements\Tools\Time Functions:ARCTAN

2D lookup table
with interpolation

Simplorer Elements\Basic Elements\Tools\Time Functions:DATAPAIRS

Needle function

Simplorer Elements\Basic Elements\Tools\Time Functions:NEEDLE

Pulse function

Simplorer Elements\Basic Elements\Tools\Time Functions:PULSE

Working with Simplorer Projects3-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Description

Library Path

Pulse width
modulation
function

Simplorer Elements\Basic Elements\Tools\Time Functions:PWM

Sawtooth function

Simplorer Elements\Basic Elements\Tools\Time Functions:SAWTOOTH

Sinusoidal function Simplorer Elements\Basic Elements\Tools\Time Functions:SINE


Trapezoidal
function

Simplorer Elements\Basic Elements\Tools\Time Functions:TRAPEZ

Triangular function Simplorer Elements\Basic Elements\Tools\Time Functions:TRIANG


(VHDL)
Arctangent
function

Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:arctan

(VHDL) Needle
function

Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:needle

(VHDL) Pulse
function

Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:pulse

(VHDL) Sawtooth Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:sawtoothl


falling function
(VHDL) Sawtooth Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:sawtoothr
rising function
(VHDL)
Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:sine
Sinusoidal function
(VHDL)
Trapezoidal
function

Simplorer Elements\Basic Elements VHDLAMS\Tools\Time Functions:trapez

(VHDL)
Simplorer Elements\Basic Elements\Tools\Time Functions:triang
Triangular function

Related Topics
Setting Interface Port Properties

Exporting Options Files


The options files at all levels that may affect a product running as a specific user on a specific host
may easily be exported. You can export options files by selecting the Tools>Options>Export
Options Files ... This brings up a browser dialog that you use to select the destination directory for
3-18 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the options files. Pressing the Cancel button will cancel the export command. Pressing the Open
button will copy all of the config files for the current user and current host to the specified directory. Config files for the install, install_machine, user, and user_machine levels will be copied, if
they exist. One additional file, admin.XML, will also be copied to the destination directory. This
file does not contain user configurable options.
Related Topics
Setting Options in Simplorer
Setting Options via Configuration Files
Example Uses for Export Options Features
User Options and the Update Registry Tool
Batchoptions Command Line Examples

Working with Simplorer Projects3-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Options via Configuration Files


Note

Because Simplorer can interact with other ANSYS Electromagnetics products, the
following sections on setting options via configuration files include examples and
information applicable to various other ANSYS Electromagnetics products.

In addition to setting options from the Desktop UI, you can also set options in several configuration
files. Options that you set from the Desktop UI will override the option settings from the configuration files. The option settings from the configuration files are used if they are not overridden using
the Desktop UI. Option settings in the configuration files may apply to all users or only to a specific
user, and they may apply to all hosts or only to specific hosts. There are four levels, listed below
from most specific (highest precedence) to most general (lowest precedence):

host dependent user options (apply to the specified user on the specified host only)
host independent user options (apply to the specified user on all hosts)
host dependent default options (apply to all users on the specified host)
installation default (default for all users on all hosts)

A setting at any level will override settings at lower levels in the list above. If there is no setting in
any file, then the application default value will be used.
Behavior Examples
Rules for Modifying Option Settings
Configuration File Locations
Products with Multiple Desktop Applications
Table of Directories and Files
Behavior Examples
For example, consider running an application as user jsmith on host host123. If there is no host
dependent user setting for the "Expand Project Tree on Insert" option in the host dependent user
options config file for user jsmith on host host123, but there is a setting for the "Expand Project
Tree on Insert" option in the host independent user options config file for user jsmith, then the latter setting will be used if it is not overridden using the Desktop UI. Any settings in the host dependent default options config file or the installation default config file will be ignored.
For another example, consider running an application as user jdoe on host host123. If there is no
setting for the "Expand Project Tree on Insert" option in the host dependent user user options config file for jdoe on host123 or in the host independent user options config file for user jdoe or in the
host dependent default options config file for host host123, then the value from the installation
default config file will be used, if present.
Rules for Modifying Option Settings
Option settings displayed in the Desktop UI follow the above rules. That is, if there is a setting in
any of the option config files, then the setting from the highest priority config file is displayed in
the Desktop UI. If there is no setting in any of the option config files, then the global default value
3-20 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

is used. You can modify settings using the various Options dialog boxes accessed via the
Tools>Options menu. If a dialog box is closed with the Cancel button, then changes made on any
of the tabs are discarded. If the dialog box is closed with the OK button, then any settings that have
been changed by the user are written to the host dependent user options config file. The changed
values written to this file are then used the next time that the application is run by the same user on
the same host. The Desktop UI option settings are not written to any of the other option config files.
Configuration File Locations
Two of the configuration files (the host dependent default options config file and the installation
default config file) reside in the installation config directory, which is the "config" subdirectory of
the product installation directory. The other two configuration files (the host dependent user options
config file and the host independent user options config file) reside in a user-specific config directory for the application. The user-specific config directory for an ANSYS Electromagnetics application is in a subdirectory of the user's My Documents directory on Windows, or a subdirectory of
the user's HOME directory on Linux. The subdirectory pathname is AnsysEM/ApplicationPathAndVersion/config, where ApplicationPathAndVersion is usually the product name concatenated with the product version, such as Simplorer11.0.
Products with Multiple Desktop Applications
For products that have multiple Desktop applications, each Desktop application will have a separate user specific config directory, with a different value for the ApplicationPathAndVersion
directory name. For example, the Maxwell 16.0 product contains two Desktop applications: Maxwell and Maxwell Circuit Editor. For the Maxwell application, the user-specific config subdirectory pathame is AnsysEM/Maxwell16.0/Win64 (or Windows)/config. For the Maxwell Circuit
Editor application, the user-specific config subdirectory pathame is AnsysEM/Maxwell Circuit
Editor16.0/Win64 (or Windows)/config. For products that contain multiple Desktop applications,
the installation default option settings and the host-dependent default options settings each reside in
a single file for all applications, while the host-dependent user option settings and host independent
user option settings for each application are in separate files. Although the installation default
option settings and the host dependent default options settings for all applications are each written
to a single file, the settings for different applications are in separate portions of the file.

Working with Simplorer Projects3-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Table of Directories and Files


The table below shows the directories and files, where the "Level Name" is the name used to
describe an options config file when using the UpdateRegistry? tool, described below.
Config File

Level Name

host dependent user_machine


user options
host
independent
user options

user

File Name

hostname_user.XML $HOME/
AnsysEM/
ApplicationPathAn
user.XML
dVersion/config

host dependent install_machine hostname.XML


default options
installation
default

install

Linux Directory Windows Directory


Pathname
Pathname
MyDocuments/
AnsysEM/
ApplicationPathAnd
Version/config

InstallationDirecto InstallationDirectory/
ry/config
config

default.XML

NOTES:
$HOME is the user's home directory on Linux
ApplicationPathAndVersion is the Application or Product name concatenated with the Product
Version
MyDocuments is the user's "My Documents" directory on Windows
InstallationDirectory is the directory where the product is installed
The table below shows specific file names and directory names for a typical Maxwell 16.0 installation on the Linux and 32 bit Microsoft Windows platforms. These are the files that apply to user
jsmith and hostname host123.
Application Config File Level Name
Maxwell

File Name

host dependent user_machine


user options

host123_user.XML

host
independent
user options

user.XML

user

host dependent
host123.XML
default options install_machine
installation
default

install

default.XML

Linux Directory
Pathname

32 Bit Windows
Directory
Pathname

/home/jsmith/
AnsysEM/
Maxwell16.0/config

MyDocuments/
AnsysEM/
Maxwell16.0/config

/opt/AnsysEM/
maxwell16.0/Linux/
config

C:/Program Files/
AnsysEM/
Maxwell16.0/Win32/
config

3-22 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Application Config File Level Name


Maxwell Circuit
Editor

File Name

host dependent user_machine


user options

host123_user.XML

host
independent
user options

user.XML

user

host dependent
host123.XML
default options install_machine
installation
default

install

default.XML

32 Bit Windows
Directory
Pathname

Linux Directory
Pathname
/home/jsmith/
AnsysEM/Maxwell
Circuit Editor16.0/
config

MyDocuments/
AnsysEM/Maxwell
Circuit Editor16.0/
config

/opt/AnsysEM/
maxwell16.0/Linux/
config

C:/Program Files/
AnsysEM/
Maxwell16.0/Win32/
config

NOTES:
/home/jsmith is the home directory of user jsmith on Linux
MyDocuments is the "My Documents" directory for user jsmith on Windows
The Maxwell 16.0 product is installed in directory /opt/AnsysEM/maxwell16.0 on Linux
The Maxwell 16.0 product is installed in the directory C:/Program Files/AnsysEM/
Maxwell16.0/Windows on 32 Bit Microsoft Windows, and is installed in the C:/Program
Files/AnsysEM/Maxwell16.0/Win64 directory on 64 Bit Microsoft Windows.
Related Topics
Setting or Removing Option Values in Configuration Files: UpdateRegistry Command
Example Uses for Export Options Features
User Options and the Update Registry Tool
Batchoptions Command Line Examples

Setting or Removing Option Values in Configuration Files:


UpdateRegistry Command
A command line tool, UpdateRegistry, is available to modify option settings in the options config
files. You can use this command to add, change, or remove settings from any of the option config
files. This tool is included in the installation directory of each product.
This feature is intended to make it easier for different users to use ANSYS Electromagnetics tools
installed on shared directories or network drives.
The UpdateRegistry command has multiple command line formats as shown below. The first format is used to set or change an option value. The second format is used to delete an option setting.
Others are used to get options values and allowed key names for viewing.
UpdateRegistry -Set Command
This command is used to add or modify an option setting in an option config file. If the option config file does not exist, it will be created. If the setting does not exist in the specified config file, it
will be added. If the setting already exists in the specified config file, then the value will be
changed to the specified value.
Working with Simplorer Projects3-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Usage:
UpdateRegistry -Set -ProductName <name> _
-RegistryKey <keyPath> _
-RegistryValue <value> [ -RegistryLevel <level> _
<name>
Required. The application or product name and version, as described above. Examples: HFSS15.0,
Simplorer11.0, or "Maxwell Circuit Editor16.0". If the name contains spaces, it must be quoted.
<keyPath>
Required. The pathname of the option setting. Example:
Desktop/Settings/ProjectOptions/AnimationMemory.
<value>
Required. The new value of the option, typically a string or a number. If the value contains
spaces, it must be quoted.
<level>
Optional. A string denoting which config file to modify. One of: install,
install_machine, user, and user_machine. If the level is not specified, then the
user_machine (host dependent user options) file is modified.
UpdateRegistry -Delete Command
This command is used to remove an option setting from an option config file. If the setting does not
exist in the specified config file, the file will not be changed. If the setting exists in the specified
config file, then it will be removed. A setting may need to be removed from an option config file, to
allow the setting from a lower priority file to be used by the application.
Usage:
UpdateRegistry -Delete -ProductName <name> _
-RegistryKey <keyPath> _
[ -RegistryLevel <level> ]
<name>
Required. The application or product name and version, as described above. Examples:
HFSS15.0, Simplorer11.0, or "Maxwell Circuit Editor16.0". If the name contains spaces, it
must be quoted.
<keyPath>
Required. The pathname of the option setting. Example:
Desktop/Settings/ProjectOptions/AnimationMemory.
<level>
Optional. A string denoting which option config file to modify. One of: install,
install_machine, user, and user_machine. If the level is not specified, then the
user_machine (host dependent user options) file is modified.
3-24 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UpdateRegistry -Get Command


This command is used to view an option value in an option config file. If the setting exists in the
specified config file or files, then the value, the value type and the config file where the value was
found will be reported. If no value is found, then that will also be reported.
Usage:
UpdateRegistry -Get -ProductName <name> -RegistryKey <keyPath>
[ -RegistryLevel <level> ]
<name>
Required. The application or product name and version, as described above. Examples:
HFSS15.0, Simplorer11.0, or "Maxwell Circuit Editor15.0". If the name contains spaces, it
must be quoted.
<keyPath>
Required. The pathname of the option setting.
Example:
Desktop/Settings/ProjectOptions/AnimationMemory.
<level>
Optional. A string denoting which config file to search. One of: install, install_machine, user
and user_machine. If the level is not specified, then all config files are searched in order of precedence.
UpdateRegistry -GetKeys Command
This command is used to view the allowed key names for all of the option settings, or to view a
subset of the key names that match a string. For each key displayed, the current value, if any, is also
reported. If a key has a value in multiple config files, then only the highest precedence value is
reported.
Usage:
UpdateRegistry -GetKeys [ <pattern>] -ProductName <name> [ Case ]
<pattern>
Optional. If no pattern is specified, then all allowed key names are reported. If a pattern is
specified, then only keys that match the pattern are shown. Examples: Settings/Project. If the
name contains spaces, then it must be quoted. By default, the pattern match is case insensitive.
If the -Case command line option is specified, then the pattern match is case sensitive.
<name>
Required. The application or product name and version, as described above. Examples:
HFSS15.0, Simplorer11.0, or "Maxwell Circuit Editor15.0". If the name contains spaces, it
must be quoted.
Related Topics
Setting Options via Configuration Files
Working with Simplorer Projects3-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example Uses for Export Options Features


User Options and the Update Registry Tool
Batchoptions Command Line Examples

Example Uses for Export Options Features


The Tools>Options>Export Options feature is intended to make it easier for different users to use
ANSYS tools installed on shared directories or network drives. This section outlines some use
cases enabled by this feature.
Options That Apply to All Users
Example for Setting an Installation Default Value
Example for Setting a Host Dependent Default Value
Example for Reverting from a User Defined Option Value to the Administrator Default
Example Searching for a Registry Key Pathname
Related Topics
Setting Options via Configuration Files
Setting or Removing Option Values in Configuration Files: UpdateRegistry Command
User Options and the Update Registry Tool
Batchoptions Command Line Examples
Options That Apply to All Users
In many cases, an ANSYS tool installation is administered and maintained by a single user or
group and used by a number of other users or groups. The permissions of the ANSYS tool installation may be set so that the administrator may add, delete, or modify files; but other users may only
ready or execute these files The administrator may set the recommended option settings in the
installation default config file and/or the host-dependent default options config file. These config
files reside within the installation directory hierarchy, and should generally have the same permissions as other ANSYS tool installation files. This allows the administrator to control these settings,
but does not allow other users to add, remove, or change settings.
Each user can override any of these settings, if needed. This may be done using the Desktop UI,
which affects the host dependent user options config file. It may also be done using the host-independent user options config file. If a user has overridden an option setting in either of the user files,
the user may revert back to the option settings provided by the administrator by removing the setting of the same option in the host-dependent user option config file and/or the host-independent
user option config file.
For global defaults, the administrator may set a value in the installation default config file. These
settings will to apply to all users on all hosts.
In some cases, there are significant differences between the capabilities of different hosts. The hostdependent default config file may be used to specify different default values on some hosts. Any
setting in a host-dependent default config file would affect all users running on the specified host.
3-26 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The installation default value is used if there is no value specified for the setting in the host-dependent default config file for the current host. Note that the host-dependent default config file is
named hostname.XML, where hostname is the name of the host.

Example for Setting an Installation Default Value


The normal default for the Desktop/Settings/ProjectOptions/DiskLimitForAbort setting is 0
MB. If the administrator is concerned that running out of disk space might be a common problem,
the administrator could set the installation default for the Desktop/Settings/ProjectOptions/DiskLimitForAbort setting to 1000 MB, for example. This limit would then apply to all users running
on all hosts. The administrator could use the following command to change this setting for
Simplorer11.0:
UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey _
Desktop/Settings/ProjectOptions/DiskLimitForAbort _
-RegistryValue 1000
-RegistryLevel install

Example for Setting a Host Dependent Default Value


For this example, we assume that all hosts have two cores, except for three hosts: bighost1,
bighost2, and bighost3, that have eight cores each. Because most hosts have two cores, the administrator has set the Simplorer/Preferences/NumberOfProcessorsDistributed option value to 2 in
the installation default config file, as described above. The administrator may then set the Simplorer/Preferences/NumberOfProcessorsDistributed option value to 8 in the host-dependent
default config files for the three hosts having 8 cores: bighost1, bighost2 and bighost3. The user
may login to host bighost1, and run the following command to change this setting for the hostdependent default options config file for host bighost1 on Simplorer11.0:
UpdateRegistry -Set -ProductName Simplorer11.0 _
-RegistryKey Simplorer/Preferences/NumberOfProcessorsDistributed _
-RegistryValue 8 _
-RegistryLevel install_machine
To make this change for the other two hosts, the adminstrator would login to bighost2 and
bighost3, in turn, and run the same command on each of those hosts.

Example for Reverting from a User Defined Option Value to the


Administrator Default
Consider the case in which Simplorer 11.0 was installed and the administrator initially did not set a
value for the Desktop/Settings/ProjectOptions/DiskLimitForAbort setting in the default installation config file. User jsmith (who always uses host jshost) wanted to be warned before disk
space dropped to zero, so he set the Desktop/Settings/ProjectOptions/DiskLimitForAbort to 100
MB using the UI (Tools>Options>General Options dialog, Project Options tab, Warn when
available disk space is less than setting). This setting is recorded in the host-dependent user
options config file for host jshost and user jsmith. When the administrator learns that many users
are running into disk space issues, the administrator sets the installation default value for the setting
Desktop/Settings/ProjectOptions/DiskLimitForAbort to 1000 MB, as in the above example.
Working with Simplorer Projects3-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When user jsmith runs Simplorer 11.0 on host jshost, the disk limit is 100 MB, not 1000 MB,
because the host-dependent user options config file overrides all of the other config files. User
jsmith may revert to the administrator provided default by removing this setting from the hostdependent user options config file for host jshost and user jsmith. The following command may be
run by user jsmith on host jshost to remove this setting:
UpdateRegistry -Delete -ProductName Simplorer11.0 _
-RegistryKey Desktop/Settings/ProjectOptions/DiskLimitForAbort_
-RegistryLevel user_machine
If user jsmith had added a value for this setting to the host independent user options config file,
then user jsmith would also run the following command to remove this setting from the host-independent user options config file:
UpdateRegistry -Delete -ProductName Simplorer11.0 _
-RegistryKey Desktop/Settings/ProjectOptions/DiskLimitForAbort
-RegistryLevel user

Example Searching for a Registry Key Pathname


Both administrators and ordinary users may occasionally use the UpdateRegistry command line
tool to add, change or delete settings. To use this tool, the registry key pathname must be known by
the user. The -GetKeys option may be used to quickly search for a key pathname if some information is known about it. For example, if the administrator knows that there is a setting related to issuing warning messages when available disk space is low, but she does not know the exact key name,
the following command may list some of the keys related to disk space:
UpdateRegistry -GetKeys disk -ProductName Simplorer11.0
This will display a list of all keys that match the string "disk" case insensitively. Typical output may
look like the following:
Registry keys matching pattern <disk> case insensitively:
Desktop/Settings/ProjectOptions/DiskLimitForAbort: value is <0>
at level <user_machine>
Related Topics
Setting Options via Configuration Files
Setting or Removing Option Values in Configuration Files: UpdateRegistry Command
User Options and the Update Registry Tool
Batchoptions Command Line Examples

User Options and the Update Registry Tool


When you change an options value using the Desktop UI, the new value is stored in the host dependent user options config file. You can also use the UpdateRegistry tool to add or modify settings in
the host dependent user options config file. You cannot use the Desktop UI to remove settings from
the host dependent user options config file, however. You must use the UpdateRegistry tool to
remove settings from the host dependent user options config file.
3-28 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If a user has not explicitly created a host dependent user options config file or a host independent
user options config file, then when a user first runs an ANSYS tool on a host, all settings will come
from the host dependent default options config file or the installation default options config file.
Any settings for another host in a host dependent user options config file will not be carried over to
the new host. This may be inconvenient if the user has preferred option settings that differ from the
settings that apply to all users, especially if the user runs the ANSYS tool on a number of different
hosts. In this case, the user may set these option values in the user's host independent user options
config file. Then, these option values will be used on all new hosts, overriding any values set by the
administrator to apply to all users. Any changes made in the UI will only affect the user's host
dependent user options config file for the current host.
Getting a Value from a Specific Configuration File
Getting a Value Using Precedence Rules
Example of Removing a Host Dependent User Option Setting
Example Adding a Host Independent User Option Setting
Setting the Temporary Directory
Temporary Directory Configuration File Format
Setting the Temporary Directory Using the GUI
Setting or Removing Temporary Directory Values in Configuration Files: UpdateRegistry Command

Getting a Value from a Specific Configuration File


In the previous example, the user jsmith may decide to check the Desktop/Settings/ProjectOptions/
DiskLimitForAbort setting in the host independent user configuration file before making any
changes to this setting. The following command may be used to quickly view this setting for HFSS
14.0 before making the change:
UpdateRegistry -Get -ProductName HFSS15.0 -RegistryKey Desktop/
Settings/ProjectOptions/DiskLimitForAbort -RegistryLevel user

Getting a Value Using Precedence Rules


In may cases, the user is more interested in the value of a setting that will be applicable when running the product than in the setting in a single configuration file. If the -Get option is used with no RegistryLevel specified, then the value reported is the value found in the highest precedence configuration file. If the user jsmith is interested in the highest prececedence value for the Desktop/Settings/ProjectOptions/DiskLimitForAbort setting, then the following command may be used to
report this information:
UpdateRegistry -Get -ProductName HFSS14.0 -RegistryKey Desktop/
Settings/ProjectOptions/DiskLimitForAbort

Example of Removing a Host Dependent User Option Setting


For this example, user jsmith always uses host jshost to run Simplorer 11.0. At some point, jsmith
set the Autosave interval in the General Options dialog, Project Options tab to 1000 edits, and
Working with Simplorer Projects3-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

this value was written to the jsmith's host dependent user options config file for host jshost. Now,
jsmith wants to remove this setting and return to the default value of 10. User jsmith may run the
following command on host jshost to remove the Desktop/Settings/ProjectOptions/AutoSaveInterval option value from this config file:
UpdateRegistry -Delete -ProductName Simplorer11.0
-RegistryKey Desktop/Settings/ProjectOptions/AutoSaveInterval
-RegistryLevel user_machine
Related Topics
User Options and the Update Registry Tool
Example Adding a Host Independent User Option Setting
Setting the Temporary Directory
Temporary Directory Configuration File Format
Setting the Temporary Directory Using the GUI
Setting or Removing Temporary Directory Values in Configuration Files: UpdateRegistry Command

Example Adding a Host Independent User Option Setting


Consider the case in which there is no value set for the Desktop/Settings/ProjectOptions/DiskLimitForAbort setting for all users for Simplorer 11.0. The default is then 0 MB. User jsmith uses
a variety of hosts and wants to be warned whenever disk space drops to 250 MB on any host. User
jsmith may use the following command to set the Desktop/Settings/ProjectOptions/DiskLimitForAbort option value to 250 MB for all hosts:
UpdateRegistry -Set -ProductName Simplorer11.0
-RegistryKey Desktop/Settings/ProjectOptions/DiskLimitForAbort
-RegistryValue 250 -RegistryLevel user
Related Topics
User Options and the Update Registry Tool
Setting the Temporary Directory
Temporary Directory Configuration File Format
Setting the Temporary Directory Using the GUI
Setting or Removing Temporary Directory Values in Configuration Files: UpdateRegistry Command

Setting the Temporary Directory


As for other option settings, the Temporary Directory may be configured with an installation
default value, as well as a host dependent default value, a host independent user specified value and
a host dependent user specified value. The Temporary Directory settings are stored in different files
from the other option settings. These files are located in the same directories as the configuration

3-30 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

files for the other option settings. The following table shows the directories and files used to store
the Temporary Directory settings.
Config File

Level Name

Linux Directory
Pathname

File Name

host dependent user


specific Temporary
Directory

user_machine

hostname.cfg

host independent user


specific Temporary
Directory

user

default.cfg

host dependent default


default Temporary
Directory

install_machine

hostname.cfg

installation default
Temporary Directory

install

default.cfg

Windows Directory
Pathname

$HOME/AnsysEM/
MyDocuments/AnsysEM/
ApplicationPathAndVersion/ ApplicationPathAndVersion/
config
config

InstallationDirectory/config

InstallationDirectory/config

NOTES:
$HOME is the user's home directory on Linux
ApplicationPathAndVersion is the Application or Product name concatenated with the Product Version
MyDocuments is the user's "My Documents" directory on Windows
InstallationDirectory is the directory where the product is installed
As for other options, the settings in these files have precedence in the following sequence:
user_machine (highest precedence), user, install_machine, install (lowest precedence). The installer
will create the file at the install level. By default, the other files are not created. If the Temporary
Directory is set to an empty string in a configuration file, then that setting is ignored.
Note

The UpdateRegistry tool may not be used to modify Temporary Directory settings.

Related Topics
User Options and the Update Registry Tool
Example Adding a Host Independent User Option Setting
Temporary Directory Configuration File Format
Setting the Temporary Directory Using the GUI
Setting or Removing Temporary Directory Values in Configuration Files: UpdateRegistry Command

Temporary Directory Configuration File Format


This section describes the format of the Temporary Directory configuration files. The format is the
same for files at all four levels: user_machine, user, install_machine, and install. These files are text
files, so any text editor may be used to modify or create Temporary Directory configuration files.
An example temporary directory configuration file is shown below:
Working with Simplorer Projects3-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

$begin 'Config'
tempdirectory='C:/TEMP/AnsysEM'
$end 'Config'
The temporary directory specified by this configuration file is C:/TEMP/AnsysEM.
Additonal notes:
The string containing the pathname of the temporary directory must be enclosed in single quotes.
The forward slash "/" may be used as a directory separator on Windows and Linux. The back slash
"\" may be used as a directory separator on Windows only.
The back slash "\" is used as an escape character in the tempdirectory string. That it, this character
removes the special meaning of the following character.
The single quote character normally ends the tempdirectory string. The back slash may be used to
remove this special meaning, and include a single quote in the string.
To use a back slash as a directory separator on Windows, it must be escaped. That is, a double back
slash "\\" is used to denote a single directory separator.
On Windows, a UNC path normally begins with two back slash characters. In a tempdirectory
string, each of these back slash characters must be doubled, so four consecutive back slashes "\\\\"
are used in the config file.
UNC Example
Config file:
$begin 'Config'
tempdirectory='\\\\hostxyz\\TEMP\\abc'
$end 'Config'
Here hostxyz is a host with a sharename TEMP having subdirectory abc used as the Temporary
Directory. This shows that four back slashes are required for UNC names and that back slashes
used as directory separators must be doubled.
Single Quote Example
Config file:
$begin 'Config'
tempdirectory='C:/TEMP/ab\'cd'
$end 'Config'
Temporary directory is C:/TEMP/ab'cd. This shows how to include a single quote in a tempdirectory pathname. It also shows that forward slashes may be used as directory separators on Windows.
Related Topics
User Options and the Update Registry Tool
Example Adding a Host Independent User Option Setting
Example for Setting the Temporary Directory
Setting the Temporary Directory Using the GUI
3-32 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting the Temporary Directory From the Command Line

Setting the Temporary Directory Using the GUI


As for other options, the Temporary Directory may be viewed or set using the Desktop GUI. In the
Tools>Options>General Options dialog, the Temp Directory setting appears in the Directories
group box on the Project Options tab. Activating the Override checkbox allows you to enter a
desired directory pathname in the edit box or to click on the [...] button to bring up a directory file
browser dialog, from which you can select a temp directory. Values set in this manner are written to
the user_machine level configuration file for the Temporary Directory. If the Override checkbox is
unchecked, then when the OK button is pressed, the user_machine level setting for the Temporary
Directory is changed to an empty string. This enables setting from the next highest precedence config file. The config file which provides the currently active Temporary Directory setting is shown
under the Temp Directory edit box in the Project Options tab of the General Options dialog, if
the Override checkbox is unchecked.

Setting the Temporary Directory From the Command Line


The temporary directory may be set from the command line, using the -batchoptions command
line option. See Running Simplorer from a Command Line. The Batchoptions Command Line
Examples section below includes examples that show how to set the Temporary Directory from the
command line.
Related Topics
Related Topics
User Options and the Update Registry Tool
Example Adding a Host Independent User Option Setting
Example for Setting the Temporary Directory
Temporary Directory Configuration File Format
Batchoptions Command Line Examples
Running Simplorer from a Command Line

Setting or Removing Temporary Directory Values in Configuration Files:


UpdateRegistry Command
The UpdateRegistry command line tool, described above, may be used to view, add, change or
remove the Temporary Directory setting from any of the Temporary Directory config files. The registry key for viewing or modifying the Temporary Directory is TempDirectory. The -Get, -Set, and
-Delete options are valid for viewing a Temporary Directory setting, adding or changing a Temporary Directory setting, or deleting a Temporary Directory setting. The -GetKeys option does not list
the Temporary Directory key.
Related Topics
User Options and the Update Registry Tool

Working with Simplorer Projects3-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Batchoptions Command Line Examples


The -batchoptions entries command line argument may be used to specify one or more batchoptions settings on the command line. To specify multiple entries using a single -batchoptions argument, the entries should be enclosed in double quotes. Alternatively, the batchoptions may be
specified in a file using the -batchoptions <filename> command line argument format. In this case,
the filename is an absolute or relative pathname of the file containing the batchoptions, as described
above. The two approaches may not be combined: either all batchoptions must be in a file or all
batchoptions must be specified explicitly on the command line.
Batchoptions File Format
Example -BatchOptions with -Remote (Windows)
Example -Batchsolve with -Machinelist (Windows)
Example -Batchsolve with -Machinelist (Linux)
Example -Batchsolve for Local (Windows)
Related Topics
Running Simplorer From a Command Line

Batchoptions File Format


An example batchoptions file is shown below:
$begin 'Config'
'Desktop/ProjectDirectory'='C:/test/projects'
'Hfss/Preferences/NumberOfProcessors'=2
'Hfss/Preferences/NumberOfProcessorsDistributed'=2
$end 'Config'
Additional notes on the file format:

The file may contain an arbitrary number of batchoption entries, one per line.
Leading whitespace on each line is ignored. Spaces or tabs may be used to make the file more
readable.
Option pathname:
The option pathname appears before the equal sign "=" on each line.
Each option pathname must be enclosed in single quotes.
Option pathnames are case insensitive.

Option value:

The option value appears after the equal sign on each line.
Integral option values must not be enclosed in quotes.
All other options values are treated as strings, and must be enclosed in single quotes.
The forward slash "/" may be used as a directory separator on Windows and Linux. The
back slash "\" may be used as a directory separator on Windows only.

3-34 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The back slash "\" is used as an escape character in the value string. That it, this character
removes the special meaning of the following character.
The single quote character normally ends the value string. The back slash may be used to
remove this special meaning, and include a single quote in the string.
To use a back slash as a directory separator on Windows, it must be escaped. That is, a
double back slash "\\" is used to denote a single directory separator.

Example -BatchOptions with -Remote (Windows)


In this example, we run a batch Maxwell analysis of project file project1.mxwl which contains a 3D
design. We want all temporary files and directories created in directory C:\temp\maxwell instead of
using the installation default for the Temporary Directory. We decide that the analysis will be done
on a remote host, at IP address 12.34.56.78. Because of limited memory on the remote host, we
decide to run the analysis using only a single COM engine. Because the remote host has four cores,
we decide to use four threads for multiprocessing, for both distributed and non-distributed parts of
the analysis. We can use the -Remote option to specify that there will be a single remote COM
engine.
Here is a sample command line for this analysis, where the project file \\somehost\projects\project1.mxwl is located in a shared directory specified using a UNC path:
maxwell -BatchSolve -Remote -Machinelist list=12.34.56.78 _
-batchoptions "TempDirectory='C:/temp/maxwell' _
Maxwell3D/Preferences/NumberOfProcessors=4 _
Maxwell3D/Preferences/NumberOfProcessorsDistributed=4"_
\\somehost\projects\project1.mxwl
An alternative is to use the -Distributed command line option. Because the -Machinelist list contains only one host, there is a single remote COM engine in this case, also.
maxwell -BatchSolve -Distributed -Machinelist list=12.34.56.78 -batchoptions "TempDirectory='C:\\temp\\maxwell' Maxwell3D/Preferences/NumberOfProcessors=4 Maxwell3D/Preferences/NumberOfProcessorsDistributed=4" \\somehost\projects\project1.mxwl
The above command lines show that the forward slash "/" may be used as a directory separator on
Windows. The back slash "\" may also be used as a directory separator on Windows, but it must be
doubled to "\\" because the back slash is also an escape character.
Related Topics
Batchoptions Command Line Examples
Example -Batchsolve with -Machinelist (Windows)
Example -Batchsolve with -Machinelist (Linux)
Example -Batchsolve for Local (Windows)

Example -Batchsolve with -Machinelist (Windows)


Suppose that we want to run a batch HFSS analysis of project file project1.hfss. Because all of our
hosts have multiples of 2 cores, we specify that we will use two threads for multiprocessing for
both the distributed (NumberOfProcessorsDistributed) and non-distributed (NumberOfProcessors)
Working with Simplorer Projects3-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

parts of the job. The analysis contains a sweep that will be distributed across three hosts, adam, bill,
and charlie. The hosts adam and bill have four cores each, so we run two distributed COM engines
on each of these hosts, each using two threads. Host charlie has only two cores, so we specify only
one distributed COM engine on this host. This COM engine will also use two threads. We specify a
desired RAM limit of 6 GB and a maximum RAM limit of 8 GB for this analysis. The RAM limits
are specified in KB, so the desired RAM limit is 6291456 KB, and the maximum RAM limit is
8388608 KB.
Here is a sample command line for this analysis, where the project file \\dennis\projects\project1.hfss is located in a shared directory specified using a UNC path:
hfss -BatchSolve -Distributed _
-Machinelist list=adam,adam,bill,bill,charlie _
-batchoptions "Hfss/Preferences/MemLimitHard=8388608 _
Hfss/Preferences/MemLimitSoft=6291456 _
Hfss/Preferences/NumberOfProcessors=2 _
Hfss/Preferences/NumberOfProcessorsDistributed=2"_
\\dennis\projects\project1.hfss
Related Topics
Batchoptions Command Line Examples
Example -BatchOptions with -Remote (Windows)
Example -Batchsolve with -Machinelist (Linux)
Example -Batchsolve for Local (Windows)

Example -Batchsolve with -Machinelist (Linux)


In this example, we run a batch HFSS analysis of project file project2.hfss, which contains an
HFSS-IE design. We have four identical hosts host1, host2, host3, and host4 for analysis, and each
host has 4 cores. We do not use multiprocessing for the distributed analysis, so NumberOfProcessorsDistributed=1. As each host has four cores, we specify multiprocessing using 4 threads for the
non-distributed part of the analysis, so NumberOfProcessors=4. Because we do not use multiprocessing for the distributed analysis, we will run four distributed COM engines on each host, with a
singe core available for each engine. As in Example 1, we specify a desired RAM limit of 6 GB and
a maximum RAM limit of 8 GB for this analysis. The RAM limits are specified in KB, so the
desired RAM limit is 6291456 KB, and the maximum RAM limit is 8388608 KB.
Here is a sample command line for this analysis, where the project file /home/jsmith/projects/
project2.hfss is located in a shared directory:
hfss -BatchSolve -Distributed _
-Machinelist file=/home/jsmith/hosts/list2 _
-batchoptions "HFSS-IE/Preferences/MemLimitHard=8388608 _
HFSS-IE/Preferences/MemLimitSoft=6291456 _
HFSS-IE/Preferences/NumberOfProcessors=4 _
HFSS-IE/Preferences/NumberOfProcessorsDistributed=1" _
/home/jsmith/projects/project2.hfss

3-36 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For this example, the hostnames are in the text file /home/jsmith/hosts/list2. Here are the file contents:
host1
host1
host1
host1
host2
host2
host2
host2
host3
host3
host3
host3
host4
host4
host4
host4
Related Topics
Batchoptions Command Line Examples
Example -BatchOptions with -Remote (Windows)
Example -Batchsolve with -Machinelist (Windows)
Example -Batchsolve for Local (Windows)

Example -Batchsolve for Local (Windows)


In this example, we run a batch Designer analysis of project file testproject.adsn on the local host.
We want all temporary files and directories created in directory C:\temp\designer instead of using
the installation default for the Temporary Directory. Because the local host has four cores, we
decide to use four threads for multiprocessing, for both distributed and non-distributed parts of the
analysis.
Here is a sample command line for this analysis, where the project file \\host123\projects\testproject.adsn is located in a shared directory specified using a UNC path:
designer -BatchSolve -Local -batchoptions _
"TempDirectory='C:/temp/designer' _
'Planar EM/SolverOptions/NumProcessors'=4 _
'Planar EM/SolverOptions/NumProcessorsDistrib'=4"_
\\host123\projects\testproject.adsn

Working with Simplorer Projects3-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note that the batchoptions pathnames 'Planar EM/SolverOptions/NumProcessors' and 'Planar EM/
SolverOptions/NumProcessorsDistrib' must be in single quotes because they both contain embedded spaces.
Related Topics
Batchoptions Command Line Examples
Example -BatchOptions with -Remote (Windows)
Example -Batchsolve with -Machinelist (Windows)
Example -Batchsolve with -Machinelist (Linux)

3-38 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

General Information on DSO Configurations


Each Distributed Solve Option (DSO) configuration consists of an ordered list of machine names.
The machine names may be IPV4 addresses, DNS names, or UNC names. For each name in the list,
the associated machine may be enabled or disabled. In some situations, it may be convenient to disable a host, instead of removing it from the configuration. For example, if a host is temporarily
unavailable, then it may be disabled. When it become available again, it may be enabled.
When a distributed analysis is run, COM engines are started on each host to run a portion of the
analysis. Generally, the COM engines are distributed to the hosts in the order that the hosts appear
in the configuration. The same host may appear in a configuration multiple times. The number of
COM engines started on the host is generally equal to the number of times that the host appears in
the configuration. One way to distribute more of the analysis to hosts with more processing power
is to run more COM engines on the more powerful hosts.
Each DSO configuration is identified by a unique name. The DSO configuration used when an
analysis is run may depend on the design type.

Setting DSO Configurations Using the User Interface


DSO Configurations in the Registry
Setting DSO Configurations Using UpdateRegistry

Setting DSO Configurations Using the User Interface


The Desktop User Interface may be used to select the DSO configuration to be used for each design
type. Each DSO configuration is identified by a unique name. These settings may be viewed or
modified using the "Analysis Options" tab of the "General Options" dialog. In the "Analysis
Options For Design Type" group box, the "Design Type" may be selecting using a dropdown list
box. For any "Design Type", if the "Distributed" radio button is selected in the "Analysis Machine
Options" group box, then the "Use Distributed Machine Configuration" dropdown list box may be
used to select a configuration by name. An unlabeled text box shows the machine names or IP
addresses enabled in the configuration.
The Desktop User Interface may also be used to edit the DSO configurations. The "Edit Distributed
Machine Configurations.." button in the "Distributed Machine Configurations" group box activates
a dialog that may be used to add, copy, remove or modify DSO Configurations. The "Edit.." button
activates the "Distributed Analysis Machines" dialog. This dialog allows names to be added to the
configuration, or removed from the configuration. It also allows the entries to be reordered. The
dialog includes check boxes allowing each entry to be disabled or enabled.
Related Topic
General Information on DSO Configurations
DSO Configurations in the Registry
Setting DSO Configurations Using UpdateRegistry

Working with Simplorer Projects3-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

DSO Configurations in the Registry


The DSO configuration information is encoded into the registry using several pathnames. When
DSO configurations are changed using the User Interface, the code ensures that the settings in the
registry are consistent. Care should be taken when editing the registry to ensure that the different
registry settings are consistent. For example, each DSO configuration has an associated name and
all configuration names must be different.
The number of DSO configurations (an integer) is stored in the registry setting Desktop/DSOConfigurations/NumItems. The first configuration is stored in registry setting Desktop/DSOConfigurations/Item0. Additional configurations, if any, are stored in settings Desktop/DSOConfigurations/
Item1, Desktop/DSOConfigurations/Item2, Desktop/DSOConfigurations/Item3, etc.
Each configuration is stored in a string of format $begin 'name' $begin '' host_list $end '' $end
'name', where
name is the name of the configuration, and
host_list is the list of hosts, described below.
The host_list is a list of entries of format 'hostname'='true' or 'hostname'='false'. Here, hostname is
the name or IP address of a host. The value after the equal sign is 'true' if the entry is enabled. The
value after the equal sign is 'false' if the entry is disabled. The entries must be separated by white
space.
In this format, single quotes are used to enclose names and values. The names in the "$begin ''" and
"$end ''" parts of the format are empty strings, so they appear as adjacent single quotes. The backslash character (\) is used as an escape character in single quoted strings. The escape character
removes the special meaning of the following character. For example, to include a single quote
within a single quoted string, prefix the single quote within the string with the backslash character.
For example, the value represented by the single quoted string 'Mel\'s Diner' is Mel's Diner. To
include a backslash in a single quoted string, two backslashes must be present; the first backslash
removes the special meaning of the second backslash. Because UNC hostnames begin with two
backslashes, to include an UNC hostname in a host_list, the single quoted hostname must begin
with four backslashes. For example, '\\\\myhost'='true' indicates that UNC hostname \\myhost is
enabled in the DSO configuration.
Extra white space in a DSO confguration string is ignored unless it is part of a name or value within
single quotes.
Related Topic
General Information on DSO Configurations

Setting DSO Configurations Using UpdateRegistry


Generally, the Analysis Options tab of the General Options dialog should be used to edit DSO configuration information, as the GUI ensures that the data written to the registry has the correct format. The command line tool UpdateRegistry may also be used to remove, add or change the DSO
configuration information in the registry. Care should be taken when using the UpdateRegistry tool
to edit DSO configuration information in the registry, because minor typographical errors may
cause the DSO configuration information in the registry to be invalid.
3-40 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In the R14 release, the UpdateRegistry tool may only be used to edit the first 21 DSO configurations stored in the registry. That is, the registry settings Desktop/DSOConfigurations/Item0 through
Desktop/DSOConfigurations/Item20 may be edited using the UpdateRegistry tool, but settings
Desktop/DSOConfigurations/Item21, Desktop/DSOConfigurations/Item22, etc. may not be edited
using the UpdateRegistry tool. This restriction is removed in R14.5 Preview 3; any number of DSO
configurations may be changed, added or removed using the UpdateRegistry tool.
Examples
Example 1
For this example, the configuration consists of two hosts specified by IP addresses 192.168.225.1
and 192.168.225.2. We decide to run four COM engines on each of these hosts because each host
has four cores. Thus, each host appears in the list four times. All entries are enabled. The configuration name is config1.
Configuration string:
$begin 'config1' $begin '' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' $end '' $end 'config1'
Example 2
For this example, the configuration consists of four hosts with UNC names \\host_1, \\host_2,
\\host_3 and \\host_4. Hosts \\host_1 and \\host_2 are about twice as powerful as the other hosts, so
they are placed in the list two times each. Host \\host_3 is temporarily offline, so it is disabled; all
other entries are enabled. The configuration name is config2.
Configuration string:
$begin 'config2' $begin '' '\\\\host_1'='true' '\\\\host_1'='true'
'\\\\host_2'='true' '\\\\host_2'='true' '\\\\host_3'='false'
'\\\\host_4'='true' $end '' $end 'config2'
Example 3
For this example, the configuration consists of five hosts with fully qualified domain names
host_a.ansys.com, host_b.ansys.com, host_c.ansys.com, host_d.ansys.com and host_e.ansys.com.
All hosts have slightly different configurations. The order from most powerful to least powerful is:
host_a.ansys.com, host_b.ansys.com, host_c.ansys.com, host_d.ansys.com, host_e.ansys.com. We
use this order in the configuration, so that the most powerful host(s) are selected first. The configuration name is config3.
Configuration string:
$begin 'config3' $begin '' 'host_a.ansys.com'='true'
'host_b.ansys.com'='true' 'host_c.ansys.com'='true'
'host_d.ansys.com'='true' 'host_e.ansys.com'='true' $end '' $end
'config3'

Working with Simplorer Projects3-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example: Replacing DSO Configurations in the Registry Using UpdateRegistry


For this example, we assume that there are already four DSO configurations set in the registry, and
we want to replace these DSO configurations with the DSO configurations in Examples 1, 2 and 3
above.
Because there are initially four DSO configurations set in the registry, the registry setting Desktop/
DSOConfigurations/NumItems will have an integer value of 4. The registry will contain settings
for Desktop/DSOConfigurations/Item0, Desktop/DSOConfigurations/Item1, Desktop/DSOConfigurations/Item2, and Desktop/DSOConfigurations/Item3. There will be no settings in the registry for
Desktop/DSOConfigurations/Item4, Desktop/DSOConfigurations/Item5, Desktop/DSOConfigurations/Item6, ....
Because we want to replace these four DSO configurations by the three configurations in Examples, 1, 2, and 3 above, we need to make the following changes:
1.

Change the number of DSO configurations from 4 to 3. That is, the registry setting Desktop/
DSOConfigurations/NumItems must be changed from 4 to 3.

2.

Replace the first three DSO configurations with the DSO configurations in Examples 1, 2, and
3 above. That it, registry settings Desktop/DSOConfigurations/Item0, Desktop/DSOConfigurations/Item1, Desktop/DSOConfigurations/Item2 must be changed.

3.

Remove the fourth DSO configuration, because the initial state had four DSO configurations,
but the final state has only three DSO configurations. That is, the registry setting Desktop/
DSOConfigurations/Item3 must be removed.

The following UpdateRegistry commands may used used to accomplish these steps:
1.

Change registry setting Desktop/DSOConfigurations/NumItems from 4 to 3:


UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey
Desktop/DSOConfigurations/NumItems -RegistryValue 3 RegistryLevel user_machine

2.

Change registry settings Desktop/DSOConfigurations/Item0, Desktop/DSOConfigurations/


Item1, Desktop/DSOConfigurations/Item2 to represent the DSO configurations in Examples 1,
2 and 3 above:

UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey


Desktop/DSOConfigurations/Item0 -RegistryValue "$begin
'config1' $begin '' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' $end '' $end 'config1'" -RegistryLevel user_machine
UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey
Desktop/DSOConfigurations/Item1 -RegistryValue "$begin
'config2' $begin '' '\\\\host_1'='true' '\\\\host_1'='true'
'\\\\host_2'='true' '\\\\host_2'='true' '\\\\host_3'='false'
'\\\\host_4'='true' $end '' $end 'config2'" -RegistryLevel

3-42 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

user_machine

3.

UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey


Desktop/DSOConfigurations/Item2 -RegistryValue "$begin
'config3' $begin '' 'host_a.ansys.com'='true'
'host_b.ansys.com'='true' 'host_c.ansys.com'='true'
'host_d.ansys.com'='true' 'host_e.ansys.com'='true' $end ''
$end 'config3'" -RegistryLevel user_machine

Remove registry setting Desktop/DSOConfigurations/Item3:

UpdateRegistry -Delete -ProductName Simplorer11.0 -RegistryKey Desktop/DSOConfigurations/Item3 -RegistryLevel


user_machine

These changes may be done in any order, but if any steps are omitted (or entered incorrectly) the
registry may be left in an inconsistent state.
Example: Adding DSO Configurations to the Registry Using UpdateRegistry
For this example, we assume that there are already two DSO configurations set in the registry, and
we want to add the DSO configurations in Examples 1, 2 and 3 above. We do not want to change or
remove the existing DSO configurations. In the initial state, the registry contains two DSO configurations. In the final state, the registry contains five DSO configurations.
Because there are initially two DSO configurations set in the registry, the registry setting Desktop/
DSOConfigurations/NumItems will have an integer value of 2. The registry will contain settings
for Desktop/DSOConfigurations/Item0 and Desktop/DSOConfigurations/Item1. There will be no
settings in the registry for Desktop/DSOConfigurations/Item2, Desktop/DSOConfigurations/Item3,
Desktop/DSOConfigurations/Item4, ....
To add the three configurations in Examples, 1, 2, and 3 above to the registry, we need to make the
following changes:
1.

Change the number of DSO configurations from 2 to 5. That is, the registry setting Desktop/
DSOConfigurations/NumItems must be changed from 2 to 5.

2.

Add the three DSO configurations in Examples 1, 2, and 3 above to the registry. That it, registry settings Desktop/DSOConfigurations/Item2, Desktop/DSOConfigurations/Item3, Desktop/
DSOConfigurations/Item4 must be added.

The registry settings Desktop/DSOConfigurations/Item0 and Desktop/DSOConfigurations/Item1


will not be changed.
The following UpdateRegistry commands may used used to accomplish these steps:
1.

Change registry setting Desktop/DSOConfigurations/NumItems from 2 to 5:

2.

UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey


Desktop/DSOConfigurations/NumItems -RegistryValue 5 -RegistryLevel user_machine

Add registry settings Desktop/DSOConfigurations/Item2, Desktop/DSOConfigurations/Item3,


Desktop/DSOConfigurations/Item4 to represent the DSO configurations in Examples 1, 2 and
3 above:
Working with Simplorer Projects3-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey


Desktop/DSOConfigurations/Item2 -RegistryValue "$begin
'config1' $begin '' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' '192.168.225.1'='true'
'192.168.225.2'='true' $end '' $end 'config1'" -RegistryLevel user_machine
UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey
Desktop/DSOConfigurations/Item3 -RegistryValue "$begin
'config2' $begin '' '\\\\host_1'='true' '\\\\host_1'='true'
'\\\\host_2'='true' '\\\\host_2'='true' '\\\\host_3'='false'
'\\\\host_4'='true' $end '' $end 'config2'" -RegistryLevel
user_machine
UpdateRegistry -Set -ProductName Simplorer11.0 -RegistryKey
Desktop/DSOConfigurations/Item4 -RegistryValue "$begin
'config3' $begin '' 'host_a.ansys.com'='true'
'host_b.ansys.com'='true' 'host_c.ansys.com'='true'
'host_d.ansys.com'='true' 'host_e.ansys.com'='true' $end ''
$end 'config3'" -RegistryLevel user_machine

These changes may be done in any order, but if any steps are omitted (or entered incorrectly) the
registry may be left in an inconsistent state.
Related Topics
General Information on DSO Configurations

3-44 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer File Types


Some common Simplorer file and folder types are listed below:
project_name.asmp

Simplorer project file. When you create a Simplorer project, it is


given an .asmp file extension and stored in the directory you
specify. Files and folders related to that project are also stored in
that directory.

project_name.asmpresults

Simplorer folder containing results data for a project.

design_name

Simplorer folder containing design and results data for a design.


These folders reside in the project_name.asmpresults folder.

design_name.asol

The .asol file contains the database of all solved variations as


well as where the resulting data is stored in the corresponding
design_name folder.
These files are stored in the project_name.asmpresults folder.

.ssh

Legacy Simplorer schematic file.


Refer to Opening Legacy Simplorer Schematic Sheets for details.

.ssc

Legacy Simplorer project file.


Refer to Opening Legacy Simplorer Projects for details.

.smd

Legacy Simplorer library file.

.anf

Ansoft neutral file.


Refer to Importing ANF Design Data for details.

Warning

Please observe that the operating system limits filenames to a maximum of 255
characters including path name and drive designator.

Working with Simplorer Projects3-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Up a Simplorer Design


To set up an Simplorer design, follow this general procedure.
1.

Insert a Simplorer design into a project.


After you insert a design, you do not need to perform the remaining steps sequentially. However, steps 2 through 8 must be completed before a solution (analysis) can be generated and the
results displayed in reports.

2.

Select and place components on schematic.

3.

Connect components.

4.

Define component parameters and properties.

5.

Define the simulation outputs.

6.

Setup a solution.

7.

Set solution options.

8.

Create reports.

9.

Run the analysis.

3-46 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating Projects
To create a new project:
1.

On the File menu, click New.


A new project is listed in the project tree. It is named Projectn by default, where n is the order
in which the project was added to the current session.
Note

You can specify a name for the project when you save it using the File>Save or
File>Save As commands.
Please observe that the operating system limits filenames to a maximum of 255
characters (including path name and drive designator).

Project definitions, such as components and models used in the project designs, are stored in a
Definitions folder under the project name in the project tree.
2.

By default, Simplorer inserts a design named Simplorer1 under the project.


To insert a design manually, do one of the following:
a.

On the Project menu, click Insert Simplorer Design.

b.

In the project tree, right-click the icon for the current project, select Insert, and then select
Insert Simplorer Design.

The Schematic Editor window appears to the right of the Project Manager. You can now create the schematic.
Note

Click the plus sign to the left of the design icon in the project tree to expand the project
tree and view specific data about the design.

Related Topics
The Schematic Editor
Setting the Project Tree to Expand Automatically

Working with Simplorer Projects3-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Opening Existing Projects


Open a previously saved project using the File>Open command.
1.

On the File menu, click Open.

2.

Use the file browser to find the desired Simplorer .asmp project file.

Note

By default, only .asmp files are displayed in the file browser.


You can also choose to display and open legacy Simplorer .ssc project files. Refer to
Opening Legacy Simplorer Projects for details.

3.

Select the file you want to open.


The file browser includes a preview area containing an Image tab that displays a representation of the design selected in the drop-down Designs menu, and a Notes tab that allows you to
preview any notes saved for the selected design. The file Type, and whether or not the selected
Design has been Solved are also displayed.

4.

Click OK.
The project information appears in the project tree.

Note

If you open another project without editing the automatically-created project, Simplorer
removes the automatically-created project.

If newer definitions are available for any of the components in the project, informational messages recommending that you Update Definitions are displayed in the Message Manager.
You can also open a saved project by:

Dragging a Simplorer project file icon to the Simplorer icon.


Dragging a Simplorer project file icon to the Simplorer desktop.
Double-clicking on a Simplorer project file icon.

Related Topics
Opening Recent Projects
Opening Legacy Simplorer Projects

Opening Recent Projects


To open a project you recently saved in Simplorer:

Click the name of the project file at the bottom of the File menu.
Note

If you open another project without editing the automatically-created project, Simplorer
removes the automatically-created project.

3-48 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Opening Example Projects


You can directly access and open example projects included with the Simplorer product installation
by selecting File>Open Examples. This displays a file browser opened to the Examples folder in
the product installation folder.
Use the file browser to find the desired Simplorer .asmp project file. The file browser includes a
preview area containing an Image tab that displays a representation of the design selected in the
drop-down Designs menu, and a Notes tab that allows you to preview any notes saved for the
selected design. The file Type, and whether or not the selected Design has been Solved are also
displayed.

Working with Simplorer Projects3-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Translating Legacy Simplorer Projects and Schematics


Projects and schematics created in legacy versions of Simplorer (version 7.0 or earlier) can be
translated and opened directly in Simplorer 8.
Related Topics
Legacy Translation Considerations
Opening Legacy Simplorer Projects
Opening Legacy Simplorer Schematics

Legacy Translation Considerations


Simplorer can translate projects and schematics created in Simplorer version 7.0 or earlier with the
following limitations:

To ensure proper translation, Simplorer Legacy designs (.ssh files) must be synchronized and
saved using the legacy version before beginning the translation.
The legacy IST_Machine (IST_Machine.smd), ISET_Alternative_Power
(ISET_Alternative_Power.smd), and compatibility4x7 (Compatibility4x7.smd) libraries are
not supported in Simplorer 8. If you wish to translate and simulate the examples for these
libraries, you must first translate the libraries. Before translating these libraries, ensure that the
.smd files are in the same directory as the DataSet folder containing the legacy data files.
Note

Simplorer version 7.0 examples that used components from the unsupported
compatibility4x7 library have either been dropped or modified for Simplorer 8.

The legacy Simplorer Displays library is not supported in Simplorer 8. Consequently,


instances of these components used on legacy projects and schematics are not translated.
Copying legacy Simplorer version 7.0 system models to other libraries such as a user library is
not supported in Simplorer 8. These models must be replaced manually.
In Simplorer version 8, the sample time value (TS) for imported Discrete Block components
(GZ, Filter, and Unit Delay) must be greater than zero (0). You can set these values in the components Parameters or Properties dialog boxes.
When translating legacy schematics having wires in close proximity to pins to which they are
not connected, page connectors are added to the pins on the translated schematic to maintain
proper connectivity. Messages appear in the Message Manager window informing you of such
occurrences. Double-clicking the message highlights the corresponding object on the schematic. You can then rearrange and reconnect the affected components to eliminate the page
connectors, if desired.
When legacy translations produce many page connectors, this can be due to differences in
snapping between wire and component grids. When this occurs, try selecting all the components in the Simplorer version 7.0 schematic, move them slightly upward, then translate.
Where segments overlap, valid segments of the nets are translated, and page ports will be connected to the end points of the nets.

3-50 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If there are several trace names differing only in case in an imported Simplorer version 7.0
SDB, Simplorer 8 can access only one.
In Simplorer 7, all quantities and variables defined at any level of hierarchy are considered
global and could be accessed globally anywhere in the schematic by using the correct subsheet instance name qualifier as the prefix to the variable. However in Simplorer 8, only variables available as ports on the sub-sheet can be accessed at the parent level. If the user has
already used global access of such variables in their Simplorer 7 design, then Simplorer 8 will
automatically add hidden quantity ports during translation to enable access to such variables at
the correct level of use.
In Simplorer version 7.0 or earlier, model nodes could be empty, i.e., they need not have values
assigned to them. In Simplorer 8, models such as MIN and MAX have nodes that require a
value. Legacy translation of such models results in the intrinsic variable _Empty being
assigned to such nodes to preserve simulation accuracy.
Because Simplorer version 7.0 or earlier was case-sensitive with respect to names of parameters, quantities, etc., components could have two quantities named A and a. Simplorer version 8.0 however, is case-insensitive. Consequently, for legacy components having such
names, only one name instance is translated. Please refer to Translating Components with
Identical Parameter Names for details.
Legacy experiment setups are not translated in Simplorer 8. Users must recreate them in Optimetrics.
In Simplorer 8 the Multidimensional Table Source component represents only one source
unlike its Simplorer version 7.0 counterpart. However, when converting a Simplorer version
7.0 sheet containing a Multidimensional Table Source that represents more than one source,
the translated component supports more than one source - but the source count is fixed. You
can not remove a source or add a additional one.
In Simplorer 8 the voltage (v) and current (i) quantities for VHDL-AMS components such as
inductors are not directly accessible for use in variable links. Consequently, legacy translations
of schematics that have variables linked to these quantities produce translation errors. To link
to these quantities in Simplorer 8, add ammeter and voltmeter components as needed. For
example, to link a variable to a VHDL-AMS inductor current, add an ammeter in series with
the inductor and use the ammeter current quantity for the link.
The legacy translation process adds all three types of analysis setups (AC, DC, Transient) to
the translated project by default. For example, if a version 7 schematic contains only an AC
analysis setup, default DC and Transient analysis setups are also added to the version 8 project
during translation. You can delete the unused setups, if desired.
Note

Improper or undefined simulation setups will cause errors during Optimetrics Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Parametric Analysis.

Working with Simplorer Projects3-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
SML Header Translation
When Component Terminals Do Not Match the Model Terminals
Translating Components with Identical Parameter Names
Translating Schematics Containing a Simulink Component

SML Header Translation


SML text can be added directly to an S7 simulation model in the SMLHeader tab of the S7 Simulation Parameters dialog box (accessible via the S7 Simulation>Parameters menu command).
When an S7 schematic is translated, this SML Header text is converted as follows:

SML #define statements become S8 design parameters in the Design Properties dialog
box.
Note

If there are more than 100 #define statements in the S7 schematic, a dialog displays
before translation proceeds giving you the option to decline converting all of them in
which case only 100 of the #define statements will be converted.

FML_INIT data are converted into FML_INIT component instances added to the lower left
region of the translated schematic, and having instance names like: ICA_HEADER1,
ICA_HEADER2, etc.
If an SML #include instruction is in the S7 header, the referenced file is opened and examined for #define statements and FML_INIT data which are then converted as described
above.
If the SML header, and any referenced files, contain only #define statements and
FML_INIT data, all of the header information is brought into the schematic as described
above, and the S8 SML Header tab in the Solution Options dialog box will be empty.
Any other kind of header data is processed, if possible, and retained in the S8 Solution
Options dialog box SML Header tab.

When Component Terminals Do Not Match the Model Terminals


In some instances, legacy schematics may contain models (such as transistors with substrate pins)
that have a different number of terminals than the associated component or symbol. Several components in the legacy Compatibility 4x7 library fall into this category. During translation, such components display an alert in the Message Manager window similar to the following:
Component translation: Terminals (BULK) of component NJFET5
don't match model - please check , (Simplorer 7:
328:COMPATIBILITY4X7:NJFET5). (9:15:59 AM Nov 07, 2007)
In the example above, the terminal labelled BULK for the NJFET5 component does not match the
referenced model in the COMPATIBILITY4X7 library. Before you can successfully simulate, you
must edit the component definition to correct the terminal mismatch as follows:
1.

Translate legacy libraries used by components in the legacy schematic. (In the example mes-

3-52 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

sage above, the COMPATIBILITY4X7 library would need to be translated.)


2.

In the Project Manager Definitions>Components folder, right-click the component you wish
to edit (NJFET5 in the example), and select Edit Component to open the Edit Component
dialog box.

3.

On the General tab, click Properties to open the component Properties dialog box.

4.

On the Parameter Defaults tab, click the button in the Value column for the SimplorerNetlist property to open the Edit Netlist String dialog box.

5.

Copy the entire netlist string, then close the Edit Netlist String and the Properties dialog
boxes.

6.

On the Simulation Models tab of the Edit Component dialog box, remove the existing model
from the list.

7.

Click Add Netlist Line and paste the netlist string in the Netlist Line dialog box.

8.

In the netlist string, locate the string: BULK:= %3 and change %3 to GND and click OK to
close the dialog box.

9.

Click OK on the Edit Component dialog box to accept the changes.

10. Repeat the above procedure as needed for any similar occurrences of terminal mismatch.

Translating Components with Identical Parameter Names


Because Simplorer versions 7.0 and earlier were case-sensitive, some legacy projects, schematics,
and third-party libraries may contain components that use the same name (except for case) for two
different parameters, quantities, etc. For example, the SOLAR1_L3 component in the
ISET_Alternative_Power library has two quantities named A and a.
When translating a library with such a component into Simplorer 8.1, one of the two quantities is
renamed. The renaming scheme is to add an underscore and a number, starting with 0. If renaming
a quantity is necessary in translation, a wrapper model is created and saved along with the original
model to the Simplorer 8.1 library. This wrapper model transfers values between these new quantities and the original model's case-distinguished quantities. The property name correspondences are
recorded in a property added to the translated component.
Note

SMDs containing components used in a schematic must be translated before translating


the schematic.

When translating a schematic using a component with identical properties into Simplorer 8.1, the
already-translated component is retrieved from the library and recorded name correspondences are
used to correct any expressions in the schematic that use the old property name.
If desired, the original model can be corrected and the wrapper model eliminated. For SML models
the following procedure can be used. For CModels, similar model editing can be done if there is
access to the original CModel code.
1.

Go to the Project tab of the Project window, navigate to Definitions>Models, and locate the
original model. Double-click it to edit. Change the Ports to be unique names without regard to
Working with Simplorer Projects3-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

case, and adjust the model text for these new names. Update the project and close the model
editor.
2.

Go to the Project tab of the Project window, navigate to Definitions>Models, and right click
on the modified model. Select Export to library and choose the appropriate library to update.

3.

Go to the Project tab of the Project window, navigate to Definitions>Components, and locate
the component in question. Double-click it to open its Edit Component dialog box.

4.

On the Simulation Models tab of the Edit Component dialog box, remove the existing wrapper model and select the modified library model.

5.

On the General tab of the Edit Component dialog box, click the Properties button. Select the
Quantities tab and remove any quantities that no longer match the model. Click OK to save
component changes.

6.

Go to the Project tab of the Project window, navigate to Definitions>Components, and rightclick on the modified component. Select Export to library and choose the appropriate library
to update.

Translating Schematics Containing a Simulink Component


When translating legacy projects and schematics created in Simplorer version 7.0 or earlier that
contain a Simulink component, one or more messages similar to the following may appear in the
Message Manager window.

[error] [Sim2000] Error - Can't open Simulink model file <>.


This issue occurs because the Simplorer 7 schematic containing the Simulink component
did not know the Simulink (*.mdl) file name or path. Therefore, the translated component
also does not know the *.mdl file name or path.
To resolve this issue, the user must edit the Simulink component in S8 by adding the
appropriate *.mdl file name in the Simulink coupling dialog, and then starting simulation
from Simplorer.

[info] [Sim2000] Info - Matlab message <??? Error using ==> sim Error in S-function
'ansoft_reg_logic/S-Function': S-Function 'simplorer70' does not exist. >
In S7, the S-functions function name in the *.mdl file must be simplorer70.
For the *.mdl file to work with Simplorer 8, its S-function name must be modified to
AnsoftSFunction.

[info] [Sim2000] Info - Matlab message <Warning: Unconnected input line found on
'ansoft_reg_logic/Vreg9' (input port: 4). Warning: Unconnected input line found on
'ansoft_reg_logic/Vreg9' (input port: 3). Warning: Unconnected input line found on
'ansoft_reg_logic/Vreg9' (input port: 2). Warning> >> Prepare (2:55:42 PM Oct 17,
2008)
[info] [Sim2000] Info - Matlab message <??? Error using ==> bi_close_system Cannot

3-54 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

close the model 'ansoft_reg_logic' because it has been changed. Use the command
'save_system' to first save the model. Error in ==> close_system>i_builtin at 64 builtin('bi_close_system',varargin{:}); Error in => >> Prepare (2:55:42 PM Oct 17, 2008)
Problem: Incorrect connections in S-Function.
Solution: In correct connection in the *.mdl, check and reconnect S-Function.

Opening Legacy Simplorer Projects


Note

Please review the section on Legacy Translation Considerations before proceeding.

1.

On the File menu, click Open.

2.

Select Legacy Simplorer Project (*.ssc) from the Files of type pull-down list.

3.

In the Look in pull-down list, click the location of the project. In the folder list, double-click
folders to find the one that contains the project.

4.

Double-click the project you want to open.


When you open a legacy Simplorer project (a project created in Simplorer version 7.0 or earlier) the Legacy Translation Options dialog box displays.

Legacy Translation Options: General Options Tab

The Text Language panel allows you to choose the Target language into which the projects text strings will be translated. If the target language has no equivalent text for a given
element, you can tell the translation tool either to Ignore elements for which there are no
target language strings; or to Substitute strings from a map file.
The Hierarchy/C-Model Location panel allows you to choose to Flatten a source projects hierarchy, or to Replicate it. It also allows you to specify either UserLib or PersonalLib as the location where any C-models present in the original project will be saved.
The Symbols Type panel allows you to set which symbol type(s) to include in the translation: IEEE only, Traditional only, or Both. When Both is selected, checking Use IEEE
for pin placement instructs Simplorer to use the IEEE symbols for pin locations.
The Symbol Language panel allows you to select the symbol language displayed on the
translated schematic for each symbol type (IEEE, or Traditional).
The Load Map File button allows you to load a .namemap file containing mapping for
models, components, and symbols from S7 identifiers to S8 library elements. For example, a user may have an S7 schematic that uses elements from an ANSYS-provided S7 legacy SMD file. For S8, ANSYS will supply downloadable libraries and also a .namemap
file that provides the mapping from the legacy SMD to the new library elements so that
the users SSH files can be translated properly. Without the .namemap file, users must
translate the S7 SMD files themselves.
The Convert SML Header #defines checkbox (checked by default) enables conversion
of S7 SML header #define statements into S8 design variables. When you click OK, if
there are more than 100 #define statements in the SML header files, a dialog box disWorking with Simplorer Projects3-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

plays informing you of this and asking if you wish to continue and convert all of the
#define statements. Clicking Yes continues the translation and converts all of the
#define statements to design variables. Clicking No results in exactly 100 statements
being converted. Unchecking the Convert SML Header #defines checkbox disables conversion of the #define statements.
Legacy Translation Options: Search Path Tab

5.

Binary Search Path sets the path to be used during translation for DLLs that are referenced by C-Models in the legacy schematic. Search paths can be added to - or deleted
from - the list, and the list saved as default for future translations using the Save as default
checkbox.
Dataset Search Path sets the path to be used during translation for MDX or similar data
files that are referenced in the legacy schematic. Search paths can be added to - or deleted
from - the list, and the list saved as default for future translations using the Save as default
checkbox.

Click OK to translate the project and add it to the Project Manager

Note

Virtually all of the projects pre-processing data is translated.


Optimetrics setup information, including design variables, is not translated.
However, the nominal model is translated.
Solution data is not translated. Therefore, you must solve legacy Simplorer projects
again after translation. Existing solution data can be imported either by rightclicking Analysis in the project tree and selecting Import SDB File from the
context menu, or by selecting Simplorer Circuit> Import SDB File on the main
menu bar.

Opening Legacy Simplorer Schematic Sheets


Note
1.

Please review the section on Legacy Translation Considerations before proceeding.

On the File menu, click Open.

2.

Select Legacy Simplorer Schematic (*.ssh) from the Files of type pull-down list.

3.

In the Look in pull-down list, click the location of the schematic. In the folder list, doubleclick folders to find the one that contains the schematic.

4.

Double-click the schematic you want to open.


When you open a legacy Simplorer schematic (a schematic created in Simplorer version 7.0 or
earlier) the Legacy Translation Options dialog box displays.

Legacy Translation Options: General Options

The Text Language panel allows you to choose the Target Language into which the
projects text strings will be translated. If the target language has no equivalent text for a
given element, you can tell the translation tool either to Ignore elements for which there
are no target language strings; or to use Substitute strings.

3-56 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Model Mapping File, SML Header panel Load Map File button allows you to load
a .namemap file containing mapping for models, components, and symbols from S7 identifiers to S8 library elements. For example, a user may have an S7 schematic that uses elements from an ANSYS-provided S7 legacy SMD file. For S8, ANSYS will supply
downloadable libraries and also a .namemap file that provides the mapping from the legacy SMD to the new library elements so that the users SSH files can be translated properly. Without the .namemap file, users must translate the S7 SMD files themselves.
The Convert SML Header #defines checkbox (checked by default) enables conversion
of S7 SML header #define statements into S8 design variables. When you click OK, if
there are more than 100 #define statements in the SML header files, a dialog box displays informing you of this and asking if you wish to continue and convert all of the
#define statements. Clicking Yes continues the translation and converts all of the
#define statements to design variables. Clicking No results in exactly 100 statements
being converted. Unchecking the Convert SML Header #defines checkbox disables conversion of the #define statements.

The Symbols Type panel allows you to set which symbol type(s) to include in the translation: IEEE only, Traditional only, or Both. When Both is selected, checking Use IEEE
for pin placement instructs Simplorer to use the IEEE symbols for pin locations.
The Symbol Language panel allows you to select the symbol language displayed on the
translated schematic for each symbol type (IEEE or Traditional).

Legacy Translation Options: Search Path

Binary Search Path sets the path to be used during translation for DLLs that are referenced by C-Models in the legacy schematic. Search paths can be added to - or deleted
from - the list, and the list saved as default for future translations using the Save as default
checkbox.
Dataset Search Path sets the path to be used during translation for MDX or similar data
files that are referenced in the legacy schematic. Search paths can be added to - or deleted
from - the list, and the list saved as default for future translations using the Save as default
checkbox.

Working with Simplorer Projects3-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Click OK to translate the schematic and add it to the Project Manager.

Note

Virtually all of the projects pre-processing data is translated.


Optimetrics setup information, including design variables, is not translated.
However, the nominal model is translated.
Solution data is not translated. Therefore, you must solve legacy Simplorer projects
again after translation. Existing solution data can be imported either by rightclicking Analysis in the project tree and selecting Import SDB File from the
context menu, or by selecting Simplorer Circuit> Import SDB File on the main
menu bar.
If a component contains parameters or quantities having identical names except for
case, you must apply the method outlined in Translating Components with
Identical Parameter Names.

Importing ANF Design Data


Ansoft Neutral File (ANF) formatted files typically are generated by third party tools or by the
ANSYS AnsoftLinks program that translates third-party designs. ANF is a public, neutral file
format that allows third party tools to exchange design data with ANSYS products. An ANF file
can contain schematic data, and component data. A given ANF file may contain just schematic data
with no component data, or may contain just component data with no schematic data.
Note

If material properties are not provided in the ANF file, the required material properties
are taken from the Simplorer material library database. These properties may be different
from those in the tool used to generate the ANF file.

When geometry is imported from ANF, ports are automatically added, and a subdirectory for the
ANF-based project is configured in the Project directory. When ANF-based projects are saved, the
Save As dialog always opens, regardless of where the ANF file originated.
1.

To open an ANF-based project, click File>Open on the Designer top menu bar. The File
Open window opens.

2.

Use the Look in field to locate the directory containing the file with the project you want to
open. Use the Files of type field to display the files with the ANF format.

3.

Click on the ANF format file in the window to select it, or type its name into the File name
field.

4.

Click Open. Simplorer evaluates the information in the ANF file and opens a window for you
to select the Simplorer product for importing the ANF design:

5.

Select Simplorer and click OK.


The ANF Conversions dialog box opens:

6.

The Current ANF (Components) Map panel lists the components from the ANF file and any
associated models. You can enter the names of a model manually in the Model Name field.

3-58 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The ModelName property for the component in Simplorer will be set to the entry in the Model
Name field in the mapping, and the Netlist property will begin with that name instead of the
component name.
7.

Update External Component Map saves any mappings you enter manually to a text file.
Click Save Map File to open a File Open window. Use the window to browse to the directory
where the map file is to reside, then enter the name of the file. The map file is saved with a
.namemap extension. The same mapping file should be used for both component and property
mappings. After the mapping file has been created, Update External Component Map saves
any mappings you enter manually.

8.

The Current ANF (Property) Map panel lists the mapping of properties in the ANF file to
the properties that will be used when the file is imported. You can enter the mapped name of a
property manually in the Model Name field. The name for the property in Simplorer will be
set to the entry in the netlist.

9.

Update External Property Map saves any mappings you enter manually to a text file. Click
Save Map File to open a File Open window. Use the window to browse to the directory where
the map file is to reside, then enter the name of the file. The map file is saved with a .mapping
extension. After the mapping file has been created, Update External Component Map saves
any mappings you enter manually.

10. Load Map File opens a File Open window. Use the window to browse to the directory where
the map file resides, then select or enter the name of the file. The map file can contain
component and/or property mappings, and must have a .mapping extension. The same
mapping file should be used for both component and property mappings.
11. The External Component Map panel lists the components that have been read from an
external mapping file. The display changes each time the external file is updated from the
dialog.
12. The External Property Map panel lists the properties that have been read in from an external
mapping file. The display changes each time the external file is updated from the dialog.
13. The Distributed Components panel allows you to specify that imported interconnects will be
converted to distributed components if they fall within a minimum coupling distance (specify
distance), and to select the nets that will be thus converted.
14. Click Close. The Schematic Editor shows the design, and the Projects window shows the
imported project.

Working with Simplorer Projects3-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Closing Projects
To close the current Simplorer project without exiting Simplorer, do one of the following:

Select File>Close.
Right-click on the project icon in the Project Manager window and select Close from the
shortcut menu.
Note

If there are unsaved changes to the project signified by the presence of an asterisk at
the end of the project name in the Project Manager window you will be prompted to
save the changes before closing the project. Refer to Saving Projects for details.

3-60 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Saving Projects
Use the File>Save As command to do the following:

Save a new project.


Save the active project with a different name or in a different location.
Save the active project in another file format for use in another program.

Use the File>Save command to save the active project.


Note

If the active Simplorer project is part of an ANSYS Workbench Project, the Save
and Save As commands are not present in the File menu.
When attempting to save a project, if there are unsaved changes in an open editor
other than the schematic editor (the symbol editor, for example), a dialog appears
asking if you want to save changes to the work in the open editor. Selecting Yes (or
Yes to All if there are unsaved changes in multiple editors) saves changes to the
work in the open editor(s), and the project is then saved. Selecting No (or No to All)
aborts the save project operation.

Use the File>Save as Technology File command to save the selected design in *.asty format.
A prompt appears when you attempt to save a previously-versioned file. If you agree to the prompt,
the file is upgraded to the Simplorer version in which you are running the software. In this case the
file may no longer be compatible with previous versions of Simplorer. If you do not agree to the
prompt, the file is not saved, so the file retains the previous compatibility.
Note

When Simplorer is running projects created prior to Simplorer v8 in batch mode, an


.asmp file will be automatically saved in the default project directory using the same
root name as the original .ssc project file. If an error occurs while saving, the message is
written to the log file.

Use the File>Save Workbench Project command to save the active Simplorer project to its associated ANSYS Workbench Project location. Refer to the ANSYS Workbench documentation for
information on working with Workbench Projects.
Related Topics
Saving a New Project
Saving the Active Project
Saving a Copy of a Project
Deleting Projects

Saving a New Project


1.

On the File menu, click Save As.

2.

Use the file browser to find the directory where you want to save the file.

3.

Type the name of the file in the File name box.


Working with Simplorer Projects3-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.
5.

Use the correct file extension for the file type.


Click OK.
Simplorer saves the project to the location you specified.

Warning

Be sure to save projects periodically. Saving frequently helps prevent the loss
of your work if a problem occurs.
Although Simplorer has an auto-save feature, it may not automatically save
frequently enough for your needs.

Related Topics
Saving the Active Project
Saving a Copy of a Project

Saving the Active Project


On the File menu, click Save.
Simplorer saves the project over the existing one.
Warning

Be sure to save projects periodically. Saving frequently helps prevent the loss of
your work if a problem occurs.
Although Simplorer has an auto-save feature, it may not automatically save
frequently enough for your needs.

Related Topics
Saving a New Project
Saving a Copy of a Project

Saving a Copy of a Project


To save an existing, active project with a new name, a different file extension, or to a new location:
1.

On the File menu, click Save As.

2.

Use the file browser to find the directory where you want to save the file.

3.

Type the name of the file in the File name box.

4.

Select the desired file extension for the file type.

5.

If the window has a Switch to saved field, do one of the following:

6.

Leave the field selected to display the new file name, and then close the current file.
Cancel the Switch to saved selection to save the file under the new name without changing which file is displayed.

Click OK.
Simplorer saves the project with the new name or file extension to the location you specified.

Related Topics
Saving a New Project
3-62 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Saving the Active Project

Saving Project Data Automatically


Simplorer stores recent actions you performed on the active project in an autosave file. Should a
workstation crash or other unexpected problem occur, the autosave file can be used to recover project data up to the most recent autosave. The autosave file is stored in the same directory as the project file and is named Project_Name.asmp.auto by default.
Simplorer automatically saves all data for the project to the autosave file, except solution data. By
default, Simplorer automatically saves project data after every 10 edits. An edit is any action you
perform which changes data in the project or the design including actions associated with project
management, model creation, and solution analysis.
Note

Autosave always increments forward; therefore, even when you undo a command,
Simplorer counts it as an edit.

Once the specified number of edits is carried out, a model-only save will occur. This means that
Simplorer does not save solutions data or clear any undo/redo history.
When Simplorer autosaves, an .auto extension is appended to the original project file name. For
example, Project1.asmp will automatically be saved as Project1.asmp.auto.
Warning

When you close a project, Simplorer deletes the autosave file.

To modify the autosave settings, refer to the Project Options section.


Related Topics
Recovering Project Data in an Auto-Save File

Recovering Project Data in an Autosave File


With autosave activated, after a problem occurs, Simplorer checks the lengths of the original file
and the autosave recovery file.

If both the original and the autosave file are of nonzero length, the Crash Recovery dialog is
displayed. You can choose to re-open the original project file (Projectn.asmp), in an effort to
recover the solution data, or open the autosave file.
If the original file has nonzero length and the autosave file has zero length, Simplorer ignores
the autosave file and attempts to open the original file.
If the original file has zero length and the autosave file has nonzero length, Simplorer displays
a message and attempts to open the autosave file.
If both the original file and the autosave file have nonzero length, Simplorer displays an error

Working with Simplorer Projects3-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

message.
Warning

When you recover a projects autosave file you cannot recover any solutions data.
Recovering an autosave file means you will lose any solutions data that existed in
the original project file.

To recover project data in an autosave file:


1.

If your workstation or Simplorer has unexpectedly crashed, launch Simplorer from your desktop.

2.

On the File menu, click Open, and then select the original Project_Name.asmp project file for
which you want to recover its Project_Name.asmp.auto auto-save file.
The Crash Recovery window appears, giving you the option to open the original project file
or the autosave file.

3.

Select Open project using AUTOSAVE file to recover project data in the auto-save file, and
then click OK. Simplorer replaces the original project file with the data in the auto-save file.
Simplorer immediately overwrites the original project file data with the auto-save file data,
removing the results directory (solutions data) from the original project file as it overwrites to
the auto-save file.

Warning

If you choose to recover the autosave file, you cannot recover the original
project file that has been overwritten.
Recovering data in an auto-save file is not reversible.

Related Topics
Saving Project Data Automatically

3-64 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Archiving Projects
Use the File>Archive... command to bundle a project and any other files related to the project
that you want to include in an .asmpz file or .zip format archive. You can include notes about the
contents of the archive and specify whether to include results and solution files, or related external
files. The Archive command attempts to automatically detect the necessary files for linked projects
and automatically include them in the archive. For example, if a project linked to the main project
also has linked or associated files, you can add them.
Archive File Types
Internally, project archive files are .zip files, and are compatible with any program that can read .zip
files (e.g. WinZip, 7Zip). The naming convention is that project archive files will have an extension
that is unique for each product. The extension is generated by adding a 'z' to the project file extension (e.g. .hfssz, .asmpz). This extension will be displayed as the default when saving and restoring
archive files. Note that .zip files are also included as a possible filter in file selection dialogs.
File Relocation Considerations
In a project to be archived, external files can be located anywhere on the user's system. One of the
goals is for the restored project to be relatively self contained, and NOT to allow the restoration of
an archived project to haphazardly write files anywhere on the restoring user's system.
To achieve this, it is sometimes necessary to change the location of files in the archived project
such that the external files are now located in the project directory. At archive time, any external
files not located in the project directory are relocated to the restored_files subdirectory of the project directory in the archived project. Any external files located in the user library or system library
will be relocated to the personal library directory. Note that the project file that is written into the
archive will be updated to refer to the files at the new locations, and the original project file will
remain unaltered.
Archive Preview
The Archive command includes a preview feature that lets you review the contents of a planned
archive.

Working with Simplorer Projects3-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To archive the current project:


1.

Click File>Archive...
The Archive Options dialog opens.

Archive notes: you can specify notes that will be visible when previewing the archive. These
notes can be viewed from the preview dialog without actually restoring the archive.
External Files: selecting this checkbox will cause all external files to be included in the
archive. The External Files checkbox refers to any existing files associated with the project,
such as linked files, or files added through the Project>Insert Doumentation File command
or Project>Data Set command.
Results/solution files: selecting this checkbox will cause the entire results directory to be
included in the archive. This may greatly increase the size of the archive file.

3-66 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Clicking Additional Files... opens the Add Additional Files to Archive dialog.

Here, you can click Add... to open a file browser to locate any additional files (such as documentation files or datasets) you want to include in the archive. You can also select and then
Remove any files listed, and OK or Cancel any proposed changes.
2.

Select any optional items, and make any desired archive notes in the text field.

3.

When you have made your selections for optional items, you can select Preview Archive to
look at the archive contexts, and the locations where restoring from the archive would place
them.

Working with Simplorer Projects3-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Checking the Results/solution option if you want to archive those files. Below is a preview showing some included results files..

To read longer locations, you can drag the column headers to expand the columns. Use the
scroll bar to view longer lists.
Previewing an archive before creating the archive can be helpful in order to see exactly what
files will be included in an archive, as well as how those files are being relocated. Another purpose of previewing an archive is to view warnings and consider if any additional files need to
be added to the archive.
The preview dialog also displays the archive notes, creation date, and the number of included
files.
4.

When you are ready to create the archive, close the preview, and specify the format you want
to use, .asmpz or .zip, and specify the archive location and name. Click OK to create the
archive.

Related Topics
Restoring Archives

3-68 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Restoring Archives
To restore an existing archive created with File>Archive:
1.

Click File>Restore Archive


This displays an Archive to Restore browser window that lets you navigate your file system
for archive files of type .asmpz or .zip.

2.

After selecting a valid archive file, you can click View Archive to preview the contents.
The preview dialog shows the same warnings that were generated at archive time. These warnings may be useful to identify additional steps that are needed to update any files to refer to
files which had to be manually added to the archive.

3.

Click Open to display a Project File Restore Location browser and navigate to the place
where you want to restore the file.
You can edit the file name, and check options to Overwrite existing files and to Open project
after restoring.

4.

Click Save to restore the archived file. A dialog displays progress and results of the restoration
process.

A full log file is also generated which contains detailed information about the restore process.
The first line in the text window displays the location of the full log file. After the restore has
been completed, you can click View Full Log to display a detailed log of the restoration.
Working with Simplorer Projects3-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Archiving Projects

3-70 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Downloading Content from Servers


If your installation has access to a server location containing project archives or other files, you can
use File>Download From Server to access them.
For Archive files, click File>Download from Server>Project Archives...
This opens the Archive Libraries Access dialog.

Here you specify a User ID, Password, and Server address. You can then browse for and select the
files needed.
For File Libraries Access, click File>Download From Server>Other Files...
This opens the File Library Access dialog.

Here yous specify a User ID, Password, and Server address. You can then browse for and select the
files needed.

Working with Simplorer Projects3-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Renaming a Project
To rename an existing, active project:
1.

Select the project in the Project Tree.

2.

Right-click to display the short-cut menu.

3.

Select Rename.
This activates the text field for the project name.

4.

Type the new project name and press Enter.


The new project name appears in the directory and the project remains in the original location.

Deleting Projects
To delete a project:
1.

Select the project in the project tree.

2.

Click either Edit>Delete, or right click to display the short-cut menu and select Delete.
A dialog box displays asking you to confirm the deletion.

3.

Click OK to delete the files or Cancel to retain them.

3-72 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Removing Unused Definitions from a Project


When you use components, symbols, models, packages, materials, and scripts in a project design
their definitions are added to the project .asmp file, and are visible in the Definitions folder of the
project tree. These definitions remain in the project .asmp file across sessions even if you delete
every instance of their usage from the projects design(s).
Because the project version of a given definition takes precedence over all other instances of that
definition even a revalued definition in a newly exported PersonalLib library file unused definitions still present in a project can lead to unintended results if you do not delete them.
Note

1.

Typically, a component definition has a symbol definition associated with it. Some
components, such as VHDL-AMS components, also can have model and package
definitions associated with them. Because of these dependencies, you cannot remove a
symbol, model, or package definition until you have first removed the component
definition that uses them. Thus you may need to perform the following procedure several
times to completely remove a component definition and its associated definitions.

If you have removed every usage instance of a definition from a project, you can remove its
Definitions entry by clicking Remove Unused Definitions on the Project menu.
The Unused Definitions dialog box opens.

2.

Use the dialog box to select definitions to delete. You can select individual definitions using
the checkboxes next to each, or you can click Select All to choose all definitions in the list.

3.

When finished selecting definitions to delete, do one of the following:

Click Apply to remove the selected items while remaining in the dialog box, allowing you
to continue removing definitions.
Click OK to remove the selected items and exit the dialog box.

Working with Simplorer Projects3-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Datasets
Datasets are collections of plotted data points that can be extrapolated into an equation based on the
piecewise linear makeup of the plot. Each plot consists of straight line segments whose vertices
represent their end points. A curve is fitted to the segments of the plot and an expression is derived
from the curve that best fits the segmented plot. The created expression can then be used in piecewise linear intrinsic functions or as characteristic data for some component parameters.
Related Topics
Datasets Dialog Box
Adding Datasets
Importing Datasets
Editing Datasets
Cloning Datasets
Exporting Datasets
Removing Datasets
Using SheetScan

Datasets Dialog Box


The Simplorer Datasets dialog box provides a browsable listing of all datasets currently defined for
the project. A preview window displays a plot of the currently selected dataset. Controls allow you
to Add, Edit, Remove, and Clone datasets; to Import and Export characteristics data; and to
launch the SheetScan tool that you can use to extract data from graphics such as data sheets.
Add - Opens a blank Add Dataset window in which you can define a dataset by entering data coordinates directly, or by importing data from a file.
Edit - Opens the selected dataset in an Edit Dataset window for editing.
Remove - Removes the selected dataset from the project.
Clone - Copies the selected dataset to an editing window for modification. The original dataset
remains intact.
Import - Opens an Import Dataset window in which you can locate and import characteristics
data from several file types.
Export - Opens an Export Dataset window in which you can export the selected dataset to a tabdelimited file.
SheetScan Opens the SheetScan tool in which you can extract characteristics data from graphics
such as data sheets.

3-74 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Adding Datasets
Importing Datasets
Editing Datasets
Cloning Datasets
Exporting Datasets
Removing Datasets
Using SheetScan

Working with Simplorer Projects3-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Datasets
You can add a dataset to a project in any of three ways:

By adding data manually.


By importing data from an external file.
By extracting data from a graphic using the SheetScan tool.

Related Topics
Importing Datasets
Editing Datasets
Cloning Datasets

Adding Datasets Manually


1.

On the Project menu, click Datasets.

2.

Click Add.

The Datasets dialog box appears.


The Add Dataset dialog box appears.
3.

A default name for the dataset appears in the Name text box. Rename the dataset if desired.

4.

To enter data manually, type the x- and y-coordinates for the first data point in the first row of
the Coordinates panel. Type the x- and y-coordinates for the remaining data points in the dataset using the same method.

Note

After you type a points coordinates and move to the next row, the point is added to
the preview plot, adjusting the plot view with each newly entered point.
Buttons beneath the coordinates table allow you to Add Row Above and Add Row
Below the currently selected row, to Delete Rows, and to Append Rows to the end of
the table.
The x-coordinate values for successive data points must increase within ten
significant digits.
You can also use the Import Dataset button to import data coordinates. Doing so
will overwrite any existing values in the Coordinates panel.

5.

Optionally, click Swap X-Y Data to exchange all x- and y-coordinate values.

6.

Optionally, click Export Dataset to open a file browser in which you can export the dataset to
a tab-delimited file.

7.

When you are finished entering the data point coordinates, click OK.
The dataset plot is extrapolated into an expression that can be used in parametric analyses or
assigned to a property value.

3-76 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Importing Datasets
Editing Datasets
Cloning Datasets
Exporting Datasets

Dataset Preview Plot Properties


1.

You can change the properties of various elements of the preview plot such as the major and
minor grid colors, title font, and trace line style by double-clicking the element to open its
properties dialog box.

2.

Depending on the type of element selected, tabs allow you to set the Color, Font, Line Style,
Scaling, Title, and Legend properties.

3.

Right-clicking inside the plot window opens a context menu containing commands to add and
delete data markers and labels, change trace type, and print the plot.

4.

Click Save as Defaults to make the changes the default values.

5.

Click OK to apply the changes only while the current dataset plot window is open. Click Save
as Defaults to keep the changes.

Importing Datasets
To import data for a dataset from a file:
1.

On the Project menu, click Datasets.


The Datasets dialog box appears.

2.

Click the Import button.

3.

In the file browser window that appears, choose to import data from the following file types:
.mdx, .mda

Simplorer characteristic format

.mdb

Microsoft Access

.xls

Microsoft Excel (version 3 through version 2003).

.txt

text file

.csv

Comma-separated value

.out

Maxwell SPICE (read-only - reads data inside the KW_DATA section)

.cfg

Comtrade (IEEE Std C37-111-1999)

.dat

TEK Oscilloscope

.tab

tab delimited data files

a.

If you select a file type other than .xls, .txt or .csv the data is imported immediately into
Working with Simplorer Projects3-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the Add Dataset dialog box.


b.

Note

Selecting a .xls file containing multiple sheets opens a Table Properties dialog where you
can choose the desired sheet from a drop-down list. Otherwise, selecting a .xls file imports
the data immediately into the Add Dataset dialog box.

c.

Only the first two columns of data are imported, the left-most column containing the
X-coordinate values. The x-coordinate values for successive data points must
increase within ten significant digits. Non-numeric entries are assigned a value of
zero.
The first row of data is assumed to contain column headings and is ignored.

Selecting a .txt or .csv file opens an Import dialog box in which you can specify how to
settings for reading the data in the file for import. You can choose the Separator(s) and
Decimal Symbol, as well as the line at which to begin the import. The dialog box shows
both the original text and the text as it would appear when imported based on the current
import settings.
When satisfied with the import settings, click OK to import the data.

4.

After importing the data, you can modify it manually (see Editing Datasets).

Note

You can also import a dataset in the Add Dataset and Edit Dataset windows.

Related Topics
Adding Datasets
Editing Datasets
Cloning Datasets
Exporting Datasets
Removing Datasets
Using SheetScan

Editing Datasets
1.

On the Project menu, click Datasets.


The Datasets dialog box appears.

2.

Click the dataset name you want to modify, and then click Edit.
The Edit Dataset dialog box appears.

3.

Optionally, type a name other than the current name for the dataset in the Name text box.

4.

Edit values for existing data points, adding new datapoints as desired.
Use the buttons beneath the coordinates table to add rows above or below the currently
selected row, to delete rows, and to append rows to the end of the table.

3-78 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Optionally, click Swap X-Y Data to exchange all x- and y-coordinate values.
Note

The x-coordinate values for successive data points must increase within ten significant
digits.

The plot is adjusted to reflect the revised data points.


5.

When you are finished editing, click OK to save the changes and return to the Datasets dialog
box.

6.

When finished editing datasets, click Done.

Related Topics
Adding Datasets
Importing Datasets
Cloning Datasets
Exporting Datasets
Removing Datasets
Using SheetScan

Cloning Datasets
Cloning a dataset generates a copy of an existing dataset. The clone can then be modified as
needed.
1.

On the Project menu, click Datasets.


The Datasets dialog box appears.

2.

Click the dataset name you want to clone, and then click Clone.
The Clone Dataset dialog box appears.

3.

Modify the dataset as needed.

Related Topics
Adding Datasets
Importing Datasets
Editing Datasets
Exporting Datasets
Removing Datasets
Using SheetScan

Working with Simplorer Projects3-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Exporting Datasets
1.

On the Project menu, click Datasets.


The Datasets dialog box appears.

2.

Click the Export button.


The Export Dataset dialog box appears.

3.

Browse to the location you want to store the exported dataset.

4.

Name the file (exported datasets are tab-delimited and are given a .tab extension), and click
Save to complete the export operation.

Note

You can also export a dataset in the Add Dataset and Edit Dataset windows.

Related Topics
Adding Datasets
Importing Datasets
Editing Datasets
Cloning Datasets
Removing Datasets
Using SheetScan

Removing Datasets
1.

On the Project menu, click Datasets.


The Datasets dialog box appears.

2.

Click the dataset name you want to remove, and then click Remove.

3.

When finished removing datasets, click Done.

Related Topics
Adding Datasets
Importing Datasets
Editing Datasets
Cloning Datasets
Exporting Datasets
Using SheetScan

3-80 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using SheetScan
SheetScan allows you to extract characteristics data from graphics such as data sheets which have
been scanned and saved in any of the following formats: .bmp, .dib, .jpg, .gif, .tif, .tga, .pcx, or .pdf.
In addition to importing graphic files directly, SheetScan also can be used to browse the Internet for
datasheet information and transfer a snapshot of the web page to the SheetScan editor where you
can map axes on the image as an overlay. You can then manually add datapoints to approximate the
characteristic curve(s) on the datasheet.The sampled data can then be converted to Simplorer format, and the extracted data exported to a Simplorer dataset or saved to a file.
The process for creating a dataset using SheetScan involves four basic operations:

Loading a datasheet into SheetScan.


Defining a coordinate system for the imported datasheet picture.
Defining a characteristic curve using the datasheet picture as reference.
Exporting the characteristic curve data to a file or to a dataset.

Related Topics
SheetScan Toolbars
SheetScan Settings
The Curve Values Window
Loading a Datasheet into SheetScan
Deleting a Datasheet Picture
Defining a SheetScan Coordinate System
Defining a Characteristic Curve in SheetScan

SheetScan Toolbars
Three toolbars are available in SheetScan. They provide convenient access to commands that are
also found in the SheetScan main menu. Toolbars can be toggled on and off via the View>Toolbar
sub-menu.

The Standard toolbar includes access to basic Windows functions such as file Open and Save,
Cut, Copy, Paste, Print, and Help.

The Curve toolbar contains tools for working with curve values. A pull-down menu allows
you to select the curve on which to work. Other tools allow you to: change curve settings,
change the curves coordinate system, and to select, append, delete, and insert points on the
active curve

The Zoom toolbar provides tools for scaling the current view, zooming in and out, resetting the
Working with Simplorer Projects3-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

zoom to 100 percent, and toggling the display of the curves grid on and off.

SheetScan Settings
Default settings are made by choosing Options>Settings. The Settings dialog box contains three
tabs:

The Document tab allows you to set the Width and Height of the sheet created when a picture
imported into the SheetScan editor. You can either enter the dimensions manually, or allow
SheetScan to adapt the dimensions to the picture being loaded.
The Axis tab allows you to set the default Name, Unit of measure, Scaling factor, and Offset
value for the X and Y axes. Checking Monotonicity in X automatically prevents you from
adding consecutive data points whose X-values are not increasing.
The Representation tab lets you choose whether to connect points on the characteristic curve
and to choose the color of the connecting line. You can also choose to display markers for the
point chosen when defining a curve, to set the color of displayed markers, and to set the color
of markers when they are selected.
Note

You can also override the default settings for individual curves (see Defining a
Characteristic Curve in SheetScan).

Related Topics
Loading a Datasheet Picture into SheetScan
Defining a SheetScan Coordinate System
Defining a Characteristic Curve in SheetScan

The Curve Values Window


The View>Curve Values menu item toggles the display of a dock-able Curve Values window that
displays the data points you place when creating a characteristic curve. Data for each curve on a
sheet is displayed on its own tab. You can manually change the X and Y values in the table to finetune the characteristic curve.
Related Topics
Loading a Datasheet Picture into SheetScan
Defining a SheetScan Coordinate System
Defining a Characteristic Curve in SheetScan

Loading a Datasheet Picture into SheetScan


By default, SheetScan opens a new, blank datasheet editing window. There are two ways to
load a datasheet picture into the editor:
3-82 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Loading a Datasheet Picture Directly


1.

Browse directly to the datasheet picture file by choosing Picture>Load picture to open a
file browser window.

2.

When you have located the desired file, click OK to load the image into the SheetScan
editor. Supported file types include: .bmp, .dib, .jpg, .gif, .tif, .tga, .pcx, .pdf, .htm, and
.html.

Loading a Datasheet Picture Using the HtmlViewer


1.

Choose Picture>Internet to open the Sheetscan HtmlViewer.

2.

Browse the Internet for the desired datasheet.

3.

Resize the HtmlViewer window and adjust its scrollbars until the desired portion of the
datasheet is in view

4.

Click the To SheetScan button


to copy the visible contents of the HtmlViewer
window into the SheetScan editor window.

Note

To hide the datasheet picture, choose Picture on the View menu.

Related Topics
Loading a Datasheet Picture into SheetScan
Defining a SheetScan Coordinate System
Defining a Characteristic Curve in SheetScan

Deleting a Datasheet Picture


To delete a Datasheet picture, choose Picture>Delete picture.
Warning

You cannot undo this action. If you delete a picture from the SheetScan editor, you
must reload it from the source file or Internet web page.

Defining a SheetScan Coordinate System


To define the coordinate system:
1.
2.

Select Coordinate System>New to open the Coordinate System dialog box.


Click the Point1 button.
The Coordinate System dialog box disappears temporarily and the cursor changes to a crosshairs.

3.

Position the cursor over a corner of the datasheet graph and click the left mouse button.
The Coordinate System dialog box reappears displaying the X- and Y-Coordinate values for
the chosen point.

4.

Enter the X- and Y-Values for this point. Typically, these values will correspond to the values
Working with Simplorer Projects3-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

taken from the axis scale values on the datasheet.


5.

Select the desired scaling (linear, logarithmic, or decibel) for both the X and Y axes.

6.

Repeat steps 2 through 4 for the Point2 and Point3 buttons.

7.

Click OK. The grid is placed in the graphic.

Note

You can edit the grid after placement either by selecting Coordinate
System>Properties from the SheetScan main menu bar, by clicking the coordinate
system icon
on the Curve toolbar, or by right-clicking in the SheetScan editing
window and selecting Coordinate system from the context menu.
You can hide the grid by selecting Grid on the View menu, or by clicking the grid
icon
on the Curve toolbar.

Defining a Characteristic Curve in SheetScan


Once you have loaded a datasheet picture in the editor and have defined a coordinate system, you
can define one or more characteristic curves as follows:
1.

Choose Curve>New.
The Curve Settings dialog box opens.

2.
3.

Define the properties of the curve. Refer to SheetScan Settings for a detailed explanation of the
settings you can make on the Axis and Representation tabs.
When finished defining curve properties, click OK.
The cursor changes to cross hairs.

4.

Click the points of the characteristic which you want to capture for the dataset. The points are
connected automatically.

5.

Repeat steps 1 through 4 for each additional characteristic curve you wish to define.

Selecting a SheetScan Characteristic Curve


1.

To select a SheetScan curve for editing, do one of the following:


a.

Select Curve>Select on the SheetScan menu bar.

b.

Right-click in the editor window and choose Select Curve from the context menu.

The Select Curve dialog box opens.


2.

Click the desired curve name to highlight it, then click OK to select the curve.

Note

If the Curve Values window is open, you can also click the tab of the desired curve to
select it.

3-84 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Changing Characteristic Curve Settings


You can changes curve settings for a characteristic curve as follows:
1.

Select the curve whose settings you wish to change.

1.

Choose Curve>Change Settings.


The Curve Settings dialog box opens.

2.

Change the properties of the curve as desired. Refer to SheetScan Settings for a detailed explanation of the settings you can make on the Axis and Representation tabs.

3.

When finished changing curve properties, click OK.

4.

Repeat steps 1 through 3 for each additional characteristic curve you wish to change.

Editing a SheetScan Characteristic Curve


The following SheetScan curve editing functions are available either via the main Curve menu, the
Curve toolbar, or the editor window context menu:

Select points click on a point to select it. Ctrl+click selects multiple points.
Append points click to add data points to the end of a curve.
Delete points click a data point to remove it from the curve.
Insert points click to insert new data points between existing data points.

Deleting a SheetScan Characteristic Curve


To delete a characteristic curve and all of its associated data points:
1.

Select the desired curve.

2.

Select Curve>Delete.

Warning

You cannot undo this action. If you delete a curve and its data points from the
SheetScan editor, you must reconstruct it manually.

Checking for Monotonicity in X


Simplorer requires that characteristics be monotonically increasing along the X-axis. In other
words, successive data points must have increasing X-values, while Y-values may both increase
and decrease. You can check for monotonicity in X as follows:
1.

Select Curve>Check Monotonicity.


If the characteristic curve is monotonically increasing in X-value, the check completes without

Working with Simplorer Projects3-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

notice. Typical examples of curves that meet monotonicity criteria are shown below.

2.

If the characteristic curve is not monotonically increasing in X-value, a dialog box displays
informing you that errors were found. Click Yes to have SheetScan automatically correct the
errors.

Importing Characteristic Data into SheetScan


SheetScan supports data import from the following file types: Simplorer Characteristic (*.mdx,
*.mda), Microsoft Access (*.mdb), Microsoft Excel (*.xls), text (*.txt), comma separated value
(*.csv), Spice (*.out), Comtrade (*.cfg), and TEK Oscilloscope (*.dat).
1.

To import characteristic curve data into SheetScan, select File>Import.

2.

In the file Open dialog box, select the desired data file and click OK.
A Curve Settings dialog box opens.

3.

Change Curve Settings as needed and click OK to complete the data import.
The new characteristic curve is added to the current SheetScan sheet.

Exporting SheetScan Data


You can export SheetScan data directly to a Dataset, or to any of the following data file formats:
Simplorer Characteristic (*.mdx, *.mda), Microsoft Access (*.mdb), Microsoft Excel (*.xls), text
(*.txt), comma separated value (*.csv), Spice (*.out), Comtrade (*.cfg), and TEK Oscilloscope
(*.dat).
1.

To export the curve, choose File>Export.

2.

In the Save dialog box, choose Current Curve (default) to export current curve data, or
Curves if you wish to choose the curve(s) whose data you wish to export. Choosing Curves
reveals a list box showing all of the curves available for export. Check the Export box for the
desired curves.

3.

Choose Equidistant if you want to set the Start and Stop X-Channel values and a Sample
Rate or Number of samples for the exported dataset(s),

4.

For Curves, choose Multidimensional Table if you wish to enter a Y-Value for each curve.

3-86 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Data output using the Multidimensional Table option can only be exported to a file.
5.

Choose Dataset to export curve data directly to the projects dataset file. Or, choose File to
export curve data to any of the file formats listed above.

Related Topics
Adding Datasets
Importing Datasets
Editing Datasets
Cloning Datasets
Exporting Datasets
Removing Datasets

Working with Simplorer Projects3-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Undoing Commands
Use the Undo command on the Edit menu to cancel, or undo, the last action you performed on the
active project or design. This is useful for undoing unintended commands related to project management, model creation, and post-processing.
Note

1.

In the Project Manager window, do one of the following:

2.

You cannot undo an analysis that youve performed on a model using the
Simplorer Circuit>Analyze command.

To undo the last action you performed on the active project, such as inserting a design or
adding project variables, click the project icon.
To undo the last action you performed on the active design, such as drawing an object or
deleting a report, click the design icon.

On the Edit menu, click Undo, or click the Undo button on the toolbar.
The most recent action is now undone.

Note

When you save a project, Simplorer always clears the entire undo/redo history for the
project and its designs.

Related Topics
Redoing Commands

3-88 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Redoing Commands
Use the Redo command on the Edit menu to reapply, or redo, the last action that was canceled, or
undone. You can redo a canceled action related to project management, model creation, and postprocessing.
1.

In the Project Manager window, do one of the following:

2.

To redo the last action you canceled on the active project, such as inserting a design or
adding project variables, click the project icon.
To redo the last action you canceled on the active design, such as drawing an object or
deleting a field overlay plot, click the design icon.

On the Edit menu, click Redo, or click the Redo button on the toolbar.
The most recent canceled action is now reapplied.

Note

When you save a project, Simplorer always clears the entire undo/redo history for the
project and its designs.

Related Topics
Undoing Commands

Working with Simplorer Projects3-89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Inserting a Documentation File


You may want to add a documentation file to the project tree so that you can readily locate it for
reference. For example, you may have documentation that describes the details of your project; or
perhaps a presentation explaining the project.
To include documentation files with the project, do the following:
1.

Click Project>Insert Documentation File.


This opens a file browser dialog that lets you navigate your file system.

2.

Select the desired file and click OK.


The documentation file is added to the project tree.

Note

File types other than documents including executable files also can be added to the
project tree using this command.

3-90 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Importing Simulation Models


You can import existing simulation models into a Simplorer project using the Tools>Import Simulation Models command. The following simulation model file types are supported:

SML Models (*.sml)


C-Model Dlls (*.dll)
VHDL Models (*.vhd)
VHDL Encrypted Models (*.vem)
SPICE Subcircuits (*.cir, *.lib, *.spc, *.sp)
Modelica Models (*.mo)

To import SML, VHDL (encrypted and unencrypted), SPICE, Modelica, and C models into a Simplorer project do the following:
1.

Select Tools>Import Simulation Models. A file selection dialog appears in which you can
browse to the file containing the model(s) you want to import.

2.

When you have located the desired model file, click OK.

Note

Note

The location of imported CModel dll files is set in the Simplorer Options dialog
box.
When importing SPICE models that reference external files, Simplorer checks for
the existence of the referenced files first in the current path, then in the syslib,
userlib, and personallib directories. If the files cannot be located, the message
manager prompts the user to copy the files to either the userlib or personallib
directory. Failure to do this will result in compilation errors when simulations that
use the model are attempted.

a.

When importing C-Models, if the selected dll file already exists in the personal or user
libraries, a dialog box appears asking if you want to replace the existing dll with the one
you are importing. Click No to terminate the import process, or Yes to continue.

b.

When importing C-Models, if one or more of the imported models contains an illegal
property name, a dialog box displays advising you of this. These problems must be manually corrected after import. The Message Manager window also displays messages identifying the problem(s), and provides suggested ways to correct them after import.
Click No to terminate the import process, or Yes to continue.

The Import Components dialog box is displayed.


Note

3.

The Update Project command under the SML, C-Model, SPICE, Modelica, and
VHDL-AMS Model Editor menus also opens the Import Components dialog box.
The Tools>Edit External Model Information command also opens the Import
Components dialog box displaying only the Models tab.

The Models tab lists the names of models that can be imported, provides a checkbox to update
Working with Simplorer Projects3-91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the project definitions, and a checkbox that allows existing models of the same names to be
overridden. The Update Project Definitions box is checked (selected) by default. A table lists
the names of models that will be imported. If a model name already exists, the Override
checkbox (checked by default) allows you to override the current model definition.
4.

The Component Import tab lists the models available for import by name, provides a checkbox for selecting whether or not to create a component from the model, a button for choosing a
symbol for the new component from the symbol library, a checkbox that allows you to choose
whether or not to show pin descriptions, and a pin count for the component. Initially, the pin
count reflects only the number of conservative pins in each model. The pin count changes to
reflect choices made on the Non-Conservative Pins tab. On the Component Import tab:
a.

Note

Ensure that the Create Component box next to each model for which you want to create a
component is checked (selected). By default, these checkboxes should already be selected.
The Override checkbox enables the imported component to override an existing component of the same name.
If you choose not to create a component, the source files will simply be compiled no
component is created.

b.

Ensure that the Show Pin Description box is checked (selected) for each model for which
you want the pin descriptions to be visible. By default, these checkboxes should already
be selected.

c.

Choose either Match number of pins (default) or Match pin names to filter the list of
symbols from which you can select when you click the button in the Symbol field.
Match number of pins filters the list of symbols to those having the same number of pins
shown in the Pins field. Match pin names filters the list of symbols to those whose pin
names match the imported models pin names.

5.

On the SDB tab, select the quantities and signals you want to set as default outputs for each
created component.

6.

On the Non-Conservative Pins tab, select the non-conservative quantities and signals for
which you want pins included on the new component symbol. The number of component pins
on the Component Import tab reflects your choices.

7.

The Un-Compiled tab is present only if one or more of the component(s) you are importing
cannot be compiled. Each un-compiled component is listed along with an Edit checkbox which
is checked by default. Checked entries will be opened in the appropriate model editor when
you OK the Import Components dialog box. Un-compiled models will not be imported, nor
will components be created for them.

Note

8.

The Un-Compiled tab will also display for un-compiled components when Editing an
External Model via the Tools>Edit External Model Information command.

On the Component Import tab, click the Symbol button to open the symbol Select Definition
dialog box where you can browse and select a graphic symbol for the new component from the

3-92 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

filtered list.
Note
9.

You can modify the symbol after import using the Symbol Editor.

Click OK to create a component for each imported model.


a.

If any of the components cannot be updated automatically, the Component-Model(s)


Configuration dialog box displays a list of these components.

b.

Click either OK or the window close x box to acknowledge the changes.

The new component(s) and model(s) are added to the Components and Models folders within
the current projects Definitions folder in the Project Manager.
The new model is also added to the list of Project Components on the Project Manager
Components tab where it can be placed onto a schematic for simulation.

Working with Simplorer Projects3-93

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Exporting a VHDL-AMS Model Description


The standardization of the VHDL-AMS language ensures that models developed in VHDL-AMS
are exchangeable among simulators from different vendors. The models you create using VHDLAMS in Simplorer can be exported to ASCII files for simulation in other VHDL-AMS tools. Simplorer allows you to export one or more VHDL-AMS models from your design, and also to export
entire schematic sheets of VHDL-AMS models. The export of models from the library is discussed
in Adding VHDL-AMS Models to a Library. Exporting sheets to VHDL-AMS netlists is demonstrated in this case study example.
Schematics can be built with VHDL-AMS models from the model libraries. These schematics can
be exported to pure VHDL-AMS netlists that can be used in other simulation tools. Sheets that
contain not only VHDL-AMS models but also non-VHDL-AMS models (internal/SML, and C) can
be exported to a VHDL-AMS netlist. In this case, the non-VHDL-AMS models are exported as foreign models, compliant with the IEEE 1076.1 standard.
Note

Netlists containing non-VHDL-AMS models can only be simulated in Simplorer and in


most cases cannot be used with other VHDL-AMS simulation tools. To use these netlists
in another simulator, the non-VHDL-AMS models must be replaced manually in the
code by equivalent foreign models that the target simulator can use.

To export a design to a VHDL-AMS model:


1.

On the Simplorer Circuit menu, click Export to VHDL-AMS.


The Export VHDL-AMS Model Description dialog box appears.

2.

Enter the name of the VHDL-AMS file that will contain the exported code of the top-level entity. Click
on
to browse to a new location if desired. The exported file will be given the .vhd extension.

3.

A suggested Name of Top Level Entity is shown. The name in this field specifies the top-level entity
name in the exported VHDL-AMS netlist. The top-level entity instantiates the components on the sheet
and provides the interconnection information between the components. The suggested name can be modified if necessary, but the name should conform to VHDL-AMS identifier syntax requirements (see
VHDL-AMS Language Fundamentals for more details). If the name does not conform to the VHDLAMS identifier syntax requirements, the name will be highlighted for correction.

In addition to the top-level entity, you can also export the VHDL-AMS code of the individual
library components that are used in the sheet.
4.

To export individual components, choose either of the following options from the Component
panel:

Export all components exports the source code of all VHDL-AMS models on the schematic.
Export only user-defined components exports the source code of only those models
that are not available in the pre-installed Simplorer libraries.

When either of these options is chosen, additional options in the Export Components to panel
3-94 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

are enabled. These options allow the user to specify the target location of the source code
belonging to the individual components on the sheet.

Same file as top level entity generates one VHDL-AMS file that contains the source
code of all the models as well as the description of the top-level entity.
Single file separate from top level entity generates the source code of the models in a
file called file_name_Components.vhd where file_name refers to the name of the file provided earlier.
Individual files separate from top level entity creates several VHDL-AMS files separate from the file containing the top-level netlist. Each of these files contains the VHDLAMS description of a single model used in the sheet. The files name is derived from the
name of the entity that the file contains.

A sheet can contain models that are not developed in VHDL-AMS, but are instead developed as
internal/SML/C models. These models can also be exported to a netlist as foreign models with a
VHDL-AMS wrapper.
Note
5.

Foreign models generated by Simplorer can only be simulated in Simplorer.

To allow VHDL-AMS wrappers to be created around non-VHDL-AMS models, select the


Export SML components check box.

Note

6.

If the sheet contains non-VHDL-AMS models and this check box is not selected,
then the export operation will not be completed.
For pure VHDL-AMS compatibility, do not select this option.

Click OK to complete the export.

Creating a Model and Component from the Current Schematic


Simplorer provides you with a method for creating an SML model, component, and symbol from
the current schematic. The resulting model, component, and symbol are added to the respective
folders in the current projects Definitions folder. You can also choose to export the new model to a
library.

Working with Simplorer Projects3-95

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To create a model, component, and symbol from the current schematic, select Create Model and
Component from Current Schematic on the Simplorer Circuit menu.

Note

The Create model and component from schematic dialog box allows you to specify a
New component name. A default name based on the current design name is provided
automatically. If you choose to enter another name, it must conform to Simplorers naming conventions, and also be unique for the current project. Message reminders display if
the naming criteria are not met.
If you check Export to library, when you OK the dialog to create the model, component,
and symbol, the Export to user library dialog box displays in which you specify the .aclb
file where the new component will be saved. When you Save the library, the Export
Hierarchy dialog displays listing the component and dependent object definitions for the
exported component (symbol and model). Refer to Exporting Hierarchical Components
for detailed information on this dialog.) OK this dialog to save the component, model, and
symbol in the chosen libraries.
The model, component, and symbol will be added to the current project regardless of
whether Export to library is checked or not.
Checking Add symbol pins for quantities (nonconservative) enables the Make nonconservative pins visible by default checkbox and causes pins to be added to the symbol for
nonconservative interface ports.
Checking Make nonconservative pins visible by default causes the pins added above to
be visible. Leaving the box unchecked will make them hidden initially.

Printing
The printing commands enable you to print the contents of the active window in the design area.

Click File>Page Setup to set up formatting to print the active window in the Design Area. The
setup dialog box includes formatting options such as paper size, orientation, print margins,
borders, and labels that are specific to the editor (Schematic, Netlist, etc.) in the active window. The example below shows the Page Setup dialog box for all Simplorer text editors

3-96 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

(Netlist, SML, SPICE, Modelica, VHDL-AMS, Script, Package, C-Model).

See Printing a Schematic for additional information on Page Setup for the Schematic Editor.

When using Sheetscan, click File>Printer Setup to open a standard Windows Print Setup
dialog box set up the printer to print the active SheetScan document.
Click File>Print Preview to display a preview of the print job.
Click File>Print to print the active window in the Design Area. The dialog box may include
formatting options such as borders and labels that are specific to the editor (Schematic, Symbol, Netlist, etc.) in the active window.
See Printing a Schematic for additional information on printing from the Schematic Editor.

Working with Simplorer Projects3-97

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding and Saving Project Notes


You can save notes about a project, such as its creation date and a description of the device being
modeled. This is useful for keeping a running log about the project.
To add notes to a project:
1.

On the Simplorer Circuit menu, click Edit Notes.

2.

Click in the window and type your notes.

3.

Click OK to save the notes with the current project.

The Design Notes window appears.

A Notes icon appears in the project tree.


To edit existing project notes:

Double-click the Notes icon in the project tree.


The Design Notes window appears, in which you can edit the projects notes.

3-98 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Event Callbacks
Operations you perform in Simplorer are called events and can include operations such as placing a component or running a simulation. Event Callbacks allow you to define custom JavaScript
and VBScript routines that will run automatically after a triggering event in Simplorer is detected.
After configuring callback scripts, you can save the script settings to the registry and then:

Load callback script settings into any project.


Set an option to load settings into all new projects that you create.

To define an event-callback script, or to access a previously-defined callback script:


1.

Select Project > Event Callbacks to open the Event Callbacks dialog.

The Description column lists the type of event that will trigger the invocation of the corresponding script(s) listed in the Callback column. When you define an Event Callback script,
you specify one or more scripts that will be run after a particular Simplorer event is detected.
2.

If no script name appears in the Callback column, click the appropriate Set script button to

Working with Simplorer Projects3-99

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

define a new script. The Choose Scripts dialog opens and is unpopulated.

The Choose Scripts dialog options allow you to control the following:
Add Scripts opens the Library Editor Script Browser in which you can select
scripts you wish to add to the list of available callback scripts.
Clear Selected clears the selected scripts from the control grid at left.
Clear All clears all scripts from the control grid at left.
OK closes the dialog and implements your changes. The names of the callback
scripts in the list become the button name in the Callback column in the Callback
Events dialog.
Cancel closes the dialog and cancels your changes.
When the Scripts column is populated, you can reorder the listed scripts by dragging them up and down in the grid. You may also select multiple scripts in the grid
and then Add Scripts or Clear Selected.
3.

To modify the list of scripts to be applied to a Callback Event, click the desired Callback button to open the Choose Scripts dialog in which you can make the desired changes.

4.

After defining callback script(s), the Default Callbacks section at the bottom left of the Event

3-100 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Callbacks dialog allows you to control the following:

Save saves all of the current Event Callback script settings.


Load loads the saved settings. Note that any current settings will be lost. As each script name
is loaded, a check is done to see if that script is accessible. If it is not accessible, the script setting for that event is cleared and a warning message is displayed in the Message Manager window.
New projects use defaults ensures that each time you choose File>New, and each time you
launch Simplorer and a new project is automatically created, the default Event Callback script
settings will be loaded and applied to the new project. Each script name setting will be used to
load the corresponding script into the project. If a particular script is not found, a warning message will be displayed in the Message Manager window. If this occurs, you should check to
ensure that the library containing the script is configured before creating a new project.
5.

When you have finished defining one or more callback scripts, click OK in the Event Callbacks dialog to close the window and implement your changes. Or click Cancel to cancel your
changes.

6.

The callback script(s) you have defined will now be invoked whenever Simplorer detects the
occurrence of the associated event(s). For more information refer to Event Callback Scripting.

Working with Simplorer Projects3-101

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3-102 Working with Simplorer Projects

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Material Editor


A material is a set of information that defines the physical properties of a substance used as the
physical foundation of a component model such as a diode. Material definitions are stored in library
files with an extension of .amat
These Material Editor topics are available:
Editing an Existing Material
Creating a New Material
The View/Edit Material Dialog Box

Editing an Existing Material


1.

To edit an existing material, display its properties in the View/Edit Material dialog box by
doing either of the following:
a.

Open the Edit Libraries dialog box, select the Materials tab, search for and select the
material you want to edit, and then do either of the following:

b.

Double-click its name.


Click View/Edit Materials.

In the Definitions/Materials subfolder in the Project window tree for the project that
contains the material you want to edit, locate the icon for the material you want to edit,
and then do either of the following:

Double-click it.
Right-click it, and then click View/Edit Materials.

2.

Edit the material properties in the View/Edit Material Dialog Box.

3.

When finished editing materials, click OK to close the Edit Libraries dialog box.

Creating a New Material


1.

To create a new material, do either of the following:


a.

Open the Edit Libraries dialog box, select the Materials tab, and then click Add Material.
The View/Edit Material dialog box opens.

b.

Open the Edit Libraries dialog box, select the Materials tab, locate and select an existing
material definition on which you would like to base your new definition, and click Clone
Material(s).
The selected definition is copied under a new name, and the View/Edit Material dialog
box opens.

2.

Set the values for the new material properties in the View/Edit Material Dialog Box.

3.

When finished, click OK to close the Edit Libraries dialog box.

3-103

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The View/Edit Material Dialog Box


The View/Edit Material dialog box displays and sets values for the properties of a material.

The View/Edit Material for panel allows you to select whether the material properties are
being edited for the active design, a particular product, or for all products. The selection chosen controls the set of properties that are displayed in the material properties list.
Selecting All Products also enables the Thermal Modifier checkbox.

To specify or change the material name, click in the Material Name box, and then type the
desired name.
Click Reset to restore any property values changed during an editing session to the values
present at the beginning of the session.
Click Cancel to close this dialog box without committing changes made in it, if any.
Click OK to commit changes made in this dialog box and close it.
Note

If you would like the changes you have made in a material to be available for use in other
projects, you must export the material to a library as described in the Edit Materials
Libraries dialog box topic.

Properties of the Material List


The material properties list orders properties by name, and shows the type, value, unit, and (optionally) the thermal modifier used for each property.

Name Displays the property name. Property names are not editable.
Type Displays and sets the property type (Simple [the default] or Anisotropic). To change a
properties Type setting, click in the Type cell and select the desired type. Some property types
are not editable.
Value Displays and sets the property value. To change a property value, click the value you
want to change, and then type a value or parameter name.
Units Displays and, where applicable, sets the unit that applies to the Value entry. (For
example, the unit of magnetic saturation can be set to Gauss, uGauss, Tesla, or uTesla.) To
change a unit, click it, and then select the desired unit.
Thermal Modifier Optional field enabled by checking the Thermal Modifier checkbox.
Displays and sets a thermal modifier for the associated material property in effect making the
property temperature-dependent. To set or change a thermal modifier, click the value you want
to change and choose either None or Edit.
Choosing Edit opens the Specify Thermal Quadratic Parameters dialog box in which you
can modify the parameters that determine the thermal modifier value.

Specifying Thermal Quadratic Parameters


This dialog box allows you to set parameters (coefficients) that determine the value of a material
propertys thermal modifier used to make the property temperature-dependent. Two tabs provide
for specifying both basic and advanced coefficients.
3-104

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Basic Coefficient Set tab Used to set a reference temperature and unit of measure, and the
values of the coefficients of the first- and second-order terms of the quadratic formula that controls the thermal modifier value.
Advanced Coefficient Set tab Here you can set the upper and lower temperature limits
within which the quadratic formula is valid. You can also manually override the (default) automatic calculation of thermal modifier values to be used for temperatures outside of the upper
and lower temperature limits.

Material Properties
The following are the materiel properties that can be displayed and modified. Which are displayed
depends on the selection made in the View/Edit for panel.
Note

The values of material properties may be parameterized.

Material Name Sets the material name. To specify or change the name, click in the box, and
then type the desired name.
Relative Permittivity Sets the material relative permittivity. To specify or change the value,
click in the box, and then type the desired value.
Bulk Conductivity Sets the material bulk conductivity. To specify or change the value, click
in the box, and then type the desired value.
Dielectric Loss Tangent Sets the material dielectric loss tangent. To specify or change the
value, click in the box, and then type the desired value.
Magnetic Loss Tangent Sets the material magnetic loss tangent. To specify or change the
value, click in the box, and then type the desired value.
Electric Coercivity Sets the material electric coercivity. As this is a vector quantity, settings
are provided for the vector magnitude, and for the X, Y, and Z components of the vector. To
specify or change a value, click in the box, and then type the desired value.
Magnetic Coercivity Sets the material magnetic coercivity. As this is a vector quantity, settings are provided for the vector magnitude and units, and for the X, Y, and Z components of
the vector. To specify or change a value, click in the box, and then type the desired value. To
change the units, click in the box and select the desired unit from the list.
Thermal Conductivity Sets the material thermal conductivity. To specify or change the
value, click in the box, and then type the desired value.
Magnetic Saturation Sets the material magnetic saturation. To specify or change the value,
click in the box, and then type the desired value. To change the units, click in the box and
select the desired unit from the list.
Lande G Factor Sets the material Lande G factor. To specify or change the value, click in
the box, and then type the desired value.
Delta H Sets the material delta H and associated measured frequency. To specify or change a
value, click in the box, and then type the desired value. To change units, click in the box and
select the desired unit from the list.
3-105

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Core Loss Type Sets the core loss type. To specify or change the value, click in the box and
select the desired value from the list.
Mass Density Sets the mass density of the material. To specify or change a value, click in
the box, and then type the desired value.
Composition Sets the composition of the material. To specify or change the value, click in
the box and select the desired value from the list.
Specific Heat Sets the material specific heat. To specify or change a value, click in the box,
and then type the desired value.
Youngs Modulus Sets the Youngs modulus value for the material. To specify or change a
value, click in the box, and then type the desired value.
Poissons Ratio Sets the value of Poissons ratio for the material. To specify or change a
value, click in the box, and then type the desired value.
Thermal Expansion Coefficient Sets the material thermal expansion coefficient. To specify
or change a value, click in the box, and then type the desired value.

Validate Now Click this button to validate the current material property values. If validation succeeds, a green check mark appears below the Validate Now button. If validation fails, a red X
appears instead, and an error message informs you of which parameter value(s) are invalid, and
why.

3-106

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

4
Working with Libraries

This section describes how to configure and manage ANSYS Simplorer external library
resources. Use these topics to create and edit elements within the libraries, and to set up circuits
within Simplorer projects to access particular libraries.
Introduction to Components and Component Libraries
Managing Library Contents
Using the Component Editor
Using the Symbol Editor
Using the Script Editor
Using the Password Manager

Working with Libraries 4-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Introduction: Components and Component Libraries


These topics cover creating, editing, and managing Simplorer component definitions and component libraries.
Component Definition Overview
Library Concepts

Component Definition Overview


In Simplorer, a component is a collection of information that defines a signal-processing function
or source, or a data container or data channel, for inclusion in a schematic design. A component
may represent:

A calculated model, such as a resistor, source, transmission line, or transistor, for which a
mathematical model exists in a Simplorer simulation engine
An interpretive user-defined model (IUDM)
A data container, such as a device model data component or an N-port black box component
that contains network information in spreadsheet form
A data input channel that introduces external data into an analysis, such as an N-port black box
component that refers to network data in an external file, or a SUBCKT component that refers
to a subcircuit netlist fragment in an external file

A component definition also references separately-stored data for its schematic symbol. These
component dependencies are stored as library objects in their own additional files.
See Using the Component Editor for information on how to create and modify library components.

Parameter Data and Dependent Data


The information stored in any component includes parameter data and dependent data. The parameter data describes the internal electrical characteristics of the component, and is stored with the
component definition in the component library .aclb file. The dependent data describes associated
physical characteristics, like the schematic symbol and is contained in an external library file referenced by the component definition.
Materials
Material information defines the physical properties of a substance the physical foundation of a
component model. Material definitions are stored in library files with the extension .amat. See
Using the Material Editor for information on how to create and modify materials.
Scripts
The Script Editor supports the viewing, modification, saving, and exporting of script file
information for footprint elements and graphical primitives. After modifying a script, the
information can then be saved, used to render a footprint, or exported. See Using the Script Editor
for information on how to create and modify scripts.

4-2 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Components
The Component Editor supports the viewing, modification, saving, and exporting of information
for component elements and graphical primitives. After modifying a component, the information
can then be saved, used to render a component, or exported. See Using the Component Editor for
information on how to create and modify components.
Models
Simplorer editors support the viewing, modification, saving, and exporting of information for C
Models, SML models, SPICE models, Modelica models, and VHDL-AMS models. See Using the
C-Model Editor, Using the VHDL Model Editor, Using the SPICE Model Editor, Using the
Modelica Model Editor, or Using the SML Model Editor for information on how to create and
modify these models.
Packages
Packages are collections of re-usable declarations and definitions such as types, constants, functions, procedures, and natures. Standardized packages from IEEE (such as math_real and textio)
and proposed packages from IEEE (such as electrical_systems and thermal_systems) are available in the Ieee (Ieee.apkg) and Std (Std.apkg) libraries. See Using the Package Editor for information on how to create and modify packages.
Symbols
A symbol is graphical representation of a component in a Simplorer Circuit schematic. Symbol definitions are stored in library files with the extension .aslb. See Using the Symbol Editor for information on how to create and modify symbols.

Simplorer Netlist
A Simplorer netlist is an SML textual representation of a design that describes the designs model
instances, connections, ports, and subdesigns, as well as instructions for data recording and analysis
type information. Each component instance in a schematic provides an entry for the netlist based on
the model or netlist line (using SML syntax and netlist string property expansion rules) chosen for
that particular instance. The Simplorer UI creates a netlist from the schematic design, prepares a
binary version of the netlist (SMT), and then provides this binary file to the simulator to perform
the simulation.

Library Concepts
In Simplorer, library component definitions are intended to be accessed once per component, when
you place the first instance of a component onto a schematic. Once a component is placed, the definition for the component transfers from the library to the project file.
Editing a component definition and updating instances is then controlled from the project definition, which is listed in the Components folder in the project tree.
In other words, you do not edit component definitions in the library, but in the project. If you want
your edits to be reflected in the library definition, for use in another design, you must export the
edited components to the library.
Working with Libraries 4-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Library Directories
Specifying the Location of Library Files
Component and Library Search Precedence
Adding Libraries to the Search Path
Updating Project Definitions from Library Definitions
Model and Library Synchronization
Removing Definitions from a Project
The VHDL-AMS work Library in Simplorer

Library Directories
The stock library files that ship with Simplorer are stored under the \syslib directory. These libraries are intended to be read-only and cannot be modified.
In addition to the system libraries, Simplorer recognizes two user-configurable library structures,
called the User Library and the Personal Library. These are used to add foundry support, user
defined models, and any custom or proprietary sets of components or simulation models. Customarily, userlib is a network repository for proprietary or corporate definitions available to all seats in
an enterprise. PersonalLib contains project and circuit-specific libraries as needed by individual
designs.
A root library directory is set up at installation. If none is specified, the default is the root Simplorer
directory.

The VHDL-AMS work Library in Simplorer


The working library for a VHDL-AMS model in Simplorer is always the library that the model
came from. Consequently:

The work library is identical to the project library for all models that were imported from a
text file or created manually in the VHDL-AMS model editor.
The work library is xxx for all models that were loaded from library xxx.
For example, if a model x1 that was loaded from library L1 loads two models: work.x2 and
L2.x3; and model x3 from library L2 also loads a model work.x2, then x2 referred in L1.x1
would be loaded from library L1, but x2 referred in L2.x3 would be loaded from library L2.

If a model refers to other models using work and this set of models will be exported to different libraries, then work should be changed to specific library names to ensure that the referenced models are found.
All models referred to using work must be exported to the same library.

Related Topics
About the VHDL-AMS working Library in Simplorer
VHDL-AMS Model Editor
VHDL-AMS Models in Simplorer
4-4 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Specifying the Location of Library Files


You can relocate the base library directory to a new valid library location. To specify a new library
directory:
1.

Click Tools > Options > General Options.

2.

In the Directories group in the Project Options tab, type the new folder location in the
Library Directory box, or use the browse button to specify it.

3.

Click OK.

To return the library directory specification to its default value, click Reset Library Directory.
The personal library (PersonalLib) folder is located at <Project Directory>\PersonalLib, where
<Project Directory> is the location you specified for your Simplorer projects. To specify a new
location for the PersonalLib folder, you must specify a new project directory location. To do this:
1.

On the Tools menu, point to Options, and then click General Options.

2.

In the Directories group in the Project Options tab, type the new folder location in the Project Directory box, or use the browse button to specify it.

3.

Click OK.

Managing Library Aliases


You can configure the library manager to consider alternate paths or alternate files for a particular
library request if the initial request is unsuccessful. These alternate paths and files are called library
aliases.
When a definition is requested, Simplorer looks first in the project with the library name provided,
and then with the permutations generated from the Prefixes and Aliases that are set in the Library
Directory Aliases dialog box.
The arrows in the dialog to move entries up and down determine which prefixes and aliases are
tried before others. Prefixes always come before aliases. A library found with a prefix or alias is
recorded by the project and the same request will always obtain the same library.
1.

To manage library aliases, on the Tools menu, select Manage Library Aliases.

2.

In the Library Directory Aliases dialog, add the desired Prefixes and Aliases.
a.

Click the Add Prefix button to add the new path prefix to the list.
Each Prefix is prepended to the original library name to create an alternate search string.
The library manager performs string substitutions with each Alias to create additional
potential library paths.
If the library is not found in the project, the library manager searches personallib, then
userlib, and finally syslib using the original and all alternate library names in order.
The / button in the Prefixes panel allows you to browse and choose an alternate directory path to be prepended to the original.

b.

Click the Add Alias button to add the new alias to the list.
The and / buttons in the Aliases panel allow you to browse and select filenames
and directories, respectively. You can also type the information directly into the text
Working with Libraries 4-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

boxes.
3.

The Save as default checkbox saves the currently defined prefixes and aliases so that they
become available when Simplorer is started.

Components and Library Search Precedence


When you place a new component in a design, Simplorer searches in the current project for a definition with the corresponding name. If an appropriate definition exists in the project, that definition
is used to satisfy the placement regardless of whether additional instances, even more recent ones,
may exist in external libraries.
If Simplorer cannot locate the required definitions in the project, it searches in personal (PersonalLib), user (userlib), and system (syslib) library files, in that order. Once a definition of the correct name has been located, the search ends, and that definition is used to satisfy the placement
request.
Note

Once a definition is used, it is transferred to the current project, and remains in the
project unless it is explicitly removed. See the Removing Definitions from a Project
topic for details. To see the definitions included in a project, expand its Definition
folders and subfolders in the project tree:
Modifying component and dependency definitions in libraries, or installing libraries
with modified component and dependency definitions, does not automatically
update those definitions in projects that contain them. To update project definitions
from library definitions, see Updating Project Definitions from Library Definitions.
To be included in a search path, an external library must be configured to each
circuit design within the project that must access it See Configuring Libraries for
details.

Configuring Libraries
Libraries must be configuredthat is, the lists of their contents must be added to Simplorers
library configuration for a particular circuit in a projectbefore you can use any components and
definitions they contain. A basic subset of syslib libraries is configured by default for all circuits in
new designs, but additional system libraries, including those for vendor components, and libraries
in userlib and PersonalLib, must be manually configured before first use.
When vendor components are loaded, the libraries of the top-level schematic are automatically
loaded into any existing subcircuit(s). This is because for same-product designs, the syslib configuration, when loaded, is automatically copied to the new design library, userlib, and PersonalLib.
Note

Each circuit design within a project may have a different library configuration.

To configure libraries for a design:


1.

Highlight the design in the Project Tree.

2.

Click Tools > Configure Libraries. The Configure Design Libraries dialog opens.

3.

To add a library to the configuration:

4-6 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

a.

Use the System Libraries, User Libraries, and Personal Libraries radio buttons and the
list of library types (Materials, Scripts, Symbols, Models, Packages, and Components)
to browse the library locations set in Specifying the Location of Library Files.
The Available Libraries column displays the results of your selections.

b.
Note

Use the Available Libraries column to navigate to the library you want to add.
Icons for libraries that are already configured are green.

c.

Click on the desired library name to highlight it.

d.

Use the >> button to add the selected library to the Configured Libraries column.
The icon for the newly configured library turns green.

4.

To remove a library from the configuration:


a.

In the Configured Libraries column, click on the library you wish to remove from the
configuration to highlight it.

b.

Use the << button to remove the selected library from the configuration.

5.

Repeat steps 4 and 5 as needed until you have achieved the desired configuration.

6.

Optionally, you can set this library configuration as the default configuration for future designs
by checking Save as Default.

7.

Click OK.

Updating Project Definitions from Library Definitions


Once a library component, symbol, package, model, script, or material is placed into a design, the
parent definition resides in the project, and the link to the source library is broken. The Update
Definitions command is designed to update a projects definitions from existing libraries. For
example, if a project is old and there are newer definitions available in the libraries, executing this
command will bring the newer definitions into the project from the libraries.
To update a project definition with a definition from a library file:
1.

Select the project you want to update in the project tree.

2.

Click Update Definitions on the Tools menu.


The Update Definitions dialog box opens, listing any library definitions that have changed
since they were added to the project, the library type, and their original library locations.

3.

Use the dialog box to select the item(s) to update, and click Update to finish.

Model and Library Synchronization


In Simplorer, model definitions may also be used by other models in their definitions. Consequently, changes made to a model definition affect all models that are dependent upon (use) that
model. If you update models that are interdependent after making changes to them, there needs to
be some process to keep them in sync. Synchronization is the process by which Simplorer reconciles these changes. Synchronization can be performed on project definitions and on library definitions.
Working with Libraries 4-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Synchronizing Project Definitions
Automatic Library Synchronization
On-Demand Library Synchronization
Importing Simulation Models

Synchronizing Project Definitions


Models used in Simplorer projects may also reference other model definition(s) in their definitions. Consequently, when you edit and update a project model definition that is used by other
project models, the project synchronization process recompiles all of the dependent models.
Such compilations can result in compilation errors if the updated models interface has been
modified. The following example illustrates this process and how to correct such errors.
In the example below, we assume the following:

there is a VHDL-AMS model library containing several models including:

a thermal model that defines a terminal named m;


and a fuse model that uses the thermal model, and references the fuse model terminal
m in its definition. The fuse model is therefore dependent on the thermal model.

Both the fuse and thermal models are present in the current projects Project Manager
Project>Definitions>Models folder.

1.

In the Project Manager, the thermal model is opened in the VHDL-AMS model editor and
terminal m is changed to m1.

2.

Update Project is then performed on the thermal model in the model editor.
Synchronization occurs on the fuse model (and on any other models in the current project
that may depend upon the thermal model). During this process, the fuse model is recompiled. However, compilation will fail in this instance due to the terminal name mismatch
(m vs. m1). Error messages are displayed in the Message Manager giving the line numbers
in the fuse model where the errors occurred.

3.

You could open the fuse model in the VHDL-AMS model editor, make the needed corrections (change m to m1), and perform Update Project on the fuse model to complete the
process.
Alternatively (perhaps because you mistakenly changed the thermal model), you could
also correct the errors by editing the thermal model so that the terminal names agree.

Automatic Library Synchronization


Automatic library synchronization after model export in Simplorer is enabled by default in the
Simplorer Options dialog box, allowing library models that are dependent on exported models to be synchronized automatically.
The following example illustrates this process. In the example, we assume the following:

there is a VHDL-AMS model library named sync_demo.asmd containing several models

4-8 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

including:

a thermal model that defines a terminal named m and


a fuse model that uses the thermal model, and references the fuse model terminal m in
its definition. The fuse model is therefore dependent on the thermal model.

1.

With a project open, the thermal model is opened for editing in the VHDL-AMS model
editor and terminal m is changed to m1.

2.

Update Project is then performed on the thermal model in the model editor.

3.

The thermal model is then exported from the project to the sync_demo library using
Export to Library.
Automatic synchronization occurs on the fuse model - and on any other models (in any of
the libraries) that may depend upon the thermal model. During this process, the fuse
model is recompiled. However, compilation will fail in this instance due to the terminal
name mismatch (m vs. m1). Error messages are displayed in the Message Manager giving
the line numbers in the fuse model where the errors occurred.

4.

Open the fuse model in the VHDL-AMS model editor, make the needed corrections
(change m to m1), and perform Update Project on the fuse model to complete the process.

On-Demand Library Synchronization


Automatic library synchronization after export in Simplorer is enabled by default. If, however,
Synchronize all libraries after export is disabled in the Simplorer Options dialog box, automatic library synchronization does not occur. Instead, Simplorer maintains a list of all exported
model names for the current Simplorer session. The user can then invoke the Tools>Synchronize Definitions>All Libraries menu command to synchronize all libraries on-demand.
If the user closes Simplorer without performing Tools>Synchronize Definitions>All Libraries, the listing of exported model names is lost and manual library synchronization must be
performed.

Translating Legacy Libraries


Legacy .smd library files can be translated as follows:
1.

On the File menu, click Open.

2.

Select Legacy Simplorer Library (*.smd) from the Files of type pull-down list.

3.

In the folder list, double-click folders to find the one that contains the desired library.

Note

4.

The legacy IST_Machine (IST_Machine.smd), ISET_Alternative_Power


(ISET_Alternative_Power.smd) and compatibility4x7 (Compatibility4x7.smd)
libraries are not supported in Simplorer 8. If you wish to translate and simulate the
examples for these libraries, you must first translate the libraries. Before translating
these libraries, ensure that the .smd files are in the same directory as the DataSet folder
containing the legacy data files.

Double-click the library you want to open.


Working with Libraries 4-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

When you open a legacy Simplorer library (a library created in Simplorer version 7.0 or
earlier) the Legacy Translation Options dialog box displays.
The Hierarchy/C-Model Location panel allows you to specify either UserLib or PersonalLib as the location where the translated library will be saved; and whether to Flatten
it so that all legacy components are in one folder or to Replicate the legacy library folder
structure. For replicated hierarchies, aliases to the translated library folders are automatically added so that they are immediately available for use in designs. If the legacy library
references external data files or model DLL files, they will be copied to the bin or data
subdirectories of the chosen library directory - either userlib or personallib. If the userlib/bin or userlib/data subdirectory is not present, Simplorer attempts to create the subdirectory. If successful, the files are copied normally. If the subdirectory cannot be created,
Simplorer instead copies the files to the personallib directory.

Click OK to translate the library and add it to the Project Manager.

Note

Library translation may take several minutes for large libraries.


If the legacy library contains C models for which .dll files exist, a dialog box similar to the
one shown below is displayed. If you wish the translated model(s) to use the newer DLL
file(s), select Use Current for the model currently being translated, or Use All Current to
have all translated C models use the newer DLLs, if available. Select Copy or Copy All if
you wish the translated models to use the DLLs from your legacy library.

When translating an SMD that has a model with a graphical subsheet, Simplorer converts
the graphical subsheet data into an SML model and makes the S8 component non-hierarchical.
Translated libraries will automatically be configured and made available for use in
designs. Component libraries are also added to the tree on the Project Manager Components tab.

Editing Translated Components, Symbols, and Models


There are two ways you can edit the newly translated components or models:

Add a schematic and place components from the newly translated library on it. Then use the
Definitions folders in the Project Tab to edit the component, symbol or model (right-click on
the desired element and choose Edit element_name on the context menu. You can also right-

4-10 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

click on the component and choose Edit element_name on the context menu.

Similarly, in the library translation project, you can right-click on the Models folder, etc. under
Definitions and select Edit Libraries. Choose the new library (upper right of the library dialog
box) and edit the desired definition(s).

Working with Libraries 4-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Managing Library Contents


Use the Tools > Edit Configured Libraries submenu to display the contents of selected library
files and to copy, modify, and export components or other library objects to user/personal libraries.
Simplorer libraries include the following types:

Materials
Scripts
Components
Models
Packages
Symbols

You can open all libraries for editing by right-clicking the Definitions directory of the Project
Tree in the Project Manager, and then selecting Edit All Libraries.
An Edit Libraries browser dialog box opens in which you can choose the tab for the library
type you wish to edit.

You can select an individual library by clicking Tools>Edit Configured Libraries, then
choosing the library you wish to view.
Alternately you may also right-click on any of the folders listed in the Definitions directory of
the Project Tree in the Project Manager, and then select Edit Library.
After choosing a library, an Edit Library browser opens with a tab open to the library you
selected.

The Edit Library browser also filters objects available for selection based on a number of object
attributes, including:

Name
Property
Model type

In addition, each Edit Library browser also includes checkboxes that allow you to Show Project
definitions or override filtering and Show all libraries.
Note

When you modify a library component, the modified definition is automatically


transferred to the components available to the current project. In effect, you have
checked out the component to modify it, and it is now in the project. The original
library definition is intact. To update the library definition, you must perform the extra
step of exporting the modified component from the project to the library.

Adding Definitions to Libraries via the Project Manager


You can add a definition directly to a library by right-clicking on any of the folders listed in the
Definitions directory of the Project Tree in the Project Manager, and then select Add Definition.
4-12 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For Components, the Edit Component dialog box displays in which you can define a
component. Refer to the section on Editing Component Libraries for additional information.
For Symbols, a Get Name dialog box displays in which you can enter a name for the new
symbol. Clicking OK takes you to the Symbol Editor where you can define the new symbol. Refer to the section on Editing Symbol Libraries for additional information.
For Models, an Add Model dialog box displays. Refer to the section on Editing Model
Libraries for additional information.
For Packages, an Add Package dialog box displays. Refer to the section on Editing Packages Libraries for additional information.
For Materials, a View/Edit Material dialog box displays. Refer to the section on Editing
Materials Libraries for additional information.
For Scripts, a Get Name dialog box displays in which you can enter a name for the new
script. Clicking OK takes you to the Script Editor where you can define the new script.
Refer to the section on Editing Scripts Libraries for additional information.

Exporting Definitions to User Libraries via the Project Manager


You can export a Component, Symbol, Model, or Package definition directly to a user library as
follows:
1.

Right-click on the desired object in the Component, Symbol, Model, or Package folder in the
Definitions directory of the Project Tree in the Project Manager, and then selecting Export
to Library on the context menu.
An Export to user library dialog box displays.

2.

Navigate to the location where you wish to save the exported library.
You can click the PersonalLib or UserLib buttons to jump to those pre-defined locations. If
present, you can also check the Encrypt check box to encrypt the library.

3.

Enter a name for the library in the File Name field.

4.

Click OK to save the library and close the dialog box.


a.

If you chose to Encrypt the library, the Enter Passwords dialog box opens in which you
can:

Enter a Full Access password users must enter the password to use and/or edit the
library contents.
Enter an Execute Only Access password users must enter the password to use the
library contents, but the contents cannot be edited.
Choose to Use Ansoft Password (Execute Only) encrypts the library without
requiring the user to enter a password to use it.
Choose to Use Same Password as if encryption resources already exist, you can
choose to use the existing password to encrypt the library.
Optionally, check Expire this resource on and enter a date on which use of the
encrypted library will expire.
Working with Libraries 4-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

b.

Click OK to close the Enter Passwords dialog box.

The Export Hierarchy dialog box opens. Refer to Exporting Hierarchical Components for
detailed information on working with this dialog box.

Exporting and Importing Definition Archives


The Tools>Export Definition Archive... and Tools> Import Definition Archive... commands
allow you to select individual component, model, or other library definitions or even entire libraries to package and send to another user. Referenced definitions, data files and DLLs are included
automatically. All selected definitions (either those in an entire library or those selected separately)
will be written to one set of libraries (for example, a component library and associated symbol and
model libraries).

4-14 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Exporting Definition Archives


Select Tools>Export Definition Archive... to open the Export Definition Archive dialog box.

To export a definition archive, first choose an archive name, either by typing the full filename
in to the Archive name edit field, or by using the browse button [...] next to it. The archive
name must have a .definition.zip extension, which is supplied by the dialog box.
Note

A .definition.zip archive is not readable with utilities such as WinZip.

The definitions selected for export are listed in the Definitions to Export listbox. Use the
and
buttons to delete selected entries, or all entries, respectively.
The Type drop-down list on the left below the list of Definitions to Export controls which
libraries are shown in the tree below it. Choices include: Component, Symbol, Model, Package, Material, and Script. In the tree, each leaf element (definition) has an associated checkWorking with Libraries 4-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

box. Checking the box adds the definition to the export list above. Un-checking the box
removes the definition from the export list. With a library or library element node hilighted, a
user can select all definitions in that library for export by clicking Library All. Similarly, the
user can unselect all definitions in the selected library by clicking Library None. Expand All
and Collapse All expand or collapse the entire tree.

Typing a string into the text box next to the Find button allows the user to scroll to the first
definition whose name matches the string. Searches are not case-sensitive. You can also use
the wildcard asterisk character in search strings. For example: entering P* should find, in
succession, every component that starts with P (or p). Use multiple asterisks to further control
matches, e.g., *p* to find any definition with a 'p' in it, including as a first or last character; or
*p*p* to find "pipe" and "pump", etc.
The Remove unused definitions after export checkbox allows the user to clean up the current
project after export is complete.
Click OK to complete the process. The selected definitions, libraries, and referenced files are
zipped, and given a double extension, .definition.zip. Users can then e-mail or otherwise
transfer the zip file to others. The zip file is not encrypted, though models and packages contained therein may be.

Related Topics
Importing Definition Archives

4-16 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Importing Definition Archives


To import a definition archive, choose Tools> Import Definition Archive... to open the Import
Definition Archive dialog box.

First select a definition archive either by typing the path and definition archive file name in the
Archive text field, or by clicking the [...] button to browse for the file.
In the Imported Library Settings section, users can choose the basic location for the
imported archive with the PersonalLib or UserLib radio buttons. If desired, the user can further choose a subdirectory Path under PersonalLib or UserLib as a location for the libraries.
The user can also enter a Name for the imported libraries. The default name is the base name
of the archive file.
On import, data files will be moved to appropriate bin and data directories. External Referenced Files that are not appropriate to bin and data library directories will be referenced using
$PROJECTDIR. The user can click the [...] button to choose the directory for these files. The
default is the Project Directory specified in Tools>Options>General Options.
The Overwrite existing definitions and files checkbox (unchecked by default) allows the user
to replace current definitions and files with archive elements, permissions allowing.

Related Topics
Exporting Definition Archives

Working with Libraries 4-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Editing Materials Libraries


A material is a set of information that defines the physical properties of a substance used as the
physical foundation of a component model such as a diode. Material definitions are stored in library
files with an extension of .amat
1.

To open the dialog box for a materials library, click Tools > Edit Configured Libraries >
Materials. The Edit Libraries dialog opens on the Materials tab.

2.

On the Materials tab, use the Libraries scrolling window to locate and select the material you
wish to manage. The Show Project definitions checkbox enables material objects stored with
the project to be included in the listing.
You can also use the Search Parameters panel to search for the material by Name or by
Property. When searching by property, enter the propertys value in the search box.
The Material Filters tab provides controls for filtering the Materials list.

3.

Use the buttons described below to manage selected library objects:

View/Edit Materials - Edits properties or attributes for a selected material in the Material Editor. The resulting material may have the same name as the original, but it is saved
to the current project, rather than back to the library. In effect, you have checked out the
part to the project in order to edit it. If you want to write it back to the library, overwriting
the original part, use the Export to Library button.
(Use the Show Project Definitions checkbox to include current project elements in the
Edit Libraries dialog display.)

Add Material - Creates a new material which is saved to the current project.
Clone Material(s) - Creates a copy of selected material(s) with a different name.
The View/Edit Material dialog box opens, allowing you to edit the cloned materials properties. The cloned material is saved to the current project.

4.

Remove Material(s) - Removes selected material(s) from the library


Export to Library - Exports a selected material object to a different library. (Use also to
export edited objects from the project to the library if necessary.)

When finished, click OK to close the Edit Libraries dialog box.

Editing Scripts Libraries


1.

To open the dialog box for a script library, click Tools > Edit Configured Libraries >
Scripts. The Edit Libraries dialog opens on the Scripts tab.

2.

On the Scripts tab, use the Libraries scrolling window to select the library file for contents
display. Use the buttons below to manage selected library objects:

Edit Script - Edits properties or attributes for a selected model in the Script Editor. The
resulting script may have the same name as the original, but it is saved to the current project, rather than back to the library. In effect, you have checked out the part to the project
in order to edit it. If you want to write it back to the library, overwriting the original part,
use the Export to Library button.

4-18 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

(Use the Show Project Definitions checkbox to include current project elements in the
Edit Libraries dialog display.)

3.

Add Script - Creates a new object within the selected library.


Clone Script(s) - Creates a copy of selected object(s) with a different name within the
selected library.
Remove Script(s) - Removes selected object(s) from the library
Export to Library - Exports a selected object to a different library. (Use also to export
edited objects from the project to the library if necessary.)

When finished, click OK to close the Edit Libraries dialog box.

Editing Component Libraries


1.

To open the dialog box for a component library, click Tools > Edit Configured Libraries >
Components. The Edit Libraries dialog opens on the Components tab.

2.

On the Components tab, use the Libraries scrolling window to select the library file for contents display. Use the buttons below to manage selected library objects:

Edit Component - Edits properties or attributes for a selected component in the Component Editor. The resulting component may have the same name as the original, but it is
saved to the current project, rather than back to the library. In effect, you have checked
out the part to the project in order to edit it. If you want to write it back to the library,
overwriting the original part, use the Export to Library button.
(Use the Show Project Definitions checkbox to include current project elements in the
Edit Libraries dialog display.)

Add Component - Creates a new object within the selected library.


Clone Component(s) - Creates a copy of selected object(s) with a different name within
the selected library.
Remove Component(s) - Removes selected object(s) from the library
Export to Library - Exports a selected object to a different library. (Use also to export
edited objects from the project to the library if necessary.)

Note

When you modify a library component, the modified definition is automatically


transferred to the components available to the current project. In effect, you have
checked out the component to modify it, and it is now in the project. The original
library definition is intact. To update the library definition, you must do the extra step of
exporting the modified component from the project to the library.

Hint

Hierarchical components, because of their design and the possibility of subdesigns,


cannot be exported to a library. Instead, hierarchical components and their referenced
objects such as models and symbols can be exported to libraries of their respective types.
Refer to Exporting Hierarchical Components for details.
Working with Libraries 4-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

When finished, click OK to close the Edit Libraries dialog box.

Exporting Hierarchical Components.


Hierarchical components can have dependent definitions such as symbols that reside in other
library types. Consequently, when exporting a hierarchical component, users also have the option to
export referenced symbols, models, and packages as well.
Note

When sending exported data such as libraries to third parties, or when relocating
exported data, be sure to include all related files.

1.

When you select a hierarchical component in the Edit Libraries dialog box and click Export
to Library, the Export to user library dialog box is displayed.

2.

Choose the location and filename for the .aclb library file that will contain the exported components. Click Save to confirm your choice. (If the library does not exist, you are prompted to
create a new one.)
The Export Hierarchy dialog box is displayed listing the component and dependent object
Definitions for the exported components. Dependent objects that can be exported include:

symbols (exported as .aslb files).


models (exported as .asmd files).
packages (exported as .apkg files).

Buttons in the Library column open an Export to user library dialog box where you can
browse for a library file in which to store the definition; or create a new library. The library file
type and extension correspond to the Library Type listed for each object. The Library field
button name is that of the library in which the definition currently is stored; and is blank if no
library is yet assigned. By default, the Library field names are set to the same library.
Checkboxes allow you to choose:

3.

which definitions to Export. By default, all definitions are checked for export.
whether or not to Overwrite existing definitions in the target library.
whether or not to Export Solution data for schematic components. Solution data is saved
in a .results folder instead of a library file.

Click OK to confirm your selections. The definitions (and solution data, if applicable) are
saved in the locations and files you chose.

Editing Model Libraries


1.

To open the dialog box for a model library, click Tools > Edit Configured Libraries > Models. The Edit Libraries dialog opens on the Models tab.

2.

On the Models tab, use the Libraries scrolling window to select the library file for contents
display. Use the buttons described below to manage selected library objects:

Edit Model - Edits properties or attributes for a selected model in the corresponding

4-20 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

model editor: the C-Model Editor, the VHDL Model Editor, the SPICE Model Editor,
the Modelica Model Editor, or the SML Model Editor). The resulting model may have
the same name as the original, but it is saved to the current project, rather than back to the
library. In effect, you have checked out the part to the project in order to edit it. If you
want to write it back to the library, overwriting the original part, use the Export to
Library button.
(Use the Show Project Definitions checkbox to include current project elements in the
Edit Libraries dialog display.)
Some models - such as those that have been encoded - are not editable (button is disabled).
Encrypted models can be edited after the password has been entered to unlock it.

Note

3.

Add Model - Creates a new model object within the selected library. The Add Model dialog box allows you to name the model, and to choose the model type you wish to add. By
default, the model is added via the appropriate model editor.
Clone Model(s) - Creates a copy of selected object(s) with a different name within the
selected library. Encoded models cannot be cloned (button is disabled).
Remove Model(s) - Removes selected object(s) from the library. System library models
cannot be removed (button is disabled).
Export to Library - Exports a selected object to a different library. (Use also to export
edited objects from the project to the library if necessary.) System library models cannot
be exported (button is disabled).
When exporting SPICE models containing references to external files, the Message
Manager will display an alert if the referenced files cannot be located, prompting the
user to copy the files into either the personallib or the userlib directory.

When finished, click OK to close the Edit Libraries dialog box.

Editing Packages Libraries


1.

To open the dialog box for a package library, click Tools > Edit Configured Libraries >
Packages. The Edit Libraries dialog opens on the Packages tab.

2.

On the Packages tab, use the Libraries scrolling window to select the library file for contents
display. Use the buttons below to manage selected library objects:

Edit Package - Edits properties or attributes for a selected model in the Package Editor.
The resulting package may have the same name as the original, but it is saved to the current project, rather than back to the library. In effect, you have checked out the part to
the project in order to edit it. If you want to write it back to the library, overwriting the
original part, use the Export to Library button.
(Use the Show Project Definitions checkbox to include current project elements in the
Edit Libraries dialog display.)
Some packages - such as those whose headers have been encoded - are not editable (button is disabled).
Working with Libraries 4-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

Add Package - Creates a new object within the selected library. The Add Package dialog
box allows you to name the package, and to choose the package type you wish to add. By
default, the package is added via the Package Editor.
Clone Package(s) - Creates a copy of selected object(s) with a different name within the
selected library. Encoded packages cannot be cloned (button is disabled).
Remove Package(s) - Removes selected object(s) from the library. System library packages cannot be removed (button is disabled).
Export to Library - Exports a selected object to a different library. (Use also to export
edited objects from the project to the library if necessary.) System library packages cannot
be exported (button is disabled).

When finished, click OK to close the Edit Libraries dialog box.

Editing Symbol Libraries


1.

To open the dialog box for a symbol library, click Tools > Edit Configured Libraries > Symbols. The Edit Libraries dialog opens on the Symbols tab.

2.

On the Symbols tab, use the Libraries scrolling window to select the library file for contents
display. Use the buttons below to manage selected library objects:

Edit Symbol - Edit a selected symbol in the Symbol Editor. The resulting component
may have the same name as the original, but it is saved to the current project, rather than
back to the library. In effect, you have checked out the part to the project in order to edit
it. If you want to write it back to the library, overwriting the original part, use the Export
to Library button.
(Use the Show Project Definitions checkbox to include current project elements in the
Edit Libraries dialog display.)

3.

Add Symbol - Creates a new object within the selected library.


Clone Symbol(s) - Creates a copy of a selected object(s) with a different name within the
selected library.
Remove Symbol(s) - Removes selected object(s) from the library
Export to Library - Exports a selected object to a different library. (Use also to export
edited objects from the project to the library if necessary.)

When finished, click OK to close the Edit Libraries dialog box.

4-22 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Recompiling, Encoding, and Licensing Libraries


If you make changes to binary model structure, dependent models or model libraries may need to
be recompiled. You may also want to encode or license multiple libraries and/or packages. Simplorer provides an automated way to manage these changes to model and package libraries.
1.

To recompile, encode, or license model and/or package libraries, select Tools>Manage Model
Libraries.
The Manage Model /Package Libraries dialog box displays. The left panel lists an expandable tree of all available model libraries and packages. Checkboxes enable you to select the
libraries you wish to change. Checking a folder icon selects all libraries within the folder. Text
appears below the left panel informing you of the number of models and packages currently
selected. The right panel lists the elements in all selected libraries for informational purposes
only.

2.

Select the libraries and/or packages you wish to operate upon.

3.

Right-click in the library tree panel.


A context menu containing the following selections appears:

Compile (All Checked Items)


Encode (All Checked Items)

Working with Libraries 4-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

a.

Set Time License (All Checked Items)

If none of the libraries is checked, you can perform operations on an individual library
by right-clicking its name in which case the context menu items will contain the library
name instead of All Checked Items.
To compile the checked items, select Compile (All Checked Items).
The progress bar below the library listing monitors the progress of the compilation. The
original library and package files are saved with a .bak extension.
Clicking the Stop button while compilation is in-progress stops the process, leaving the
libraries and packages in their original state.

b.

To encode or encrypt the checked items, select Encode (All Checked Items).
An Encryption Settings dialog box displays. Refer to the Encryption Settings Dialog Box
help topic for details on encryption settings. Encryption of encoded items is not supported
and results in messages to that effect in the Message Manager. Encoding encrypted items
results in messages informing you that The encode password has been removed.

c.
4.

To set a time license for the checked items, select Set Time License (All Checked
Items). Refer to the Time License Settings help topic for details.

When finished, click OK to close the dialog box.

4-24 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Password Manager


The Simplorer Password Manager lets you add and delete encryption resources using AES Encryption technology. These resources can be applied to SML, Modelica, and SPICE models, and to
VHDL-AMS models and packages that require password access. Once encrypted, models and
packages require a password before they can be viewed or used. For convenience, the same password can be applied to multiple resources.
Related Topics
Adding an Encryption Resource
Deleting an Encryption Resource
Time License Settings
Encryption Settings Dialog Box
Encrypting or Encoding a VHDL-AMS Model
Encrypting or Encoding an SML, Modelica, or SPICE Model
Encrypting or Encoding a VHDL-AMS Package
Recompiling, Encoding, and Licensing Libraries

Adding an Encryption Resource


1.

Click Tools>Password Manager.


This displays the Password Manager dialog box.

Note

2.

The Resource Name field lists currently defined resources. Clicking on a resource name
displays a list of all items encrypted with it in the Encrypted Items field.

Click the New button in the Password Manager dialog box.


The Add Encryption Resource dialog box displays.

3.

Specify a name for the encryption resource in the Resource Name text field.

4.

Assign a password to the resource by choosing one of the following options:

Note

5.

Enter Password enter and confirm a password for the new resource.
Passwords must be at least eight (8) characters long. Passwords may contain spaces - but
may not begin or end with a space.
Use Same Password As click the radio button and then choose an existing resource
from the drop-down list. The chosen resources password will then be used by the new
resource.

Once you have assigned a password, click OK to create the resource and close the dialog box.
The Password Manager dialog box now lists the new resource.

6.

Repeat the above steps as needed to add encryption resources. When finished, click OK.
Working with Libraries 4-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Deleting an Encryption Resource


1.

Select an existing resource to highlight it.

2.

Click the delete button (the red X) to delete the resource.

Note

3.

Deleting a resource merely removes that resource from the list of available encryption
resources. models and packages that were encrypted using that resource are unaffected
by its removal.

When you are finished deleting resource, click OK.

AES Encryption Terms and Conditions


This product contains AES Encryption technology subject to the following terms and conditions:
--------------------------------------------------------------------------Copyright (c) 2003, Dr Brian Gladman, Worcester, UK.
All rights reserved.
LICENSE TERMS
The free distribution and use of this software in both source and binary
form is allowed (with or without changes) provided that:
1. distributions of this source code include the above copyright
notice, this list of conditions and the following disclaimer;
2. distributions in binary form include the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other associated materials;
3. the copyright holder's name is not used to endorse products
built using this software without specific written permission.
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
DISCLAIMER
This software is provided 'as is' with no explicit or implied warranties
in respect of its properties, including, but not limited to, correctness
and/or fitness for purpose.
--------------------------------------------------------------------------Issue Date: 1/06/2003

4-26 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Encryption Settings Dialog Box


The Encryption Settings dialog box appears when Encryption Settings is selected in either the
VHDL-AMS Package Editor, or in the VHDL-AMS, SML, Modelica, or SPICE Model Editors.

Plain Text - Selected by default. No encryption or encoding is applied.


Encrypt - when selected, a list of available password resources is listed in the Resource
Name field. Select the desired resource and click OK to apply its settings to the model or
package. You can also click the Add button to open the Add Encryption Resource dialog
box in which you can create a new encryption resource.
Encode - when selected, clicking OK encodes the model or package effectively hiding the
text from view.

Related Topics
Encrypting or Encoding a VHDL-AMS Model
Encrypting or Encoding an SML, Modelica, or SPICE Model
Encrypting or Encoding a VHDL-AMS Package
Recompiling, Encoding, and Licensing Libraries

Working with Libraries 4-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Time License Settings


Time License Settings allow the user to apply an expiration date beyond which a model can not be
used in simulations. Users also can remove the date stamp from new and editable models. Time
License Settings can be applied to VHDL-AMS, SML, Modelica, and SPICE models, and to
VHDL-AMS packages from within their respective editors.
To add time license information:
1.

Select model_or_package Editor>License Settings in the menu bar.


A License Information dialog box displays.

2.

Check Enable Time License settings (un-checked by default); then use the Date field to enter
the license expiration date directly.
You can also click the down-arrow button to the right of the date field to reveal a pop-up calendar.

The left and right arrow buttons on the calendar change the calendar one month per
click.
Clicking directly on the month name pops up a menu that allows you to jump directly
to any month in the currently displayed year.
Clicking directly on the year enables you to use the associated up- and down- arrow
buttons to move sequentially to the desired year.
Clicking Today:mm/dd/yyyy at the bottom of the calendar selects the current date.

When the desired calendar page is displayed, click the day of the month to transfer the date
selection to the Date field in the License Information dialog.
3.

Click OK to confirm the date entry and close the dialog box.

4.

Encrypt or encode the model or package using the applicable procedure:

The Encryption Settings dialog box displays.

Encrypting or Encoding a VHDL-AMS Model


Encrypting or Encoding an SML, Modelica, or SPICE Model
Encrypting or Encoding a VHDL-AMS Package
Recompiling, Encoding, and Licensing Libraries

To remove the time license from a model:


1.

With the model from which you intend to remove time licensing open in the model editor,
select model_or_package Editor>Time License in the menu bar.
A License Information dialog box displays.

2.

Un-check Enable Time Licensing settings.

3.

Click OK to remove the settings; then save the model.

4-28 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Component Editor


These topics cover creating new components or editing existing components within a project file.
For information on managing components within the external libraries, see
Creating and Editing Components
Editing an Existing Component
Adding a New Component
The Edit Component Dialog Box
The Properties Dialog Box (Edit Component)
The Component Netlist String Property

Editing Components
Use the Edit Component dialog box to:

Specify or change the component name, description, associated bitmap, and default property
values, including those necessary for netlisting and cosimulation, as appropriate

Specify or re-specify a graphical symbol to represent the component in the schematic editor
Specify or change the component terminal properties

The changes you make when editing a library component become part of the current project. (The
edited component is saved to the project, not back to the library.) If you want to make a new or
modified component available for use in other projects, you must save it to a component library
(.aclb) file using the Export command in the Edit Libraries dialog box.
Note

If you are adding a new component, it is useful to first identify and if necessary, create,
the necessary dependencies before defining your component.See the Component
Creation Process topic for details.

Editing an Existing Component


1.

2.

To edit an existing component, do any of the following:


a.

In the project tree, expand the Definitions/Components subfolder for the project that contains the component you want to edit. Double-click the entry for the component you want
to edit, or right-click the entry and then select Edit Component.

b.

Open the Tools > Edit Configured Libraries > Components dialog box, then locate and
select the component that you want to edit. Click Edit Component, or double-click the
selected entry.

c.

Right-click an on-sheet component and select Edit Component on the context menu.

The Edit Component dialog box opens, displaying the definition of the selected component for
editing.
Working with Libraries 4-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

When finished editing the component, click OK to save the changes.


If you removed a Quantity property to which a symbol pin was associated, a dialog box displays informing you that The pins of the referenced symbol do not match the current
component terminals and properties.
a.

If you wish to adjust the current symbol (or a clone of the current symbol if another component is using the same symbol), click Yes.

b.

If you wish to autogenerate a symbol consistent with the edited component properties,
click No.

Adding a New Component


Typically, you add new components either by creating a model using the appropriate editor
(VHDL-AMS, C-Model, SML, or SPICE) at the end of which process a new component is added,
or by importing a model. However, you can also add new components via the Components library
dialog box.
Before you define your new component, you should identify and modify (or create, if necessary)
the Symbol and Material that will be associated with the component.
Additionally, you may want to create a special project file (model) using the required technology,
and use Tools > Configure Libraries to limit library access only to the one you need. Once components and their dependencies are created in this project, they can be exported to new, or existing
libraries.
1.

To add a new component, open the Tools > Edit Configured Libraries > Components dialog
box, and then click Add Component. The Edit Component dialog box opens in which you can
select and define the model, elements and properties for the new component.

You can also open the Tools > Edit Configured Libraries > Components dialog box,
then locate and select an existing component on which you would like to base your new
component. Click Clone Component. A renamed copy of the selected component is
added to the list.
Double-click the entry for the new component, or click Edit Component. The Edit Component dialog box opens in which you can select and define the elements and properties
for the new component.

2.

When finished defining the component, click OK to save the changes.

4-30 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Edit Component Dialog Box


The Edit Component dialog is used to edit existing components, or to create new components, in a
project file. The changes you make when editing a component are saved to a definition within the
current project, not to the parent library. If the edited component is used in any schematic within
the project, all default-value instances of the parameter(s) changed are updated immediately.
The Edit Component dialog contains four tabs:

General Tab
Miscellaneous Tab
Terminals Tab
Simulation Models Tab

The General and Terminals tabs in the Edit Component dialog box each contain a symbol preview window which is automatically updated to reflect any changes you make to the symbol.
To make a new or modified component available for use in other Simplorer projects, you must
export it to a user or personal component library (.aclb) file using the Edit Libraries dialog box.
The library must be configured (added to) to the circuit or schematic within the target project.
To update another project with your updated component(s), select its icon in the project tree, and
then click Update Definitions on the Tools menu.
You can open the Edit Component dialog box in any of the following ways:

Double-click a component definition on the project tree.


Double-click a component listed in the Edit Library dialog box.
Right-click a component on a schematic and select Edit Component from the context menu.

General Tab (Edit Component)


Use the General tab to specify a name and all parameter values for the component. You can also
setup component dialog boxes for many components that do not already have them. You can also
have a symbol automatically created for the component, assign an existing symbol from a symbol
library, edit the symbol (You must exit the component editor to edit the symbol.) The symbol preview window at the bottom of the dialog box is automatically updated to reflect any changes you
make to the symbol.
Component Area
The Component area of the General Tab dialog allows you to enter a Name for the component.
The Original library path and name is displayed below the Name. If the Setup Dialog button is
present, you can also design and add a custom dialog box for the component using the Component

Working with Libraries 4-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Dialog Wizard. To edit the component properties, click Properties next to the Name text window.
In the Properties window, you can add, edit or remove default or local properties and values.
Note

If you remove a Quantity property to which a symbol pin was associated, when you OK
to exit the Edit Component dialog box, a dialog box displays informing you that The
pins of the referenced symbol do not match the current component terminals and
properties. at which time you can choose either to adjust the current symbol (or a clone
of the current symbol if another component is using the same symbol), or to
autogenerate a symbol consistent with the edited component properties

Symbol Area
The Symbol area of the General Tab allows you to choose an existing symbol for elements in the
current design from a drop-down list, and also displays a picture of the currently selected symbol.
You can choose any symbol that has an equal or greater number of pins than the component specified in the Component Name field. You can also choose to Auto-create a symbol.
The library of origin of the component is displayed beneath the component display in the Symbol
area; if the component is local to this Project, that message is displayed. When you click Select,
the Select Definition dialog box opens, allowing you to choose a definition for the symbol from a
list that is displayed. Click Edit to modify the symbol. A confirmation message is displayed with a
reminder that the Component and Definition editors will be closed (if open) and that all changes
will then be saved if you choose to continue. Click Clear at any time to clear all selections and displays in the Symbol area.
Note

The Footprint area of the General Tab dialog box is unused.

Click OK to save your changes and close the dialog box, or click Cancel to close the dialog box
without saving any changes.

Miscellaneous Tab (Edit Component)


Use the miscellaneous fields to enter information such as the name, manufacturer, description, reference designator, etc. You can also specify a bitmap image to associate with the component listing
in the project tree, and an associated online help description (if you use your own documentation).

The top two rows of the Miscellaneous tab window display the Modified Date and Original
Date of the component. Text boxes allow you to specify the Current Author, Manufacturer,
Original Author, and Data Source.
To specify an Example File for the component, browse for the directory and example project
file by clicking the browse button [...].
You can also specify the components Reference Designator Base value, or enter a text
Description for the component.
The Bitmap image that is displayed with the component listing in the Project Tree is selected

4-32 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

using the pull-down menu.


Note

The bitmap image files must be located in <Installation Directory>\Bitmaps.

The Component Online Help area displays the help file and help topic associated with the
component. This field also allows you to specify a help file and topic if, for example, you want
to use your own help file. The help file type must be .chm (complied Microsoft HTML Help)
and must be located in <installdir>\Help. To link a component to a help file and topic do the
following:
1.

Copy the .chm file to <installdir>\Help.

2.

Start Simplorer.

3.

Edit the component for which you want to set up a help link.

4.

On the Edit Component dialog box, select the Miscellaneous tab.

5.

Choose the .chm file from the list in the Help File combo box.

6.

Enter a help topic .htm filename in the Help Topic text box. This filename is the .htm help
topic file compiled in the selected .chm file. The user must supply this information.

7.

Click the Test button to verify the link. The specified .chm file should open displaying the
components help topic.

8.

Click OK to close the Edit Component dialog box, and export the component back to its
library; or click Cancel to close the dialog without saving any changes.

Terminals Tab (Edit Component)


Use the Terminals tab to associate each symbol pin with the proper terminal by first ordering the
symbol pins and then selecting the corresponding symbol. This allows you to visually associate the
symbol pins with the netlist properties for the simulation model. The symbol preview window at
the bottom of the dialog box is automatically updated to reflect any changes you make to the symbol.
In the Terminals pane, you can select one or more terminals directly, which then enables the following settings:

Symbol pin Select the pin name for the terminal in the symbol.
Footprint pin Not applicable.
Nature Select the physical type (electrical, magnetic, etc.) associated with the pin.
Unconnected Shows the action to be taken if the pin remains unconnected.
Unconnected/default behavior Controls what Simplorer will do at analysis time if this
pin is left unconnected in a schematic. The options are:
Flag as error (the default) results in the generation of netlist errors in the Message
Manager.
Unique net writes a unique netname (e.g., unconnected0) as the net name for
the unconnected pin. This allows connections in a multi-element netlist line even
Working with Libraries 4-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

when the pins of the component are unconnected.


Grounded automatically assigns a user-specified R to ground value (see below).
No net results in assignment of an empty string when netlisting the terminal.
Click Apply to selection to apply your choice to the selected pin.

R to ground (Ohms) If you select Grounded for the Unconnected/default behavior,


you can then specify the resistance to ground within the R to Ground entry window. The
default value is 100 MegOhms. Click Apply to selection to apply your changes to the
selected terminals.

Click OK to save your changes and close the dialog, or click Cancel to close the dialog without
saving any changes.

Simulation Models Tab (Edit Component)


Use the Simulation Models tab to add alternate simulation models or netlist information to the
component definition.
Note

The Simulation Models tab is not shown for components representing subcircuits.

Add Model Click this button to select a simulation model on the Select Definition dialog Models tab.
Add Netlist Line Click this button to open a text editor where you can enter netlist information.
The Alternate Models pane lists simulation models currently associated with the component. The
listing shows the model Type (SML, VHDL, etc.), Name, Architecture, and Library. An Edit
button allows you to open the model in the appropriate editor if you wish to make changes to it.

4-34 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties Dialog Box (Edit Component)


The Properties dialog box that opens when you are editing a component allows you to add, edit,
and remove properties for that component. Changes made here affect all instances of the component in the current design.
To edit component properties:
1.

Double click the component definition in the project tree to open the Edit Component dialog
box.

2.

In the Edit Component dialog box, click Properties on the General tab to open the Properties dialog box containing four tabs:

3.

Parameter Defaults
Properties
Quantities
Signals

When finished editing component properties on the tabs, click OK to close the Properties dialog box; then click OK to close the Edit Component dialog box.

Parameter Defaults Tab (Edit Component)


This tab displays and sets the default values for component parameters for general analysis (Value
option) or statistical analysis (Statistics option). Buttons allow you to Add, Edit, or Remove properties.
Value Option (Parameter Defaults Tab)
When this (default) option is selected, the Parameter Defaults tab lists, displays, and sets the
default values for the following component parameters used during general analysis:

Name This column displays the names of component parameters. Names can be edited for
case only.
Value This column allows you to change the initial values of parameters.
Unit This column allows you to set the unit of measure (as appropriate) for the parameter
value.
Evaluated Value This read-only column displays the evaluated value (as appropriate) of the
parameter.
Description This column allows you to enter a description for the parameter.
Netlist Unit This column allows you to set the unit of measure used when the parameter is
netlisted.
Callback This button allows you to associate a callback script with the parameter.
Read-only This check box controls whether or not the parameter settings can be changed.
Hidden This check box controls whether or not the parameter is hidden by default.
Property Type displays the type (e.g., Real) for generic properties.
Working with Libraries 4-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Show Pin This check box allows you to show a pin for the property on the components symbol.
Sweep This check box enables the value for sweep.
Default SDB This check box enables the value to be stored in the project SDB.

Statistics Option (Parameter Defaults and Quantities Tabs)


When this option is selected, the Parameter Defaults and Quantities tabs list, display, and set the
values for the following component parameters applicable to statistical analysis.

Name This column displays the names of component parameters.


Include This check box controls whether or not the associated component parameter will be
varied during statistical analysis. Check Include for each parameter you want Simplorer to
vary during statistical analysis.
Distribution This setting displays and controls whether the parameter value distribution is
Uniform, Gaussian, lognormal, or user-defined. To change the Distribution setting, click in the
cell to display the options, and then click the option you want.
Distribution Criteria Clicking the button in this column for a component opens the Edit
Distribution dialog box in which you can set distribution criteria. The Distribution Type
pull-down menu displays whether the distribution is Uniform or Gaussian, and you can specify
values for Cutoff Probability, Mean, and Tolerance. Units for Mean and Tolerance can be
set using their adjacent pull-down menus.

Properties Tab (Edit Component)

Name This column displays the names of component parameters. Names can be edited for
case only.
Value This column allows you to change the initial values of parameters.
Unit This column allows you to set the unit of measure (as appropriate) for the parameter
value.
Evaluated Value This read-only column displays the evaluated value (as appropriate) of the
parameter.
Description This column allows you to enter a description for the parameter.
Callback This button allows you to set associate a callback script with the parameter.
Read-only This check box controls whether or not the Name, Value, Unit, Description, and
Callback values for the property can be changed.
Hidden This check box controls whether or not the parameter is hidden by default.

Quantities Tab (Edit Component)


The Quantities tab lists the simulation parameters of the selected component. Parameter information can be shown for Value, Optimization, Tuning, Sensitivity, and Statistics by selecting the
corresponding radio button. Buttons also allow you to Add, Edit, or Remove properties.
4-36 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Value

NameThis column displays the names of component parameters. Names can be edited for
case only.
ValueThis column allows you to change the initial values of parameters.
UnitThis column allows you to set the unit of measure for the parameter value.
Netlist Unit This column allows you to set the unit of measure used when the parameter is
netlisted.
Description This column allows you to enter a description for the parameter.
Callback This button allows you to set associate a callback script with the parameter.
Direction Allows you to select the parameter direction (In, Out, InOut, or Dont Care).
Default direction for added quantities is In.
Show Pin When enabled, this check box controls whether or not the parameter pin is shown
on a schematic.
Default SDB This check box controls whether or not the parameter is

When adding a quantity property, you must specify a Name and choose a Unit Type (angle, frequency, capacitance, etc.). Enter an initial value into the Value field. This can be a number, variable, or expression. Referenced project variables should be prefixed with a '$'. Examples: 22.4pF,
$C1, 2*cos($x). If the value requires a multiplier unit (such as meg for 1000000) click on the
Units field to select the multiplier unit.
Optimization
The Optimization radio button enables you to set default values for input parameters used in optimization analyses.

NameThis column displays the names of component parameters (read-only).


Include When checked, the parameter optimization settings are used.
Nominal Value Displays the Value and Unit currently set for the parameter (read-only).
Min, Max, and Unit These columns allow you to set the minimum and maximum values
and their units. By default, the Min and Max values are set to plus and minus one-half the
Nominal Value, and the Unit is the same as that of the Nominal Value.

Tuning
The Tuning radio button enables you to set default values for input parameters used in tuning analyses.

NameThis column displays the names of component parameters (read-only).


Include When checked, the parameter optimization settings are used.
Min, Max, and Unit These columns allow you to set the minimum and maximum values
and their units (the range over which tuning will occur). By default, the Min and Max values
are set to the values from the Optimization settings.
Step and Unit These columns allow you to set the size of the step for successive tuning iterations in the tuning range. By default, these values are set to 10 percent of the parameters
Working with Libraries 4-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Nominal Value.
Sensitivity
The Sensitivity radio button enables you to set default values for input parameters used in sensitivity analyses.

NameThis column displays the names of component parameters (read-only).


Include When checked, the parameter optimization settings are used.
Min, Max, and Unit These columns allow you to set the minimum and maximum values
and their units (the range over which tuning will occur). By default, the Min and Max values
are set to the values from the Optimization settings.
Initial Disp. and Unit These columns allow you to set the initial displacement value. The
initial displacement is the difference between the starting value and the next solved design
variation. During a sensitivity analysis, Optimetrics will not consider an initial value that is
greater than this step size away from the starting variable value. By default, these values are set
to the parameters Step value.

Statistics
The Statistics radio button enables you to set default values for input parameters used in Statistical
analyses.

NameThis column displays the names of component parameters (read-only).


Include When checked, the parameter optimization settings are used.
Distribution Click in the Distribution column and then select Uniform, Gaussian, Lognormal, or User Defined. By default, Uniform distribution is set.
Distribution Criteria Click the button to open the Edit Distribution dialog in which you
can set criteria appropriate for the chosen Distribution type.

Signals Tab (Edit Component)


The Signals tab lists the names and values of signals for digital elements. Parameter information
can be shown for Values, Optimization, Tuning, Sensitivity, and Statistics. Buttons also allow
you to Add, Edit, or Remove properties.
Value

NameThis column displays the names of component parameters. Names can be edited for
case only.
ValueThis column allows you to change the initial values of parameters.
UnitThis column allows you to set the unit of measure for the parameter value.
Netlist Unit This column allows you to set the unit of measure used when the parameter is
netlisted.
Description This column allows you to enter a description for the parameter.
Callback This button allows you to associate a callback script with the parameter.

4-38 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Signal Type This column shows the type of signal (e.g., real or bit) set for the parameter.
Direction Allows you to select the parameter direction (In, Out, InOut, or Dont Care).
Show Pin When enabled, this check box controls whether or not the parameter pin is shown
on a schematic.
Default SDB This check box controls whether or not the parameter is

Adding and Editing Properties (Edit Component)


Click the Add button to add a property to a component definition. In the Add Property dialog box,
you can enter the property name, value, and value type (text input, menu, checkbox, etc.). Depending on the value type, you can also choose a unit type (angle, frequency, capacitance, etc.) and the
default units (deg, GHz, pF, etc.) for the property. The Value field supports multi-line text which
you can add either by pasting, or by direct entry (use Ctrl+Enter to insert carriage returns).
An informational panel provides guidance for entering data in the various fields
Warning

Do not use the names of reserved system parameters for property names.

Click the Edit button to edit a component property. Editable fields are the same as those described
above for the Add Property dialog box.

Removing Properties (Edit Component)


The Edit Component>Properties dialog allows you to remove a component property. Select the
property and click the Remove button. Click OK. The property is deleted from the component definition (model) and from all instances in the design.
Warning

Removing a property from a component from an Simplorer component library may


produce undesirable results when the component is simulated.

Click OK to save your changes and close the dialog, or click Cancel to close the dialog without
saving any changes.

The Component Netlist String Property


When a Simplorer Circuit analysis is requested for a modified design, or when Browse Netlist is
invoked, Simplorer writes a text-based netlist to the project results folder that conveys to the simulation engine the connectivity, parameter values, analysis specifications, and other characteristics of
the design(s) under analysis.
To support this process, every Simplorer Circuit component must include a valid definition for a
property called SimplorerNetlist.
To view the SimplorerNetlist for a component:

Open its Properties dialog.


Select the Parameter Values tab.
Working with Libraries 4-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Click the Shown Hidden box.


Click the Value button for SimplorerNetlist.

The Edit Netlist String dialog box opens, displaying the netlist string. Use the dialog box to edit
the string if desired.
See Also: The Netlist String Syntax Reference

Netlist String Syntax Reference


The general form for a netlist string is:
<Simulator>Netlist=[netlist_string]
where <Simulator> is Simplorer, etc.
The netlist string may contain the following netlist property syntax:
%<terminal index, 0-based>
Name of net connected to terminal index.
(Syntax error if terminal index is not a positive number, within range.)
Example:
%0, %1
%_<internal node index, 0-based>
Create a unique net for an internal node. Used when a component has nodes that are not associated with symbol terminals and are not tied to a global node.
(Syntax error if node index is not a positive number, within range.)
Example:
%_0, %_1
@<propname> | @(<propname>)
Value of property named propname.
(Syntax error if propname is empty or contains spaces.)
Example:
@R, @IDSS
?<propname>(<expr1>)[:(<expr2>)]
If property named propname exists, substitute expr1, else (optionally) expr2. expr1 and expr2
may contain additional substitutions.
(Syntax error if propname is empty or contains spaces.)
Example:
?IDSS(IDSS = @IDSS):(IDSS = 0.05)
~<propname>(<expr1>)[:(<expr2>)]
If property named propname doesnt exist, substitute expr1, else (optionally) expr2.
(Syntax error if spaces in propname or propname is empty.)
4-40 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example:
~SUB(SUB = MS)
?(<propname>==<value>)(<expr1>)[:(<expr2>)]
?(<propname>!=<value>)(<expr1>)[:(<expr2>)]
~(<propname>==<value>)(<expr1>)[:(<expr2>)]
~(<propname>!=<value>)(<expr1>)[:(<expr2>)]
Same as ? and ~ above except the first term is evaluated for equal to (==) or not equal to
(!=) and if true, substitute expr1 else (optionally) expr2.
Example:
?(sim==fullwave)(NSUM=@NSUM):(F0=@F0)
*<propname>(<expr1>)
If property named propname has changed from default (definition value), then substitute
expr1.
(Syntax error if spaces in propname or propname is empty.)
Example:
*IDSS(IDSS = @IDSS)
&(<expr>)[^(pname1,pname2, . . . )]
Add all properties that have changed from default (definition value), except those in the
optional exclusion list. In expr, $ can be used to represent the property name, and # the property value.
Example:
&($=#)^(Model)
will netlist all properties that changed from their default value except the Model property.

\n

A new line marker to inform the netlister to insert a new line.


Example:
R@ID %0 %_0 @R \n C@ID %_0 %1 @C
\n
A new line marker to inform the netlister to insert a new line. Example:
R@ID %0 %_0 @R \n C@ID %_0 %1 @C
\
The backslash is used as an escape character. The character following the backslash is not processed but added to the netlist string as is. To add a single '\', use '\\'.
Example:
R:@ID %0 %1 R=\{\2\*@R\}
Working with Libraries 4-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Defined Variables
$SYSLIB will be expanded to <InstallationDirectory>/syslib upon netlisting, where
<Installation Directory> is the directory into which Simplorer was installed during setup.
$USERLIB will be expanded to <InstallationDirectory>/userlib upon netlisting.
$PERSONALLIB will be expanded to <ProjectDirectory>/PersonalLib upon netlisting,
where <ProjectDirectory> is the location you specified for your Simplorer projects.
Global Reference String in Simplorer
A global reference property will process its value the same way as the netlist string and will
place the result in the top-level (global) part of the circuit file.
<Simulator>GlobalRef=[string]
where <Simulator> is Simplorer, etc.
Examples:
SimplorerNetlist=CPLE:@ID %0 %1 %2 %3 ?Z(Z=@Z) ?E(E=@E) ?F(F=@F)
*A(A=@A)
Z, E, and F use the ? conditional because the component definition values assigned to these
parameters are different than those in the engine and should always be netlisted even if the user
has not changed them. The A parameter uses the * conditional because its component definition value matches that of the engine and we just need to netlist it if the user changes the
instance value.
SimplorerNetlist=R@ID %0 %1 @R ?TC1(TC1=@TC1 ?TC2(tc2=@TC2))
?TJ(TJ=@TJ) ?TNOM(TNOM=@TNOM)
In this example, TC1 will be netlisted only if TC1 exists, and TC2 will be netlisted only if TC1
and TC2 exist.
SimplorerNetlist=MSBENDO:@ID %0 %1 w=@Length sub=@Substrate
W and Sub will always be netlisted.
SimplorerNetlist=MOSFET:@ID %0 %1 %2 %3 MODEL=@Model
&($=#)^(Model)
Model will always be netlisted. The &($=#)^(Model) indicates to netlist all the parameters
as name=value, except for Model.
SimplorerNetlist=D@ID %0 %1 1N914
SimplorerGlobalRef =.LIB $SYSLIB/Vendor/D.lib
which may netlist to:
D22

net_3

net_4

1N914

< rest of design netlists ...>


.LIB $SYSLIB/Vendor/D.lib
SimplorerNetlist=R:@ID %0 %1 R=\{\2\*@R\
If ID is 1 and R is 100, the netlist will be:
4-42 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

R:1 net_0 net_1 R={2*100}

Working with Libraries 4-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Symbol Editor


A symbol is a set of information that defines the graphical representation and electrical connectivity, if any, of a component for inclusion in a schematic. Every component in a model library has at
least one symbol, which is displayed when the component is placed on a schematic sheet. Componet symbols are language-dependent. In other words, each language (SML, VHDL-AMS, C) can
provide its own specific symbol. Symbol definitions are stored in library files with an extension of
.aslb.
These Symbol Editor topics are available:
Creating and Editing Symbols
Editing an Existing Symbol
Creating a New Symbol
The Symbol Editor
The Symbol Draw Menu
The Symbol Menu
Editing Pin Properties
The Pin List Dialog Box
The Properties Dialog Box (Property Display)
The Grid Setup Dialog Box (Symbol Editor)

Creating and Editing Symbols


Creating or editing a symbol involves using the symbol editor to:

Draw graphical primitives, such as rectangles, circles, and arcs, using options on the Draw
menu
Add pins for electrical connections using the Pin option on the Draw menu, and possibly modifying the properties of these pins via the Pin List dialog box
Add text labels, using the Text option on the Draw menu
Add property displays, using the Property Display Setup option on the Symbol menu
Update the current project with the new or revised symbol definition using the Update Project
option on the Symbol menu

You may also want to export a symbol to a symbol library (.aslb) file for use in other projects. For
information on how to do this, see the Edit Libraries dialog box topic.

Editing an Existing Symbol


To edit an existing symbol, do either of the following:

In the project tree, expand the Definitions folder and the Symbols subfolder for the project
that contains the symbol you want to edit.
Double-click the entry for the symbol you want to edit, or right-click the entry, and then
click Edit Symbol.

4-44 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The symbol editor runs and opens the selected symbol for editing.

Click Tools>Edit Configured Libraries>Symbol to open the Edit Libraries dialog box to
the Symbols tab, and locate and select the Project version of the symbol that you want to edit.
Click Edit Symbol, or double-click the selected entry.
The symbol editor runs, and opens the selected symbol for editing.

Creating a New Symbol


To create a new symbol, do either of the following:

Click Tools>Edit Configured Libraries>Symbol to open the Edit Libraries dialog box to
the Symbols tab, and then click Add Symbol.
The Get Name dialog box opens.
Type a name for the symbol into the Enter the name for this new Symbol box, and then
click OK or press Enter.
Double-click the entry for the new symbol, or click Edit Symbol.
The symbol editor opens.

Click Tools>Edit Configured Libraries>Symbol to open the Edit Libraries dialog box to
the Symbols tab, and locate and select an existing symbol on which you would like to base
your new symbol.
Click Clone Symbol(s).
The Get Name dialog box opens.
Type a name for the new symbol into the Enter the name for this new Symbol box, and
then click OK or press Enter.
Double-click the entry for the new symbol, or click Edit Symbol.
The symbol editor opens.

The Symbol Editor


The symbol editor opens when you begin to create or modify a symbol. Like the schematic editor,
the symbol editor is a graphical tool that keeps the placement of symbol elements uniform by snapping them to points on a grid. The window controls for zooming and panning the view are the same
as those in the Schematic Editor
With the symbol editor, you can add, modify, and manipulate graphical primitives, text labels, pins,
and property displays. You can also adjust the resolution, color, and visibility of the editor grid. You
can create several symbol levels, which you can use to control symbol visibility. When youre
done, you can update the current project with any changes youve made to the current symbol.
Options related to these operations are available on the Symbol menu and the Symbol Draw menu.

Working with Libraries 4-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Symbol Editor Shortcut Menus


When you right-click in the symbol editor grid, this shortcut menu appears:

These options are a subset of those available on the View menu.


When you right-click an object in the symbol editor, this shortcut menu appears:

4-46 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Graphic objects placed in the symbol editor have various properties associated with them such as
color, fill style, line weight, etc. Click Properties to view the properties of the selected object. The
other options are a combination of entries from the Edit, View, and Draw menus.

Symbol Graphic Object Levels


There are two display styles available for symbols shown in the schematic editor: IEEE and Traditional. The display style is set on the Schematic Editor Options:General tab. Each style contains
two or more active levels for the graphic objects that comprise a symbol. Each graphic object in a
symbol is associated with a level.
Graphic object levels are managed in the Symbol Editor by selecting the View>Levels menu command, which opens a Levels dialog box for the symbol currently being edited.

Levels may be shown or not depending on external settings.

Level 0 graphics are common to both IEEE and Traditional symbol styles, and are always
shown.
All symbol Pins are on level 0, and thus are common to both styles.
Objects placed on level 1 in the IEEE style are always shown on the schematic when the
user chooses the IEEE display style. Similarly, objects placed on level 1 in the Traditional
style are always shown on the schematic when the Traditional style option is chosen.
Levels greater than 1 are independent for each style. Users may add any number of levels,
for IEEE, Traditional, or both styles using the Add Level button. Visibility of graphics on
additional levels may be controlled via the Default checkbox in the Levels dialog box, in
a special component dialog box, or programmatically. In Simplorer, visibility is controlled
by setting up Boolean conditions using quantities and then evaluating the conditions as a
simulation progresses.

Working with Libraries 4-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To set the level and style of a graphic object:


1.

Choose the Level by clicking the radio button next to the desired level.

2.

Choose desired Symbol Style by clicking either IEEE or Traditional.

3.

Select and place the desired graphic object (circle, line, pin, text, etc.) from the Symbol Draw
Menu.

4.

When finished, Close the symbol Levels dialog box.

Arranging Symbol Elements


Graphic elements and interactions can be placed on different symbol levels (0-31) and on different
layers within a level. Within a level you can change the order of elements with the commands on
the Symbol Draw menu. In the Symbol Levels dialog, you can assign the level to an element. Pins
are always placed on the '0' level and snapped to the grid.
Pins

M a cr

Layers in
a Level;
Graphic, Text,
Interaction areas

Level

31

The Symbol Draw Menu


The symbol editor Draw menu presents options for drawing graphical primitives and text, and
manipulating selected objects. The Draw menu options include:

Arc
This option, also available from the Symbol Draw toolbar
, initiates creation of an arc. To
draw an arc, click the symbol editor grid at the two points that will determine the arcs ends, and
then drag the arc to the desired radius.
Once you have created an arc, you can adjust its radius or move its endpoints by clicking the arc to
select it, and dragging the appropriate handle.

Circle
This option, also available from the Symbol Draw toolbar
, initiates creation of a circle. To
draw a circle, click the symbol editor grid to select a center point, and then drag the circle to the
desired diameter.
Once you have created a circle, you can adjust its diameter in either of two ways:

Click the circle to select it, and then drag one of its handles.

4-48 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Double-click the circle to open its Properties dialog, type a new value for the Radius parameter, and then click OK.

By default, a new circle is hollow. You can fill a circle with solid color or parallel lines in one of
several styles as follows:
a.

With the circles properties displayed, click in the Value cell for the FillStyle property.

b.

Select the desired fill style from the list.

c.

Click OK.

Line
This option, also available from the Symbol Draw toolbar
with one or more segments. To draw a line:

, initiates creation of a polyline

1.

Click the symbol editor grid where you want the line to start, and then click at one or more
points to continue the line.

2.

To complete the line, do one of the following after defining its final segment:

Press SPACE.
Right-click, and then click Finish.

After you have completed a line, you can change the endpoints of its segments by doing the one of
the following:

Select the line and drag the appropriate handle(s).


Double-click the line to open its Properties dialog box, type new position values
(in the form X: Y) for the desired vertices, and click OK.

The Properties dialog box also allows you to set the color and width of the line; and the line style
(solid, dash, dot, dash dot, or dash dot dot).
The object displayed at the beginning and/or ending of the line can also be selected. Choices
include: a short perpendicular line, arrow, solid arrow, square, diamond, and circle.

Polygon
This option, also available from the Symbol Draw toolbar
create a polygon:

, initiates creation of a polygon. To

1.

Click the symbol editor grid to specify the position of one vertex, and then click wherever you
want to place additional vertices.

2.

To complete a polygon, specify the position of its final vertex, and then do either of the following:

Press SPACE.
Right-click, and then click Finish.

Once you have drawn a rectangle, you can edit its vertex positions, border width, and other properties, including its fill style, as follows:

Click the rectangle, and then edit its properties in the Properties window.
Double-click the rectangle, and then edit its properties in the Properties dialog box.
Working with Libraries 4-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

By default, a new polygon is hollow. You can fill a polygon with solid color or parallel lines in one
of several styles as follows:
a.

With the polygons properties displayed, click in the Value cell for the FillStyle property.

b.

Select the desired fill style from the list.

c.

Click OK.

Rectangle
This option, also available from the Symbol Draw toolbar
, initiates creation of a rectangle.
To create a rectangle, click the editor grid to specify the position of one corner, and then drag the
rectangle to the desired size.
Once you have drawn a rectangle, you can edit its height and width, the position of its center, and
its angle (its rotation, in degrees, relative the handles of its bounding box) as follows:

Click the rectangle, and then edit its properties in the Properties window.
Double-click the rectangle, and then edit its properties in the Properties dialog box.

By default, a new rectangle is hollow. You can fill a rectangle with solid color or parallel lines in
one of several styles as follows:
a.

With the rectangles properties displayed, click in the Value cell for the FillStyle property.

b.

Select the desired fill style from the list.

c.

Click OK.

Text Label
This option, also available from the Symbol Draw toolbar
, adds to the symbol an editable
Default text label in 12-point Arial. To edit the default text string immediately after placement,
type the text you want, and then press Enter or click elsewhere in the editor grid.
To change just the text of an existing label:
1.

Click the label.

2.

Click the label again to open its text for editing.

3.

Type the desired text.

4.

Press Enter or click elsewhere in the editor grid.

Other properties of a label, include its color, font, size, angle of rotation, and justification. A rectangular bounding box can also be shown around the text. The rectangles fill color and style, border
color and width, the position of its center, its width, height, and angle of rotation can be set independently of the associated text. To edit these properties:
1.

Do one of the following:


a.

Click the label and view its properties in the Properties window.

b.

Double-click the label and view its properties in the Properties dialog.

c.

Right-click the label and select Properties to view its properties in the Properties dialog
box.

4-50 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

Click in the Value cell for the property you want to modify.

3.

Modify the value.

4.

Click OK, or click in another Value cell to commit the change and keep editing values.

Image
This option, also available from the Symbol Draw toolbar, allows you to select an existing external
.bmp or .gif image file, and place it on the symbol grid.
To add a bitmap or GIF image to a symbol:
1.

Click Draw>Image or click the

icon on the toolbar.

This displays a file browser. It defaults to your PersonalLib location, but lets you use buttons
to select Syslib, UserLib, Project Folder, file path, or standard browser functions to look
through your file system and network.
2.

Specify the file format as bitmap (.bmp) or GIF (.gif).

3.

Click the Open button to import the image to the schematic.

4.

Position you cursor at the desired location and left-click.


The image appears at the cursor location, remaining selected so that you can resize it as needed
by dragging the cursor. Resizing maintains the original proportions.

5.

Click again to anchor the image and release it from the cursor.
The image remains selected, with the drag handles on the corners visible. If necessary, you can
select a handle resize the image.
The image includes a Properties window in which you can edit the images properties, including: center coordinates, angle of rotation, width, and height. A checkbox toggles display of a
border and enables additional border properties including: border color and width. Additional
checkboxes allow the image to be mirrored left-to-right, and to establish a link to the image
file.

Pin
This option, also available from the Symbol Draw toolbar, initiates placement of a symbol pin with
a default stem length of 100 mil. You can rotate a pin in 90 degree increments before placing it by
iteratively pressing R until the pin is oriented to your liking. Click in the editor grid to finish placing the pin. Pins are always placed on the 0 level and snapped to the grid. After placement, you
can rotate the pin in 90 degree increments by iteratively pressing Ctrl-R. You can also move and
reorient pins as described below.
Adjusting Pin Orientation

If the Adjust Pin Orientation on Drag option in the Schematic Editor Options: Symbol
Editor Options Tab is enabled, you can drag pins from one side of a symbol to another

Working with Libraries 4-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

using the mouse,

Top
L
e
f
t

Symbol
Graphics

R
i
g
h
t

Bottom

and the pins automatically rotate or flip to the appropriate orientation.

Note

Ctrl+click to select and drag multiple pins from one side of a symbol to another.

If multiple selected items include symbol graphics in addition to pins, then automatic pin
orientation is disabled for that move operation.
Pressing the Alt key while dragging the pin(s) temporarily disables the automatic pin ori-

4-52 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

entation funtion if Adjust Pin Orientation on Drag is enabled. Conversely, if Adjust Pin
Orientation on Drag is disabled, pressing the Alt key while dragging the pin temporarily
enables automatic pin orientation.
Other properties of the pin include its name, color, level, type, length, visibility of the pin name and
number, and the circuit node to which the pin will be connected when hidden. Refer to the section
on Editing Pin Properties for detailed explanations of these properties.
To edit these properties:
1.

Do one of the following:


a.

Click the pin and view its properties in the Properties window.

b.

Double-click the pin and view its properties in the Properties dialog.

c.

Right-click the pin and select Properties to view its properties in the Properties dialog
box.

2.

Click in the Value cell for the property you want to modify.

3.

Modify the value.

4.

Click OK, or click in another Value cell to commit the change and keep editing values.

Note

If you make a pin name or number visible, the text can be selected, moved, rotated, and
modified like any other text label. However, a pins name and number remain linked to
the associated pin.

Rotate
This option, also available from the Symbol Draw menu and by pressing Ctrl+R on the keyboard,
rotates a selected object or group of objects 90 counterclockwise.

Align Horizontal
This option horizontally aligns the locations of the members of a group of selected objects with the
location of the first-selected object.
To align multiple objects horizontally:
1.

Press Ctrl, and then click the object with which you want to align the others.

2.

Still pressing Ctrl, click the additional objects in turn to add them to the selection.

Note

3.

The first-selected object is highlighted in red, and that the subsequently selected objects
are highlighted in dark red.

On the Draw menu, click Align Horizontal.

Align Vertical
This option vertically aligns the locations of the members of a group of selected objects with the
location of the first-selected object.

Working with Libraries 4-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To align multiple objects vertically:


1.

Press Ctrl, and then click the object with which you to align the others.

2.

Still pressing Ctrl, click the additional objects in turn to add them to the selection.

Note

3.

The first-selected object is highlighted in red, and that the subsequently selected objects
are highlighted in dark red.

On the Draw menu, click Align Vertical.

Flip Vertical
This option, also available from the Symbol Draw toolbar, flips the selected object or group of
objects around the X axis.

Flip Horizontal
This option, also available from the Symbol Draw toolbar, flips the selected object or group of
objects around the Y axis.

The Symbol Menu


The Symbol menu lists options for symbol naming, property displays, and file operations. Its
entries include:

Update Project
Set Name
Property Display Setup
Pin List
Grid Setup
Import File
Export File
Edit Component
Animate
List

Update Project
The Symbol>Update Project command updates the current project with changes made in the current symbol.
Note

Update Project updates your symbol changes to the current project in memory and does
not save your changes to disk. To save your changes to disk, you must also click Save on
the File menu. If you would like the changes you have made in a symbol to be available
for use in other projects, you must export the symbol to a library as described in the Edit
Libraries dialog box topic.

4-54 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Set Name
The Symbol>Set Name command opens a Properties dialog box in which you can rename the current symbol.

Symbol Property Display Setup


The Symbol>Property Display Setup command opens a Properties dialog box in which you can
add or modify how the names, values, and locations of properties associated with the component or
object (such as a title block) represented by the current symbol are displayed.
The Symbol Display Properties Dialog Box
This dialog box lists symbol display properties and controls their presence, visibility, and position.

Note

Note

Add Click this button to add a new property display entry to the list.
Change Component ContextClick this button to open the Select Definition dialog
box, through which you can select the component definition on which property displays
are based. The properties of the selected component are then available in the Name cell
properties list.
Because a symbol can be used by multiple components with differing properties, any
property name can be entered by the user. If a component using the symbol doesn't have
a property with that name, the symbol property isn't used in that component.
Location Click in this cell to set the location (Left, Top, Right, Bottom, Center) of the
property display relative to the symbol center.
You can further position a property display by rotating it (Ctrl-R), or by dragging it to
another location with your mouse. When you do this for a given property display, its
Location value is set to Custom.
Name Click in this cell to type a property display name, or to select an existing property
Working with Libraries 4-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

display from a list. The component selected via the Change Component Context button
determines which property displays are listed for selection.

Remove Click this button to remove the selected property display.


Visibility Click in this cell to set the visibility (None, Name, Value, or Both) of a property display.
Set Title Block Context Click this button to make the list of default page properties, and
others as specified, available for display. Default properties include: ProjectPath, Project,
Design, Title, Author and Date. This context is selected by default if the symbol has three
or more propdisplays for default page properties.

Pin List (Symbol)


The Symbol>Pin List command gives you access to settings related to pin properties by opening
the Pin List dialog box.

Grid Setup (Symbol)


The Symbol>Grid Setup command gives you access to settings related to the symbol editor grid
resolution, color, and visibility by opening the Grid Setup dialog box.

Import File (Symbol)


The Symbol>Import File command allows you to import an existing SVG-formatted symbol into
the symbol editor. The SVG (Scalable Vector Graphics) format is an open, XML-based web standard graphics format supported by many third-party tools.
To import an SVG (.svg) file when creating a new symbol definition do the following:
1.

In the Project Manager, right-click on the Definitions>Symbols folder in the desired project
and select Add Definition on the context menu.

2.

Enter a name for the new symbol in the Definition Name dialog box and click OK.

A new blank Symbol Editor window opens.


3.

On the main menu bar, select Symbol>Import File and choose an existing .svg symbol file to
import it into the symbol editor.
A dialog box appears advising you that importing the .svg file will remove any existing symbol

4-56 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

graphics in the editor, and asking you if you are sure you want to continue the import.
Note

4.

There is no Undo for the import operation. Consequently if you make a mistake
on import, you must close the project without saving, then reopen it to recover.
Currently you can import .svg symbols into any symbol editor window - including
those containing pre-exisiting component symbols in which case the current symbol
in the editor will be replaced by the imported symbol, so make sure that you import
the symbol in the desired place.

Click OK to import the .svg symbol for further editing, or Cancel to abort the operation.

Once the new symbol has been created, you can attach it to a component via the Property Display
Setup command.

Export File (Symbol)


The Symbol>Export File command allows you to save the current symbol to a graphics file for use
in other applications. You can export to the following graphics formats:

Microsoft Enhanced Meta File (.emf)


Scalable Vector Graphics (.svg) - Scalable Vector Graphics (SVG) is an open, XML-based
web standard supported by many third-party tools.

Edit Component (Symbol)


The Symbol>Edit Component command opens the Edit Component dialog box to modify the
component associated with the active symbol.

Animate
The Symbol>Animate command opens the Animation dialog box where you can add, edit, and
delete expressions for animating the symbol. Animations embedded in a symbol change the symbol
appearance during the simulation process in response to a change in value of a system quantity.

The Expression control opens the Edit Condition dialog box in which you can add or edit
conditions that trigger animation events.
The Activate Level(s) control opens the Select Levels dialog box where you can choose which
symbol levels are shown when a condition is satisfied.

Working with Libraries 4-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

List Symbol Graphic Elements


The Symbol>List command provides a convenient way to list the graphics elements of a symbol,
namely the Design List dialog box.

Name: Shows the ID of the graphic.


Type: Shows the graphic type (Circle, Rectangle, Arc, Text, Pin, etc.).
Page: Shows the page number on which that graphic is located.
Description: Shows the descriptive text for text and pin graphic types; and is blank for
non-textual graphics.

Refer to Listing Design Elements for additional information.

Editing Pin Properties


To edit a property of a symbol pin, open the symbol editors Pin List dialog box by doing either of
the following:

In the Symbol menu, click Pin List.


On the Symbol toolbar, click the Pin list icon

In addition to the pin properties described below for the Pin List dialog, the pins Properties Window and Properties dialog also allow you to set the pin color and level.

The Pin List Dialog Box


The Pin List dialog box displays and sets values for the properties of symbol pins.

4-58 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Pin properties include:

Pin Label provides a field to add a user-defined label for the chosen pin on a component
symbol without having to change the actual Pin Name associated with the chosen pin. Pin
labels for pins in a component should be unique.
To specify or change the label of a pin, click in the Pin Label cell for that pin, type the name,
and do either of the following:

Press Enter.
Click in another cell.

The Pin Label can be displayed for the chosen pin by unchecking Use Name As Label.

Use Name As Label controls whether the Pin Name or Pin Label is displayed for the chosen pin when Show Label is enabled. For a new pin, Use Name As Label is checked by
default.
Pin Name sets the actual pin name. To specify or change the name of a pin, click in the Pin
Name cell for that pin, type the name, and do either of the following:

Press Enter.
Click in another cell.

Show Label controls visibility of the either the Pin Name or Pin Label text for the pin (as
determined by Use Name As Label). For a new pin, it is unchecked by default.
Show Index controls visibility of the pin number in the schematic editor. For a new pin, it is
unchecked by default.
Type drop-down list sets the pin type. Options include Normal (the default), ANSI In,
ANSI Out, and Zero Length. To change a pins type, click in its Type cell, and then click the
desired option.
Length (mils) sets the length of the pin stem (the graphical line associated with the pin port
symbol). By default, new pins have a pin stem length of 100 mils. To change the length of a
pin, click in its Length cell, type a new value, and do either of the following:

Press Enter.
Click in another cell.
Working with Libraries 4-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Hide Pin controls whether or not a pin is visible in the schematic editor. For new pins, it is
unchecked by default.
Hidden Pin Net editable when Hide Pin is checked, specifies the net (circuit node) to which
a pin will be connected if it is hidden. To specify a net, click in the Hidden Pin Net cell, type a
net name, and then do either of the following:

Press Enter.
Click in another cell.

Using Pin Labels


Pin Labels provide a way to display user-defined text labels for selected pin(s) on a component
symbol without having to change the actual pin names, port names, and terminal names associated
with the selected pin(s).

Pin Labels can be displayed on the chosen pin by changing the PinLabel property with a
user-defined name and unchecking the checkbox UseNameAsLabel.
The UseNameAsLabel check box provides a mechanism to either use PinLabel or PinName as the display text on the schematic and symbol editor canvas. By Default it is set to
true
The ShowLabel Checkbox controls the visibility of chosen label text on the pin
Pinlabels for pins in a component should be unique.

Changing Pin Properties


To change a pin property:
1.

Click the cell that displays the pin property value that you want to change.

2.

Modify the property value appropriate to its type as described in The Pin List Dialog Box.

3.

Do either of the following:

To commit the new value and continue editing pin properties, click another property
value.
To commit the new value and stop editing pin properties, click OK.

4-60 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Script Editor


The Simplorer Script Editor supports the viewing, modification, saving, printing and exporting of
script file information for use by Simplorer. After modifying a script, the information can then be
saved, used to render a footprint, or exported.
Related Topics:
Starting the Script Editor
Printing
Script Editor Menu
Script Editor Toolbar
Text Editor Options

Starting the Script Editor


To invoke the Script Editor do either of the following:

Double-click a script listed beneath the Definitions/Scripts folder in the Project Manager.
Select Edit Script in the Tools > Edit Configured Libraries>Scripts dialog.

This opens the Script Editor window. Text displayed within the editor is highlighted to allow for
easy identification of the various structures of the displayed script.

Script Editor Menu


After you invoke the Script Editor, the following options are listed in the Script Toolbar Menu.
The following options are available:

Export Script exports the script to a file. Refer to Exporting a Netlist for additional information.
Save Script saves the script.
JavaScript/VBScript controls the syntax highlighting for the selected language.

Script Editor Toolbar


When a new or pre-existing script file is opened, the Script Editor Tool Bar is displayed in the
Simplorer tool bar area.

Working with Libraries 4-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Symbol Function

Toolbar Symbol

Definition

Toggle bookmark

Inserts a bookmark at the active


cursor position, or turns off an
existing bookmark.

Delete bookmarks

Deletes all bookmarks in the text.

Bookmark forward

Moves the cursor to the next


bookmark in the text.

Bookmark backward

Moves the cursor to the previous


bookmark in the text.

Find window

Displays the text string you have


entered to find. Click the pull-down
arrow to display previously
searched for text strings.

Forward search

Searches forward in the file for text


entered in the Find Window.

Backward search

Searches backward in the file for


text entered in the Find Window.

Forward search,
case-sensitive

Searches forward in the file for text


entered in the Find Window with
case-sensitive control.

Backward search,
case-sensitive

Searches backward in the


file for text entered in the Find
Window with case-sensitive
control.

4-62 Working with Libraries

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the C-Model Editor


The Simplorer C-Model Editor facilitates the development and extension of C-Models for Simplorer by generating much of the C++ code required to implement a Simplorer C-Model. Syntax
checking and generation of Dynamically Linked Library (.dll) files for models are also managed
via the C-Model Editor. Printing the C-Model listing is also supported.
Developing C-models requires that one or more of the following be properly installed on the computer:

Microsoft Visual Studio 2008


Microsoft Visual C++ 2008 Express
Microsoft Visual Studio 2005
Microsoft Visual C++ 2005 Express
Microsoft Visual Studio .NET 2002
Microsoft Visual Studio .NET 2003
Microsoft Visual C++ 6.0

Models generated using the C-Model Editor are listed under Project Components in the Project
Manager components tree, and can be used in the same way as other Simplorer components.
Because they are components, their properties may also be edited using Simplorers Component
Editor.
For a detailed discussion of how to develop, program, debug, and deploy C-Models in Simplorer,
refer to: C-Models in Simplorer.
Related Topics

C-Model Editor Options


Adding a C-Model
Adding Analysis Types, Nodes, States, Variables, and Models to a C-Model
Implementing the Initialize, Simulate, Validate, and Close Functions
Checking Syntax
Printing
Building a C-Model Component
Revising an Existing C-Model with the C-Model Editor
C-Model Editor Menus and Windows
Importing Simulation Models
Sample C-Model Source Code

4-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

C-Model Editor Options


To set C-Model Editor options in Simplorer.
1.

Click Tools>Options>CModel Editor Options.


The CModel Editor Options window appears, containing two tabs.

The Text Options tab contains the same options settings as all other Simplorer text editors.
The General tab allows users to set how model source files are managed. It also allows
users to enable a warning if users attempt to override or replace an existing C-Model dll.

Check Warn about override/replace of existing dll to warn users if they attempt to
override or replace an existing C-Model dll file.
The DefaultModel Source panel contains a drop-down menu with three choices.
Choose None if you do not want the model to know the path to the source .scp file.
Choose Path to project to enable the model to know the path to the source .scp file.
Choose Zip Model Source to have the model contain the CModel editor file contents in zip format.

The C++ Compiler panel contains a drop-down menu that allows the user to select
which of the available installed Visual Studio versions to use for direct compilation
inside the C-Model editor.

When finished making settings, click OK.

4-64

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding a C-Model
The following procedure outlines the steps for adding a C model using Simplorers C-Model Editor.
1.

On Simplorers menu bar, select Tools>Edit Configured Libraries>Models.


The Edit Libraries dialog box appears.

2.

Click the Add Model button to open the Add Model dialog box.

3.

Select C-Model from the Model Type pull-down list.


4-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Type the name of the new C-model into the Model Name field. This name will be applied to
the project folder Simplorer creates for the models files, and also to the models source files.
The new folder and files reside in the PersonalLib folder under the Project Directory specified
in the General Options dialog Project Options tab.

5.

Simplorer gives you the choice of adding the new model directly to the current project (for
later editing, perhaps), or of adding the model via Simplorers C-Model Editor. Choose one of
the following:
a.

To add a new model directly to the current project, uncheck the Add New Model Using
Editor checkbox, and then click OK.
Simplorer creates a new model project folder and source files (bearing the model name
you chose above) in the PersonalLib folder under the Project Directory specified in the
General Options dialog Project Options tab. The model is added to the Project Managers Definitions>Models folder.

Note
b.

You can open the model source files for editing by double-clicking the models icon.
To add a new model to the current project with its source files already open and ready to
edit, ensure that the Add New Model Using Editor checkbox is checked (the default setting). Click OK to close the box.
The C-Model Editor opens and automatically creates a C++ source (.cpp) file for the CInterface functions of the model, a C++ header (.h) file for the macro definitions necessary
for the model, and a C++ source file bearing the model name you chose above.
By default the C++ source file for your model will already contain function declarations
for the Initialize, Simulate, Validate, and Close functions for the transient analysis type.

Note

6.

When the C-Model Editor window is active, the Project Manager displays the Model
Editor tab which lists the files, functions, and other information for the C-Models.

Edit the model source files using the tools provided in the following sections:
Adding Analysis Types, Nodes, States, Variables, and Models to a C-Model
Implementing the Initialize, Simulate, Validate, and Close Functions

7.

When finished editing, select C Model Editor>Update Project to add the model to the project.

Related Topics

Importing Simulation Models

4-66

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Analysis Types, Nodes, States, Variables, and Models to a CModel


Analysis types, terminal and quantity nodes, internal states, variables, and additional models may
be added to a C-Model project by using the commands highlighted in the C Model Editor menu.

The resulting Edit Model dialog provides a tree view with the selected item highlighted in the left
pane. The right pane contains the corresponding data entry fields.

Note

You can select items in the tree to add Models, Analysis Types, etc., instead of using the
menu

Adding Analysis Types


To add analysis types to a C-Model:
1.

Select Edit Analysis Type from the C Model Editor menu. The Edit Model dialog box

4-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

appears with Analysis Type selected in the Model tree.

2.

Select the name of the appropriate model from the list presented in the Model list.

3.

Check the Use box next to the Analysis Type(s) (TRansient, AC, or DC) to be added.

4.

Click OK.
Initialize, Simulate, Validate, and Close function declarations are added for each of the analysis types selected for the model.

Note

The contents of these functions must still be added. For further information about
creating the contents of these functions, see: Initialize, Simulate, Validate, and Close
functions.

Adding Terminal Nodes


To add a Terminal node to a C-model:
1.

Select Edit Terminal from the C Model Editor menu. The Edit Model dialog box appears

4-68

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

with Terminal selected in the Model tree.

Add

2.

Select the name of the appropriate model from the list in the Model field.

3.

Click the Add button to add a new entry to the list in the Terminal field. (If this is the first
time you have visited this field for a new model, the field will be empty.)

4.

Type a name for the Terminal node that will be visible when the model containing the node is
placed onto a Simplorer Schematic sheet into the Name field.

5.

Select the nature of the Terminal node from the list of available natures in the Nature field.

6.

Repeat steps 2 through 4 to add other Terminal nodes as required for your model.

7.

When finished, click OK.


An AddNode__c function call for each added Terminal node will be added to the selected
model's Prepare_ function.

Editing a Terminal Node


To edit a terminal node:
1.
2.

Select Edit Terminal from the C Model Editor menu. The Edit Model dialog box appears
with Terminal selected in the Model tree.
Select the name of the appropriate model from the list in the Model field.

3.

To edit existing information for the node, simply click on the information and edit it.
To remove an existing node, select the line and then click the red X to delete it.

Click OK to complete the editing process.


The AddNode__c function calls for the edited nodes will be altered to reflect the changes.

4-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Quantity Nodes


To add a Quantity node to a C-model:
1.

Select Edit Quantity from the C Model Editor menu. The Edit Model dialog box appears
with Quantity selected in the Model tree.

Add

2.

Select the name of the appropriate model from the list in the Model field.

3.

Click the Add button to add a new entry to the list in the Quantity field. (If this is the first time
you have visited this field for a new model, the field will be empty.)

4.

Type a name for the Quantity node that will be visible when the model containing the node is
placed onto a Simplorer Schematic sheet into the Name field.

5.

Select the type of Quantity node from the list of available types in the Type field.

6.

If the Type chosen is REAL_, select the appropriate physical type from the list in the Physical
Type field and the expected unit of measure from the list in the Unit field.

7.

If applicable, type an initial value in the Value field.

8.

Select the direction of the node from the list in the Direction field.

9.

Select DIRIN if the node is an input.


Select DIROUT if the node is an output.
Select DIRINOUT if the node is both an input and an output.

If the value of the node is a data vector, select the Vector check box.

10. If you wish to add more quantity nodes, repeat Steps 1 through 8 for each node. If not, click
OK to add the new node properties.
AddNode_nc, SetDataTypeNode_nc, and SetUnitNameNode_nc function calls are added to
the appropriate model's Prepare_ function for each Quantity node created.
4-70

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Editing a Quantity Node


To edit a quantity node:
1.

Select Edit Quantity from the C Model Editor menu. The Edit Model dialog box appears
with Quantity selected in the Model tree.

2.

Select the name of the appropriate model from the list in the Model field.

3.

To edit existing information for the node, simply click on the information and edit it.
To remove an existing node, select the line and then click the red X to delete it.

Click OK to complete the editing process.


The AddNode_nc, SetDataTypeNode_nc, and SetUnitNameNode_nc function calls for the
edited nodes will be altered to reflect the changes.

Adding Internal State Definitions


To add an internal state to a C-model:
1.

Select Edit State from the C Model Editor menu. The Edit Model dialog box appears with
Internal State selected in the Model tree.

Add

2.

Select the name of the appropriate C-model from the list available in the Model field.

3.

Click the Add button to add a new entry to the list in the Internal States field. (If this is the
first time you have visited this field for a new model, the field will be empty.)

4.

Select a name for the state and type it into the Name field. The name should be a valid C++
identifier.

5.

Select a numerical default value for the state and type it into the Value field.

6.

If you wish to add more states, repeat Steps 1 through 4 for each state. Click OK to add the
internal states.
4-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Upon clicking OK, AddNode_State function calls for the states are inserted in the Prepare_
function of the appropriate model.

Editing Internal State Definitions


To edit a state definition:
1.

Select Edit State from the C Model Editor menu. The Edit Model dialog box appears with
State selected in the Model tree.

2.

Select the name of the appropriate model from the list in the Model field.

3.

To edit existing information for the state, simply click on the information and edit it.
To remove an existing state definition, select the line and then click the red X to delete it.

Click OK to complete the editing process.


The AddNode_State function calls for the edited states will be altered to reflect the changes.

Declaring Variables
To declare a variable:
1.

Select the Edit Variable command from the C Model Editor menu. The Edit Model dialog
appears with Variable selected in the Model tree.

2.

Select the name of the appropriate C-model from the list available in the Model field.

3.

Click the Add button to add a new entry to the list in the Internal States field. (If this is the
first time you have visited this field for a new model, the field will be empty.)

4.

Select a name for the variable and type it into the Name field. The name should be a valid C++
identifier.

5.

Select the data Type from the drop-down list.

6.

Enter a default value appropriate for the Type.

7.

If you wish to add more variables, repeat Steps 1 through 5 for each variable.

8.

Click OK to add the variables.


Declaration statements for the variables are inserted in the Prepare_ function of the appropriate model.

Editing Variable Declarations


To edit a variable declaration:
1.

Select the Edit Variable command from the C Model Editor menu. The Edit Model dialog
appears with Variable selected in the Model tree.

2.

Select the name of the appropriate C-model from the list available in the Model field.

3.

To edit existing information for the variable, simply click on the information and edit it.
To remove an existing variable declaration, select the line and then click the red X button
to delete it.

Click OK to complete the editing process.


The declaration statements for the edited variables will be altered to reflect the changes.

4-72

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Models
Additional models may be added to a C-Model project to create a multiple-model dll. To add an
additional model:
1.

Select Add Model from the C Model Editor menu. The Edit Model dialog box appears with
Model selected in the tree view.

Add

2.

Click the Add button to add a new entry to the list in the Model field.

3.

Enter a name for the new model in the Name field.

4.

Select the Model Type you are adding.

5.

Select the model Simulator Type.

6.

If you wish to add more models, repeat Steps 1 through 4 for each model.

7.

Click OK to add the models.


Upon clicking OK, the C-Model Wizard will automatically generate the AddNode_State
function call for the internal state in the Prepare_ function of the appropriate model.

Implementing the Initialize, Simulate, Validate, and Close Functions


This section describes how to implement the Initialize and Simulate functions of a C-Model using
commands from the Insert Data and Simulator Data menus. These menus are context sensitive
and are accessed by right-clicking at the appropriate position in the source code.

4-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Validate and Close functions, when they are required, must be implemented manually.
For more information on how to implement Validate and Close functions, please refer
to the following sections:
Sample C-Model Source Code
C-Models in Simplorer

Setting Matrix Entries


The function calls that set the matrix entries of a C-Model can be implemented using commands
found in the Simulator Data menu.
Note

For more information on how to determine the matrix entries of a C-Model, please refer
to the C-Models in Simplorer documentation.

To access the Simulator Data menu:


1.

Click in the body of the Initialize function for one of the analysis types, and then right-click. A
shortcut menu appears.

2.

Select Simulator Data>Set Equation System from the menu. The Equation System dialog
appears.

3.

In the Analysis Type section, select the analysis type for which the initialize and simulate
functions are being implemented from the drop-down list (TR_, AC_, and DC_ represent transient, AC, and DC analyses, respectively).

4.

In the Matrix section, select the matrix for which entries are to be set from the list. Select
Jacobian for the Jacobian coefficient matrix, Solution Vector for the solution vector, or Right

4-74

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Hand Side to enter right-side vector elements.

Add

By default, the dialog shows matrix entries for each of a C-Model's terminal nodes.
5.

Click the Add button to add additional variables to the matrix. New variables will be given the
default name Change Name. To edit the name of a new variable, click in the appropriate
field in the Node column, and edit the name.

6.

Once all variables have been added to the matrix, nonzero matrix entries can be added to the
matrix. To add nonzero matrix entries:
a.

Click the position of the entry in the matrix. The Jacobian Matrix Entry section of the
Equation System dialog is enabled for editing.

b.

Click the Add button in the Jacobian Matrix Entry section and enter the value for the
matrix entry into the Value field. If the matrix entry contains a temporal derivative, it can
be represented by 1/dt. If the matrix entry contains a complex angular frequency term, jw
can be represented by p.
Select the Fill RHS Manually check box only if the right-side vector entry corresponding
to the position of the currently selected matrix entry is to be filled manually. If the rightside vector is not to be filled manually, this check box may be left deselected.

Note

The right-side vector entry should only be filled manually if the corresponding equation
is nonlinear. For more information on setting right-side entries, please refer to the CModels in Simplorer documentation.

c.

Enter the right-side value corresponding to the matrix entry into the Right Hand Side
Value field only if the Fill RHS Manually check box has been selected. If not, leave the
field empty.

d.

Select the Use Simulate Section check box if the matrix entry is not constant.
4-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

e.

Once all nonzero Jacobian matrix entries and all right-side vector entries have been set,
select Jacobian in the Matrix section of the dialog to preview the completed Jacobian
matrix. Select Right Hand Side to preview the completed right-side vector.

7.

Set each Solution Vector entry by entering its value into the appropriate location in the Value
column.

8.

Once all nonzero Jacobian matrix, right-side vector, and solution vector entries have been set,
click OK. The C-Model editor generates the C code to set the matrix entries in the Initialize
and Simulate functions for the selected analysis.

Initializing Variables
Variables in Initialize and Simulate functions can be initialized to the values of literals, expressions, functions, struct variables, quantity nodes, and solution vector values. Initializing variables
to the values of literals, expressions, functions, and struct variables must be done entirely by manual editing. Initializing variables to the values of quality nodes or solution vector values, however,
can be done predominantly with commands available from the Insert Data and Simulation Data
menus of the C-Model editor.
To initialize a variable to the value of a quantity node:
1.

In the editor window, locate the variable to be initialized. Replace the semicolon following the
variable declaration with the C++ assignment operator =.

2.

Open the Insert Data menu. Select GetValNode_nc, GetValNode_ncFile, or


GetValNode_ncStrg to initialize the variable to a quantity node value that is a real number,
file name, or string, respectively. A Get/Set Value dialog box appears.

3.

Select the name of the quantity node whose value the variable will be initialized with from the
drop-down list in the node Name field.

4.

Click OK. The C-Model editor will generate the code to initialize the variable to the value of
the selected quantity node.

To initialize a variable to the value of a solution vector value:


1.

Select the variable to be initialized. Replace the semicolon following the variable declaration
with the C++ assignment operator =.

2.

Open the Simulator Data menu. Select GetSVVal to initialize the variable to a solution vector
value or GetDSVVal to initialize the variable to the time derivative of a solution vector value.
A Get/Set Value dialog box appears.

3.

Select the row of the solution vector element to whose value the variable will be initialized
from the drop-down list in the Name field.

4.

Click OK. The C-Model editor will generate the code to initialize the variable to the value of
the selected solution vector element.

Setting the Values of Quantity Nodes


The function calls that set the values of a C-Model's quantity nodes during each simulation step can
be generated using commands available from the Insert Data menu.

4-76

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Quantity Nodes to Real or String Values


1.

Right-click in the desired Simulate function.

2.

Select Insert Data>SetValNode_nc from the pop-up menu that appears. A Get/Set Value
dialog box appears.

3.

Select the name of the quantity node whose value the variable will be initialized with from the
drop-down list in the node Name field.

4.

If the Value to be assigned to the node is a variable, select the Value radio button and select the
name of the desired variable from the drop-down list in the adjacent field. If the value to be
assigned to the node is a string, select the Text radio button and enter the string value into the
adjacent field.

5.

Click OK, to generate the function call necessary to set the selected quantity node to the
desired value.

Setting the Value of a Quantity Node to a File Name


1.

Right-click in the desired Simulate function.

2.

Select Insert Data>SetValNode_ncFile from the pop-up menu that appears. A Get/Set Value
dialog box appears.

3.

Select the name of the quantity node for which the value is to be set from the drop-down list in
the node Name field.

4.

Enter the file name that the node is to be set to into the File name field, or browse to the file
using the Browse button.

5.

Click OK, to generate the function call necessary to set the selected quantity node to the
desired file name.

Checking Syntax (C-Model Editor)


You can check the syntax of code you have entered in the editor as follows:
Note

You must have either Microsoft Visual C++ 6.0 or Microsoft Visual Studio .NET
installed to check syntax.

1.

Select C Model Editor>Check Syntax to check the syntax of the new C-model.

2.

This invokes Microsoft Visual C++ 6.0 (or Microsoft Visual Studio .NET) which checks
the code for syntax errors. Simplorers Message Manager window displays the results of the
syntax check. If errors are reported, clicking on them should take you to the associated lines of
code in the editor window.

Note

A Dynamic Link Library (dll) file of the model is generated during the syntax check.

Building a C-Model Component


When all analysis types, terminal and quantity nodes, internal states, variables, and models have
been added to a C-Model project and all necessary Initialize, Simulate, Validate, and Close func-

4-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tions have been implemented, the C-model is ready to be built and added to the Simplorer project
as a component.
Related Topics:
File Settings
Configuring Build Settings
Updating a Project to Include the C-Model

File Settings
If any additional files are required to build the project, they may be added via the C Model Editor
menu. To add C++ files to the project, select C Model Editor>File Settings. A dialog box will
appear that can be used to browse to files that are to be included in the build. The dialog box may
also be used to delete from the C-Model project files that are already included with the project.

Configuring Build Settings


To configure the build settings of a C-Model project prior to building:
1.

Select C Model Editor>Build Settings. The following dialog appears:

2.

Select C++>General in the tree view to set the paths to C++ files that should be included in
the build, either by typing the path directly into the Additional Include Directories text box,
or by clicking the browse button to open the Additional Include Directories dialog in which

4-78

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

you can browse to and add directories.

3.

Select C++>Preprocessor in the tree view to add Preprocessor Definitions to the build configuration.

4.

You can also set library paths for builds by selecting Linker>General in the tree, and then
either type the path in the Additional Library Directories text box, or use the browse button to
open the Additional Include Directories dialog to browse and add directories.

5.

Additional dependencies can be specified by selecting Linker>Input, then entering the items
to be added to the link line for the build.

6.

When finished modifying the build settings, click OK.

Updating a Project to Include the C-Model


You can update a project to both build a Dynamic Link Library (dll) file of your C-Model, and create a component as follows:
1.

Select C Model Editor>Update Project in the menu bar.

2.

The Import Components dialog box appears listing all of the models in the current C Model
project on the Models tab.

3.

Refer to Importing Simulation Models for detailed information on settings you can make in this
dialog box.

4.

Click OK. This invokes the C++ compiler of Microsoft Visual C++ 6.0 or Microsoft Visual
Studio .NET to compile the C-Model source code and header files into a dll file. If the compiler detects an error or issues a warning, it is displayed in the Message Manager window and
will identify the line number of the statement that caused the error or warning. You can then
use Ctrl+G to open the Go To Line dialog box to go to the line.
If the compilation of the C-Model project succeeds, a message appears in the Message Manager window indicating that the project update was successful.
A component for each model is created and added to the Project Manager Component Definitions folder. The new models are also added to the list of Project Components where they
can be placed onto a schematic for simulation.

4-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Debugging a C-Model Created with the C-Model Editor


The C-Model Editor does not provide a debugger. Therefore the C++ debugger of Visual Studio or
Visual Studio .NET must be used for debugging. The C-Model project files reside in the PersonalLib folder under the Project Directory specified in the General Options dialog Project Options
tab.

Revising an Existing C-Model with the C-Model Editor


The C-Model Editor allows for easy revision of existing C-Models that were created using the editor.
Note

C-Models created in Visual C++ 6.0 or Visual Studio .NET cannot be revised using the
C-Model Editor and must be revised using the application in which they were created.

Starting the Revision Process


The process of revising a C-Model can be started by two different methods. The first is to go to the
Definitions>Models folder in the Project Manager. Right-click on the desired C-Model and select
Edit Model from the pop-up menu. When the project's files have opened in the editor, the model is
ready for revision. (Double-clicking on the model listing will also open the files for editing.)
C-Model projects created using the C-Model Editor may also be revised by opening the Edit
Libraries dialog via the Tools>Edit Configured Libraries>Models menu selection. Locate and
select the desired model name in the listing, and then click Edit Model to open the projects files
for editing.

Revising a C-Model
Once the files are opened, the C-Model may be revised. The following revisions may be performed
on a C-Model.

addition of a new model


addition of terminal and quantity nodes
addition of internal states
revision of Initiate, Simulate, Validate, and Close functions
revision of terminal and quantity node properties

For more information on how to perform these revisions on a C-Model, see the following sections:
Adding Analysis Types, Nodes, States, Variables, and Models to a C-Model
Implementing the Initialize, Simulate, Validate, and Close Functions

Implementing the Changes


To implement the revisions made to a C-Model, simply follow the process outlined in the section
on Updating a Project to Include the C-Model.

C-Model Editor Menus and Windows


This section gives a brief description of the menus and windows applicable when using the CModel Editor.
4-80

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

C Model Editor Main Menu


The C Model Editor main menu contains the following commands:
Note

Save Tab filename saves the file whose tab is currently active in the editor.
Save Tab filename As opens a Save As dialog for saving the file currently active in the editor allowing you to specify a new filename and path.
Save ModelName saves the model project files currently active in the editor.
Save ModelName As opens a Save As dialog for saving the model project files currently
active in the editor, allowing you to specify a new project filename and location for the project
files.
Update Project

The Save Tab filename, Save Tab filename As, Save ProjectName, Save ProjectName
As, and Update Project menu items are common to the C Model, VHDL-AMS, SPICE,
Modelica, and SML model editors; and the VHDL Package Editor.

For C-Models, invokes Microsoft Visual C++ 6.0 (or Microsoft Visual Studio .NET)
to build a Dynamic Link Library (dll) file of your C-Model.
For all model types, enables creation of components for the models and their addition to
the current project. For packages, enables creation of the package and addition to the current project.

Check Syntax invokes Microsoft Visual C++ 6.0 (or Microsoft Visual Studio .NET) to
check the code for syntax errors. Simplorers Message Manager window displays the results of
the syntax check.
Add Model opens a dialog box for adding a new model to a C-model project.
Edit Analysis Type opens a dialog box for adding a TRansient, AC, or DC operating-point
analysis to a model within a C-model project.
Edit State opens a dialog box for adding and editing C-model internal states within a Cmodel project.
Edit Terminal opens a dialog box for adding and editing C-model terminal nodes within a
C-Model project.
Edit Quantity opens a dialog box for adding and editing C-model quantity nodes within a Cmodel project.
Edit Variable opens a dialog box for adding and editing C-model variable declarations
within a C-model project.
Build Settings opens a dialog box for setting paths to C++ files to be included in the building
of a C-model project, specifying preprocessor definitions, additional dependencies, and for setting library paths different from the default path.
File Settings opens a dialog box for adding and removing files from a C-model project.
Export Project a sub-menu allows the user to choose which of the available installed Visual
Studio compilers to use to export the current C-model project. The sub-menu lists all supported
4-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

versions. A Visual Studio icon appears next to versions currently installed on the user machine.
By default, the exported project is saved in the users PersonalLib.

C-Editor Standard Toolbar


See the Netlist Editor Toolbar section for detailed information on standard editor toolbar functions.

Main C-Editor Window


The main window (shown below) displays all C++ source and header files for the current C-Model
project. The tabs at the bottom of the window can be used to select a file to be made visible for editing.

C Model Editor Tab


When the C-model editor is open, the Model Editor tab (shown below) of the Project Manger, provides a tree view of all models and C++ source and header files that are associated with the current
C-Model project. Each model is represented by a red circle. Clicking the plus sign next to a circle
causes a list of all files, functions, states, nodes, and variables associated with that model to be dis-

4-82

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

played. Right-clicking on an icon in the tree opens a pop-up menu allowing you either go to that
item in the main C-Model editor window, or to open the Edit Model window.

C-Editor Message Window


The Message Manager window displays messages that indicate compiler warnings, syntax errors,
and messages that indicate a successful build.

4-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Insert Data Menu


The Insert Data menu can be accessed by right clicking within the body of a C-Model function and
selecting Insert Data from the pop-up menu that appears. The menu contains the following commands:

GetValNode_nc generates the code for obtaining a real value from a quantity node.
GetValNode_ncCplx generates the code for obtaining a complex value from a quantity
node.
GetValNode_ncFile generates the code for obtaining a file name from a quantity node.
GetValNode_ncStrg generates the code for obtaining a string value from a quantity node.
GetValNode_ncState generates the code for obtaining a state value from a quantity node.
SetValNode_nc generates the code for passing a real or string value to a quantity node.
SetValNode_ncFile generates the code for passing a file name to a quantity node.
SetValNode_ncState generates the code for passing a file name to a quantity node.
AllocateUserDataMemory generates the code for allocating memory for instance-specific
data.
GetUserData generates the code for obtaining user-specific data.
GetDCUserData generates the code for obtaining DC user-specific data.

Simulator Data Menu


The Simulator Data menu can be accessed by right clicking within the body of a C-Model function and selecting Simulator Data from the pop-up menu that appears. The menu contains the following commands:

Set Equation System opens the Equation System dialog, which is used to generate code for
setting Jacobian matrix, right-side vector, and solution vector entries.
GetCplxSVVal generates code for obtaining the complex value of a solution vector element.
GetDSVVal generates code for obtaining the time derivative of a solution vector element.
GetSVVal generates code for obtaining the value of a solution vector element.

Callback Functions Menus


The Callback Functions menu can be accessed by right clicking within the body of a C-Model
function and selecting Callback Functions from the pop-up menu that appears. The menu contains
the following commands:

ISIM_ECM_D_DT generates the function that returns the time derivative operator for
transient analysis
ISIM_ECM_IEMAX generates the function that returns the maximum current error
allowed during iterations in transient simulation
ISIM_ECM_ITERAT generates the function that returns the maximum number of iterations

4-84

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ISIM_ECM_LDF generates the function that returns the local discretization error
ISIM_ECM_NEW generates the function that returns TRUE when the simulator operates
smoothly and FALSE when the simulator is forced to take a step back in time
ISIM_ECM_P generates the function that returns the ...
ISIM_ECM_SOLVER generates the function that returns the solver type of the network
simulator
ISIM_ECM_UEMAX generates the function that returns the maximum voltage error
allowed during iterations in a transient simulation
OSIM_ECM_REJECT generates the function that requests a back step from the simulator
OSIM_ECM_SYNC generates the function that requests a back step from the simulator and
setting of a new, user-defined step size
OSIM_SYNC generates the function that requests a ...
Report2Sim generates the function that displays messages in the simulator output window
or in pop-up windows

Sample C-Model Source Code


Two implementations are provided:

The Initialize, Simulate, Validate, and Close functions for the transient, AC, and DC analyses
of an RLC low-pass filter
The Initialize, Simulate, Validate, and Close Functions for a linear characteristic model

RLC Low-Pass Filter Sample Code


The implementation of the Initialize, Simulate, Validate, and Close functions for the transient, AC,
and DC analyses of an RLC low-pass filter is given here.
//===================================================
FCTDECL Initialize_rlc_lowpass_TR( CModUser *pMod )
{
//nonzero matrix entries row 0
pMod->SetSymbolicGSEntry(0, 5, 0, RS_DONTFILL|D_DT_OPERAT);
//row 1
pMod->SetSymbolicGSEntry(1, 4, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(1, 5, 0, RS_DONTFILL|D_DT_OPERAT);
//row 2
pMod->SetSymbolicGSEntry(2, 2, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(2, 3, 0, RS_DONTFILL);
//row 3
pMod->SetSymbolicGSEntry(3, 2, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(3, 3, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(3, 4, 0, RS_DONTFILL);
4-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

//row 4
pMod->SetSymbolicGSEntry(4, 1, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(4, 3, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(4, 4, 0, RS_DONTFILL|D_DT_OPERAT);

//row 5
pMod->SetSymbolicGSEntry(5, 0, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(5, 1, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(5, 5, 0, RS_DONTFILL);
//static entries
pMod->SetRealGSEntry(4,
pMod->SetRealGSEntry(4,
pMod->SetRealGSEntry(5,
pMod->SetRealGSEntry(5,

1,
3,
0,
1,

1);
-1);
-1);
1);

return TRUE;
}

FCTDECL Simulate_rlc_lowpass_TR( CModUser *pMod )


{
//get information from nonconservative nodes
double C = pMod->GetValNode_nc(STRG_CAP_VALUE);
double L = pMod->GetValNode_nc(STRG_INDUCTOR_VAL);
double R = pMod->GetValNode_nc(STRG_RESISTOR_VAL);
//get solution vector values for rightside entries
double V1 = pMod->GetSVVal(0);
double V2 = pMod->GetSVVal(1);
double V3 = pMod->GetSVVal(2);
double V4 = pMod->GetSVVal(3);
double PHI = pMod->GetSVVal(4);
double Q = pMod->GetSVVal(5);
double dPHI = pMod->GetDSVVal(4);
double dQ = pMod->GetDSVVal(5);
//non-static matrix entries--row 0
pMod->SetRealGSEntry(0, 5, -ISIM_ECM_D_DT( pMod ));
//row 1
pMod->SetRealGSEntry(1, 4, -1.0/L);
4-86

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

pMod->SetRealGSEntry(1, 5, ISIM_ECM_D_DT( pMod ));


//row 2
pMod->SetRealGSEntry(2, 2, 1.0/R);
pMod->SetRealGSEntry(2, 3, -1.0/R);
//row 3
pMod->SetRealGSEntry(3, 2, 1.0/R);
pMod->SetRealGSEntry(3, 3, -1.0/R);
pMod->SetRealGSEntry(3, 4, -1.0/L);
//row 4
pMod->SetRealGSEntry(4, 4, ISIM_ECM_D_DT( pMod ));
//pMod->SetRealGSEntry(4, 5, 1.0/C);
//row 5
pMod->SetRealGSEntry(5, 5, -1.0/C);

//rightside entries
pMod->SetRealRSEntry(0,
pMod->SetRealRSEntry(1,
pMod->SetRealRSEntry(2,
pMod->SetRealRSEntry(3,
pMod->SetRealRSEntry(4,
pMod->SetRealRSEntry(5,

dQ);
-dQ + PHI/L);
-V3/R + V4/R);
-V3/R + V4/R + PHI/L);
-V2 + V4 - dPHI);
V1 - V2 + Q/C);

//send values to nonconservative output nodes


pMod->SetValNode_nc(STRG_RESISTOR_VOLTAGE, V3-V4);
pMod->SetValNode_nc(STRG_INDUCTOR_VOLTAGE, dPHI);

return TRUE;
}

FCTDECL Validate_rlc_lowpass_TR( CModUser *pMod )


{
/*no additional implementation of this function
is required for this example */
return TRUE;
}

4-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

FCTDECL Close_rlc_lowpass_TR( CModUser *pMod )


{
/*no additional implementation of this function
is required for this example */
return TRUE;
}
//struct is for use of operating point values in AC simulation
struct sDCOP
{
double r, l, c, Iflux, Ccharge;
};
FCTDECL Initialize_rlc_lowpass_AC( CModUser *pMod )
{
// Get values from DC analysis, sDCOP is defined above
long DCsize;
sDCOP *pUserData = (sDCOP*)pMod->GetDCUserData( &DCsize );
double flx = pUserData->Iflux;
double chg = pUserData->Ccharge;
//nonzero matrix entries row 0
pMod->SetSymbolicGSEntry(0, 5);
//row 1
pMod->SetSymbolicGSEntry(1, 4);
pMod->SetSymbolicGSEntry(1, 5);
//row 2
pMod->SetSymbolicGSEntry(2, 2);
pMod->SetSymbolicGSEntry(2, 3);
//row 3
pMod->SetSymbolicGSEntry(3, 2);
pMod->SetSymbolicGSEntry(3, 3);
pMod->SetSymbolicGSEntry(3, 4);
//row 4
pMod->SetSymbolicGSEntry(4, 1);
pMod->SetSymbolicGSEntry(4, 3);
pMod->SetSymbolicGSEntry(4, 4);

4-88

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

//row 5
pMod->SetSymbolicGSEntry(5, 0);
pMod->SetSymbolicGSEntry(5, 1);
pMod->SetSymbolicGSEntry(5, 5);
//static entries
pMod->SetRealGSEntry(4,
pMod->SetRealGSEntry(4,
pMod->SetRealGSEntry(5,
pMod->SetRealGSEntry(5,

1,
3,
0,
1,

1);
-1);
-1);
1);

//set initial values for inductor flux and capacitor charge from DC operating
point
pMod->SetSVVal(4, flx);
pMod->SetSVVal(5, chg);

return TRUE;
}

FCTDECL Simulate_rlc_lowpass_AC( CModUser *pMod )


{
//get values of R, L, and C from DC simulation
long DCsize;
sDCOP *pUserData = (sDCOP*)pMod->GetDCUserData( &DCsize );
double R = pUserData->r;
double L = pUserData->l;
double C = pUserData->c;

//get solution vector values for rightside entries


CComplex V1 = pMod->GetSVVal(0);
CComplex V2 = pMod->GetSVVal(1);
CComplex V3 = pMod->GetSVVal(2);
CComplex V4 = pMod->GetSVVal(3);
CComplex PHI = pMod->GetSVVal(4);
CComplex Q = pMod->GetSVVal(5);
//non-static matrix entries--row 0
pMod->SetCplxGSEntry(0, 5, -ISIM_ECM_P( pMod ));
//row 1
pMod->SetRealGSEntry(1, 4, -1.0/L);
pMod->SetCplxGSEntry(1, 5, ISIM_ECM_P( pMod ));
4-89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

//row 2
pMod->SetRealGSEntry(2, 2, 1.0/R);
pMod->SetRealGSEntry(2, 3, -1.0/R);
//row 3
pMod->SetRealGSEntry(3, 2, 1.0/R);
pMod->SetRealGSEntry(3, 3, -1.0/R);
pMod->SetRealGSEntry(3, 4, -1.0/L);
//row 4
pMod->SetCplxGSEntry(4, 4, ISIM_ECM_P( pMod ));
//row 5
pMod->SetRealGSEntry(5, 5, -1.0/C);
//send values to nonconservative output nodes
pMod->SetValNode_nc(STRG_RESISTOR_VOLTAGE, V3-V4);
pMod->SetValNode_nc(STRG_INDUCTOR_VOLTAGE, V4 - V2);

return TRUE;
}

FCTDECL Validate_rlc_lowpass_AC( CModUser *pMod )


{
/*no additional implementation of this function
is required for this example */
return TRUE;
}

FCTDECL Close_rlc_lowpass_AC( CModUser *pMod )


{
/*no additional implementation of this function
is required for this example */
return TRUE;
}

FCTDECL Initialize_rlc_lowpass_DC( CModUser *pMod )


{
//nonzero matrix entries row 0
//row 1
4-90

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

pMod->SetSymbolicGSEntry(1, 4, 0, RS_DONTFILL);
//row 2
pMod->SetSymbolicGSEntry(2, 2, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(2, 3, 0, RS_DONTFILL);
//row 3
pMod->SetSymbolicGSEntry(3, 2, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(3, 3, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(3, 4, 0, RS_DONTFILL);
//row 4
pMod->SetSymbolicGSEntry(4, 1, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(4, 3, 0, RS_DONTFILL);
//row 5
pMod->SetSymbolicGSEntry(5, 0, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(5, 1, 0, RS_DONTFILL);
pMod->SetSymbolicGSEntry(5, 5, 0, RS_DONTFILL);
//static entries
pMod->SetRealGSEntry(4,
pMod->SetRealGSEntry(4,
pMod->SetRealGSEntry(5,
pMod->SetRealGSEntry(5,

1,
3,
0,
1,

1);
-1);
-1);
1);

return TRUE;
}

FCTDECL Simulate_rlc_lowpass_DC( CModUser *pMod )


{
//get information from nonconservative nodes
double C = pMod->GetValNode_nc(STRG_CAP_VALUE);
double L = pMod->GetValNode_nc(STRG_INDUCTOR_VAL);
double R = pMod->GetValNode_nc(STRG_RESISTOR_VAL);
//get solution vector values for rightside entries
double V1 = pMod->GetSVVal(0);
double V2 = pMod->GetSVVal(1);
double V3 = pMod->GetSVVal(2);
double V4 = pMod->GetSVVal(3);
double PHI = pMod->GetSVVal(4);
double Q = pMod->GetSVVal(5);
4-91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

double dPHI = 0;
double dQ = 0;
//non-static matrix entries
//row 1
pMod->SetRealGSEntry(1, 4, -1.0/L);
//row 2
pMod->SetRealGSEntry(2, 2, 1.0/R);
pMod->SetRealGSEntry(2, 3, -1.0/R);
//row 3
pMod->SetRealGSEntry(3, 2, 1.0/R);
pMod->SetRealGSEntry(3, 3, -1.0/R);
pMod->SetRealGSEntry(3, 4, -1.0/L);
//row 5
pMod->SetRealGSEntry(5, 5, -1.0/C);

//rightside entries
pMod->SetRealRSEntry(0,
pMod->SetRealRSEntry(1,
pMod->SetRealRSEntry(2,
pMod->SetRealRSEntry(3,
pMod->SetRealRSEntry(4,
pMod->SetRealRSEntry(5,

dQ);
-dQ + PHI/L);
-V3/R + V4/R);
-V3/R + V4/R + PHI/L);
-V2 + V4 - dPHI);
V1 - V2 + Q/C);

//send values to nonconservative output nodes


pMod->SetValNode_nc(STRG_RESISTOR_VOLTAGE, V3-V4);
pMod->SetValNode_nc(STRG_INDUCTOR_VOLTAGE, dPHI);
return TRUE;
}

FCTDECL Validate_rlc_lowpass_DC( CModUser *pMod )


{
/*no additional implementation of this function
is required for this example */
return TRUE;
}

4-92

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

FCTDECL Close_rlc_lowpass_DC( CModUser *pMod )


{
double res = pMod->GetValNode_nc(STRG_RESISTOR_VAL);
double ind = pMod->GetValNode_nc(STRG_INDUCTOR_VAL);
double cap = pMod->GetValNode_nc(STRG_CAP_VALUE);
double flx = pMod->GetSVVal(4);
double chg = pMod->GetSVVal(5);
sDCOP *pUserData = (sDCOP*)pMod->AllocateUserDataMemory( sizeof(sDCOP) );
pMod->SetUserData( pUserData, sizeof(sDCOP) );
pUserData->r = res;
pUserData->l = ind;
pUserData->c = cap;
pUserData->Iflux = flx;
pUserData->Ccharge = chg;

return TRUE;
}
//=================================================

Linear Characteristic Model Sample Code


The implementation of the Initialize, Simulate, Validate, and Close Functions for the linear characteristic model is shown here.
//=================================================
FCTDECL Initialize_linear_char_TR( CModUser *pMod )
{
//no further implementation required for this example
return TRUE;
}

FCTDECL Simulate_linear_char_TR( CModUser *pMod )


{
//get slope and intercept values from inputs
double slope = pMod->GetValNode_nc(STRG_SLOPE);
double intercept = pMod->GetValNode_nc(STRG_INTERCEPT);
//get independent variable value
double x = CHAR_IN(pMod);
//variables for dependent variable and its time derivative
double y, dy_dx;
4-93

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

//calculate value of dependent variable and its time derivative


y = slope * x + intercept;
dy_dx = slope;
//return dependent variable and its time derivative
CHAR_OUT(pMod, y);
CHAR_OUT_DERIVE(pMod, dy_dx);

return TRUE;
}

FCTDECL Validate_linear_char_TR( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}

FCTDECL Close_linear_char_TR( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}
//struct holds values of A and B used in DC for AC simulation
struct sDCOP
{
double m, b;
};

FCTDECL Initialize_linear_char_AC( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}

4-94

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

FCTDECL Simulate_linear_char_AC( CModUser *pMod )


{
//get slope and intercept from DC
long DCsize;
sDCOP *pUserData = (sDCOP*)pMod->GetDCUserData( &DCsize );
double slope = pUserData->m;
double intercept = pUserData->b;
//get independent variable value
double x = CHAR_IN(pMod);
//variables for dependent variable and its time derivative
double y, dy_dx;
//calculate value of dependent variable and its time derivative
y = slope * x + intercept;
dy_dx = slope;
//return dependent variable and its time derivative
CHAR_OUT(pMod, y);
CHAR_OUT_DERIVE(pMod, dy_dx);

return TRUE;
}

FCTDECL Validate_linear_char_AC( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}

FCTDECL Close_linear_char_AC( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}

FCTDECL Initialize_linear_char_DC( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}
4-95

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

FCTDECL Simulate_linear_char_DC( CModUser *pMod )


{
//get slope and intercept values from inputs
double slope = pMod->GetValNode_nc(STRG_SLOPE);
double intercept = pMod->GetValNode_nc(STRG_INTERCEPT);
//get independent variable value
double x = CHAR_IN(pMod);
//variables for dependent variable and its time derivative
double y, dy_dx;
//calculate value of dependent variable and its time derivative
y = slope * x + intercept;
dy_dx = slope;
//return dependent variable and its time derivative
CHAR_OUT(pMod, y);
CHAR_OUT_DERIVE(pMod, dy_dx);
return TRUE;
}

FCTDECL Validate_linear_char_DC( CModUser *pMod )


{
//no further implementation required for this example
return TRUE;
}

FCTDECL Close_linear_char_DC( CModUser *pMod )


{
double sl = pMod->GetValNode_nc(STRG_SLOPE);
double inter = pMod->GetValNode_nc(STRG_INTERCEPT);
sDCOP *pUserData = (sDCOP*)pMod->AllocateUserDataMemory( sizeof(sDCOP) );
pMod->SetUserData( pUserData, sizeof(sDCOP) );
pUserData->m = sl;
pUserData->b = inter;
return TRUE;
}
4-96

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

//====================================

4-97

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4-98

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the VHDL-AMS Model Editor


The Simplorer VHDL-AMS Model Editor provides a set of menu commands and dialog boxes
that automates the writing, editing, and compiling of VHDL-AMS entity declarations and architecture descriptions, generating much of the code required to implement VHDL-AMS models in Simplorer. The VHDL-AMS Model Editor also provides a text editor in which you can directly edit
and compile VHDL-AMS model code. Syntax checking and component generation are also managed via the VHDL-AMS Model Editor. Printing the file listing is also supported.
Models generated using the VHDL-AMS Model Editor are listed under Project Components in
the Project Manager components tree, and can be used in the same way as other Simplorer components. Because they are components, their properties may also be edited using Simplorers Component Editor.
Related Topics

Text Editor Options


VHDL-AMS Models in Simplorer
Adding a VHDL-AMS Model
Editing a VHDL-AMS Model
Checking Syntax
Printing
Instantiating a Predefined Component in an Architecture Description
Updating a Project to Add a VHDL-AMS Model and Component
Encrypting a VHDL-AMS Model
Model License Settings
Revising an Existing VHDL-AMS Model with the VHDL-AMS Model Editor
VHDL-AMS Model Editor Menus and Windows

Adding a VHDL-AMS Model


The following procedure outlines the steps for adding a VHDL-AMS model to a project using Simplorers VHDL-AMS Model Editor.
1.

On Simplorers menu bar, select Tools>Edit Configured Libraries>Models.


The Edit Libraries dialog box appears.

2.

Click the Add Model button to open the Add Model dialog box.

3.

Select VHDL-AMS from the Model Type pull-down list.

4.

Type the new VHDL-AMS model name in the Model Name field.

5.

Simplorer gives you the choice of adding the new model directly to the current project (for
later editing, perhaps), or of adding the model using Simplorers VHDL-AMS Model Editor.
Choose one of the following:
4-99

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

a.

To add a new model directly to the current project, uncheck the Add New Model Using
Editor checkbox, and then click OK.
Simplorer creates new VHDL-AMS model entity and architecture declarations bearing the
chosen model name, and adds the model to the Project Managers Definitions>Models
folder.

Note

b.

You can open the model for editing from the Project Manager by double-clicking the
model, or by right-clicking the model and selecting Edit Model from the context menu.
To add a new model to the current project using the VHDL-AMS Model Editor window,
ensure that the Add New Model Using Editor checkbox is checked (the default setting).
Click OK to close the dialog box.
The VHDL-AMS Model Editor opens displaying new VHDL-AMS model entity and
architecture declarations in separate tabs bearing the model name you chose above.

Note

When the VHDL-AMS Model Editor window is active, the Project Manager displays the
Model Editor tab which lists the models, architectures, entities, and other information for
the VHDL-AMS Models.

6.

Edit the VHDL-AMS model source code as needed.

7.

When finished editing, select VHDL Model Editor>Update Project to add the model to the
project.

Editing a VHDL-AMS Model


Entity and architecture descriptions, and any libraries, packages, and models to be used with the
VHDL-AMS models can be edited using the VHDL Model Editor menu commands.
The resulting Edit Model dialog provides a tree view with the selected item highlighted in the left
pane. The right pane contains the corresponding data entry fields.
Related Topics

Editing Libraries, Packages, and Models


Adding Terminal, Quantity, or Signal Ports to an Entity Description
Adding Generics to an Entity Description
Editing an Entity
Renaming an Entity
Adding an Architecture
Editing an Architecture Declaration
Renaming an Architecture Declaration

4-100

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Editing Libraries, Packages, and Models


Libraries, packages, and models can be included in a VHDL model by choosing the Edit Libraries
and Packages command in the VHDL Model Editor menu. The Edit Model dialog box appears
:

1.

Select the name of the appropriate model from the list in the Model Name field.

2.

In the Library Contents section, select the libraries, packages, and models to be included in
the VHDL model.

3.

Click OK.
VHDL-AMS code for the necessary LIBRARY and USE statements is added to the code in
the editor window.

Note

Libraries, packages, and models may also be removed from a model by deselecting
them.

Adding Terminal, Quantity, or Signal Ports to an Entity Description


1.

Select the desired port type (Terminal, Quantity, or Signal) from the VHDL Model Editor >
Edit Entity menu. The Edit Model dialog box opens with the selected port type highlighted.

Note

You can also select the port type directly in the Edit Model dialog box simply by
selecting the desired item in the Entity tree. The data entry pane to the right of the tree
changes to reflect the selection.

2.

Select the name of the appropriate model from the list presented in the Model field.

3.

Click the Add button (the button with the dashed square and lightning symbol) to add a new
row to the list in the Port field. (If this is the first time you have visited this field for a new
4-101

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

model, the list will be empty.)


a.

Type a name for the new port in the Name field.

b.

For Quantity or Signal ports, select a direction for the new port from the list available in
the Direction field: in, out, or inout.

c.

For Terminal ports, select one of the natures supported by VHDL-AMS from the list
available in the Nature field. For Quantity or Signal ports, select one of the types available in the Type field. These lists contain a number of physical, numerical, and logical
types (for example, voltage, real, bit).

d.

If applicable, type a default value for the port in the Value field.

e.

Optionally, add a description for the port in the Description field.

4.

Repeat Steps 1 through 3 as needed for additional ports.

5.

Click OK when finished to close the dialog box.


The editor generates the VHDL-AMS code for the specified ports and adds it to the model
code in the editor window. Syntax is automatically checked and any errors are displayed in the
Message Manager window.

Adding Generics to an Entity Description


1.

Select Generic from the VHDL Model Editor>Edit Entity menu. The Edit Model dialog
box opens with the Generic type highlighted.

Note

You can also select the Generic type directly in the Edit Model dialog box simply by
selecting Generic in the Entity tree. The data entry pane to the right of the tree changes
to reflect the selection.

2.

Select the name of the appropriate model from the list presented in the Model field.

3.

Click the Add button (the button with the dashed square and lightning symbol) to add a new
row to the list in the Generic field.
a.

Type a name for the new generic in the Name field.

b.

Select a data type for the new generic from the list available in the Type field. This list
contains a number of physical, numerical, and logical types.

c.

Type a default value for the generic in the Value field.

d.

Optionally, add a description for the generic in the Description field.

4.

Repeat Step 3 as needed for additional generics.

5.

Click OK when finished to close the dialog box.


The editor generates the VHDL-AMS code for the specified generics and adds it to the model
code in the editor window. Syntax is automatically checked and any errors are displayed in the
Message Manager window.

4-102

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Editing an Entity
To edit an entity:
1.

Select the desired entity type (Terminal, Quantity, Signal, or Generic) from the VHDL
Model Editor>Edit Entity menu. The Edit Model dialog box opens with the selected type
highlighted.

Note

2.

Select the name of the appropriate model from the list in the Model field.

3.

You can also select the type directly in the Edit Model dialog box simply by selected the
desired item in the Entity tree. The data entry pane to the right of the tree changes to
reflect the selection.

To edit existing information, simply click on the information and edit it.
To remove an existing definition, select the line and then click the red X to delete it.

Click OK to complete the editing process.

Renaming an Entity
To rename an Entity:
1.

Select Rename Entity on the VHDL Model Editor menu. The Edit Model dialog box opens
with Entity selected in the tree view.

2.

Click on the entity name to edit it.

3.

Click OK to complete the editing process.

Adding an Architecture
To add an architecture:
1.

Select Add Architecture on the VHDL Model Editor menu. The Edit Model dialog box
opens with Architecture selected in the tree view.

Note

2.

Click the Add button (the button with the dashed square and lightning symbol) to add a new
row to the list in the Architecture field.
a.

3.
4.

You can also add an Architecture directly in the Edit Model dialog box simply by
clicking Architecture in the tree. The data entry pane to the right of the tree changes to
reflect the selection.

Type a name for the new architecture in the Name field.

Repeat Step 2 as needed for additional architectures.


Click OK when finished to close the dialog box.
The editor generates the VHDL-AMS code for the new architectures and adds a tab for each
new architecture in the editor window.

4-103

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Editing an Architecture Declaration


To edit an architecture declaration:
1.

Select the desired object (Terminal, Quantity, Signal or Constant) from the VHDL Model
Editor>Edit Architecture menu. The Edit Model dialog box opens with the selected object
type highlighted.

Note

2.

You can also select the object directly in the Edit Model dialog box simply by selecting
the desired item in the Architecture tree. The data entry pane to the right of the tree
changes to reflect the selection.

Select the name of the appropriate model from the list in the Model field.

3.

Select the name of the architecture you wish to edit from the list in the Architecture field.

4.

Click the Add button (the button with the dashed square and lightning symbol) to add a new
row to the list in the object field. (If this is the first time you have visited this field for a new
model, the list will be empty.)
a.

Type a name for the new object in the Name field.

b.

For Terminal objects:

c.

Select a Category (free, across, or through) for the new quantity.


Select one of the types (for example, voltage, reluctance, current) available in the
Type field.
If applicable, type a default value for the quantity in the Value field.
If the Category is across or through, select the appropriate From Terminal and To
Terminal to be used by the quantity object.
Optionally, add a description for the quantity in the Description field.

For Signal objects:

e.

Optionally, add a description for the terminal in the Description field.

For Quantity objects:

d.

Select one of the natures supported by VHDL-AMS from the list available in the
Nature field

Select one of the types (for example, voltage, reluctance, bit) available in the Type
field.
If applicable, type a default value for the signal in the Value field.
Optionally, add a description for the signal in the Description field.

For Constant objects:

Select one of the types (for example, voltage, inductance, bit) available in the Type
field.
If applicable, type a default value for the signal in the Value field.
Optionally, add a description for the signal in the Description field.

4-104

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.
6.

Repeat Steps 1 through 4 as needed for additional objects.


Click OK when finished to close the dialog box.
The editor generates the VHDL-AMS code for the specified objects and adds it to the model
code in the editor window. Syntax is automatically checked and any errors are displayed in the
Message Manager window.

Renaming an Architecture Declaration


To rename an architecture declaration:
To rename an Entity:
1.

Select Rename Architecture on the VHDL Model Editor menu. The Edit Model dialog box
opens with Architecture selected in the tree view.

2.

Click on the architecture name to edit it.

3.

Click OK to complete the editing process.

Checking Syntax (VHDL Model Editor)


You can check the syntax of code you have entered in the editor as follows:
1.

Select VHDL Model Editor>Check Syntax to check the syntax of the new VHDL model.

2.

Simplorer checks the code for syntax errors. Simplorers Message Manager window displays
the results of the syntax check. If errors are reported, clicking on them should take you to the
associated lines of code in the editor window.

Instantiating a Predefined Component in an Architecture Description


Structural VHDL-AMS architecture descriptions require the use of predefined component models.
To instantiate a predefined component with the VHDL Model Editor:
1.

Select VHDL Model Editor>Instantiate Component from the menu bar.


The Instantiate Component dialog box opens.

2.

Select the name of the Architecture description in which the component is to be instantiated.

3.

In the Available Components section of the dialog box, browse to the desired component.

4.

Double-click the desired component. A new instance of the model appears in the Instantiated
Components section.
a.

Type a name for the model instance in the Name field.

b.

Select an entity and an architecture for the model instance from the lists available in the
Entity and Architecture fields.

5.

In the Ports section, enter a numerical value or the name of a port or generic in the Value field
for each of the model instance's ports. Terminals should be mapped to other terminals, while
quantities and signals can be mapped to ports of the same type, or to generics, or can just be
given numerical values.

6.

In the Generics section, select a value for each generic of the model. The value may be a
numerical value or generic and can be typed into the field or selected from the list of available
values in the Value field.
4-105

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

7.

Once all desired model instances have been added to the architecture description, click OK.
The editor generates the VHDL-AMS statements that instantiate the models and map their
ports.

Updating a Project to Add a VHDL-AMS Model and Component


Once the entity description and all architecture descriptions of a model are completed, the model is
ready to be compiled and added to the Simplorer project as a component.
You can update a project to both compile your VHDL model, and create a component as follows:
1.

Select VHDL Model Editor>Update Project in the menu bar.

2.

The Import Components dialog box appears listing all of the models in the current VHDL
Model project on the Models tab.

3.

Refer to Importing Simulation Models for detailed information on settings you can make in this
dialog box. When finished, Simplorer compiles the VHDL-AMS model source code.

If the compiler detects an error or issues a warning, it is displayed in the Message Manager window and will identify the line number of the statement that caused the error or
warning. You can then use Ctrl+G to open the Go To Line dialog box to go to the line.
If the compilation of the VHDL-AMS Model succeeds, a message appears in the Message
Manager window indicating that the project update was successful.
A component for each model is created and added to the Project Manager Component
Definitions folder. The new models are also added to the list of Project Components
from which they can be placed onto a schematic for simulation.

Related Topics
Importing Simulation Models

Encrypting or Encoding a VHDL-AMS Model


To encrypt or encode a VHDL-AMS model:
1.

Select VHDL Model Editor>Encryption Settings in the menu bar.


The Encryption Settings dialog box displays.

2.
3.

Select the Architecture you wish to encrypt from the drop-down list.
Click OK to confirm your choice and close the dialog box.
An Encryption Settings for <model_name> dialog box for the selected architecture displays.
Do either of the following
a.

Note
b.
4.

If you wish to encrypt the model, click the Encrypt radio button, then select the desired
encryption resource in the Resource Name list.
You can also add a new encryption resource by clicking the Add button.
If you wish to encode the model, click the Encode radio button. Encoding prevents the
model text from being viewed.

Click OK to complete the process.

4-106

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Using the Password Manager
Encryption Settings Dialog Box

Revising an Existing VHDL Model


The VHDL-AMS Model Editor can be used to revise a VHDL-AMS model for which a .vhd file is
available. To revise a model:
1.

Select Tools>Edit External Model Information.

2.

In the Edit Models dialog box that appears, browse to the .vhd model containing the desired
model, and open it.

3.

Select the desired VHDL-AMS model and click OK to edit the model in the VHDL Model
Editor.

VHDL-AMS Model Editor Menus and Windows


This section gives a brief description of the menus and windows applicable when using the VHDL
Model Editor.

VHDL Model Editor Main Menu


VHDL-AMS Edit Model Dialog Box
VHDL Model Editor Standard Toolbar
VHDL Model Editor Tab
VHDL-AMS Editor Window
VHDL-AMS Editor Message Window

VHDL Model Editor Main Menu


The VHDL Model Editor main menu contains the following commands:

Save Tab filename - See C Model Editor Main Menu for details.
Save Tab filename As - See C Model Editor Main Menu for details.
Save ModelName - See C Model Editor Main Menu for details.
Save ModelName As - See C Model Editor Main Menu for details.
Update Project performs a syntax check and compiles the VHDL-AMS model. It also
enables creation of components for successfully compiled models, and their addition to the
current project. Simplorers Message Manager window displays the results of the operation.
Also see C Model Editor Main Menu.
Check Syntax checks the code for syntax errors. Simplorers Message Manager window
displays the results of the syntax check.
Edit Libraries and Packages opens the Edit Model dialog box for configuring the libraries, packages, and models that are to be includes in a VHDL-AMS model.
Edit Entity contains commands that open the Edit Model dialog box for editing a VHDL
model entitys Terminal, Quantity, Signal, and Generic definitions.
4-107

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Rename Entity opens the Edit Model dialog box where you can rename a VHDL model
entity.
Add Architecture opens the Edit Model dialog box for adding a VHDL architecture to a
VHDL model.
Rename Architecture opens the Edit Model dialog box for renaming a VHDL model
architecture.
Edit Architecture contains commands that open the Edit Model dialog box for editing a
VHDL model architectures Terminal, Quantity, and Signal definitions.
Instantiate Component opens a dialog box for setting paths to C++ files to be included in
the building of a C-model project, specifying preprocessor definitions, additional dependencies, and for setting library paths different from the default path.
Encryption Settings opens a dialog box for selecting a VHDL Architecture for encryption
or encoding via the Password Manager.
Time License Settings opens a dialog box for enabling or disabling Time License Settings
used to control how long a model may be used in simulations.

VHDL-AMS Edit Model Dialog Box


The Edit Model dialog box displays a tree view of a models editable objects in its left panel. The
area to the right of the tree view displays the editing options for the object currently selected in the
tree view.

The editable content for each of the tree objects is as follows:

Library and Packages allows you to choose the libraries, packages, and models used in the
selected model.
Entity rename a model entity.
Entity>Terminal add, delete, and edit the Name, Nature (electrical, magnetic, etc.), and
Description of terminal ports for the selected model entity.
Entity>Quantity add, delete, and edit the Name, Type (capacitance, voltage, etc.), Value,

4-108

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Direction (In or Out), and Description of quantity ports for the selected model entity.

Entity>Signal add, delete, and edit the Name, Type (capacitance, voltage, etc.), Value,
Direction (In, Out, or InOut), and Description of signal ports for the selected model entity.
Entity>Generic add, delete, and edit the Name, Type (capacitance, voltage, etc.), Value,
and Description of generics for the selected model entity.
Architecture add, delete, and rename model architectures.
Architecture>Terminal add, delete, and edit the Name, Nature (electrical, magnetic,
etc.), and Description of terminal ports for the selected model architecture.
Architecture>Quantity add, delete, and edit the Name, Category (free, across, or through,
Type (capacitance, voltage, etc.), Value, Direction (In or Out), and Description of quantity
ports for the selected model
Architecture>Signal

VHDL Model Editor Standard Toolbar


See the Netlist Editor Toolbar section for detailed information on standard editor toolbar functions.

VHDL Model Editor Tab


The Model Editor tab (shown below) of the Project Manger, provides a tree view of the models
and associated architecture and entity objects currently open in the editor. Each model is represented by a red circle. Clicking the plus sign next to a circle opens a list of all architectures and
entities associated with that model. Right-clicking on an icon in the tree opens a context menu

4-109

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

where you can choose either to go to that item in the main VHDL editor window, or to open the
VHDL-AMS Edit Model dialog box.

4-110

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

VHDL-AMS Editor Window


The VHDL-AMS editor window displays entity and architecture declarations for the current
VHDL-AMS Model project. The tabs at the bottom of the window are used to select an entity or
architecture declaration for editing.

The editor provides automatic syntax highlighting as follows:

VHDL-AMS statement and declaration keywords are blue.


Comments are green.
Numerical values are magenta.

The VHDL-AMS editor provides a context menu, which you can open by right-clicking in the editor window.
Note

The VHDL-AMS editor context menu commands given below are also used in other
Simplorer text editors such as the SML, C, Modelica, and SPICE model editors.

In addition to standard Cut, Copy, Paste, and Select All commands, other context menu commands include:

Comment Line(s) select one or more lines of code in the editor and apply this command
to change the code lines into comment statements.
Uncomment Line(s) select one or more commented lines of text in the editor and apply
this command to change the lines into code statements.
4-111

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Find opens a Find dialog box in which you can enter strings to search for in the editor
window. Controls allow you to make the search case-sensitive, and to control the direction
of the search relative to the current cursor position.
Replace similar to the Find command and dialog box, with the additional capability to
include a Replace with string.
Go To Line Refer to Going to a Numbered Line for details.

Related Topics
Text Editor Options

VHDL-AMS Editor Message Window


The Message Manager window displays messages that indicate compiler warnings, syntax errors,
and messages that indicate a successful build.

4-112

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the SML Model Editor


The SML Model Editor provides a text editor in which you can directly edit SML model code.
Syntax checking is also managed via the SML Model Editor. Printing the code listing is also supported.
Models generated using the SML Model Editor are listed under Project Components in the Project Manager components tree, and can be used in the same way as other Simplorer components.
Because they are components, their properties may also be edited using Simplorers Component
Editor.
Related Topics

Text Editor Options


Adding an SML Model
Editing an External Model
Inserting a Dataset in the SML Editor
Checking Syntax
Printing
Encrypting or Encoding an SML, Modelica, or SPICE Model
Importing Simulation Models

Adding an SML Model


To add an SML model to a project using Simplorers SML Model Editor:
1.

On Simplorers menu bar, select Tools>Edit Configured Libraries>Models.


The Edit Libraries dialog box appears.

2.

Click the Add Model button to open the Add Model dialog box.

3.

Select SML from the Model Type pull-down list.

4.

Type the new SML model name in the Model Name field.

5.

Simplorer gives you the choice of adding the new model directly to the current project (for
later editing, perhaps), or of adding the model using Simplorers SML Model Editor. Choose
one of the following:
a.

To add a new model directly to the current project, uncheck the Add New Model Using
Editor checkbox, and then click OK.
Simplorer creates new SML model entity declarations bearing the chosen model name,
and adds the model to the Project Managers Definitions>Models folder.

Note

b.

You can open the model for editing from the Project Manager by double-clicking the
model, or by right-clicking the model and selecting Edit Model from the context menu.
To add a new model to the current project using the SML Model Editor window, ensure
4-113

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

that the Add New Model Using Editor checkbox is checked (the default setting). Click
OK to close the dialog box.
The SML Model Editor opens displaying new SML model entity declarations in a tab
bearing the model name you chose above.
Note

When the SML Model Editor window is active, the Project Manager displays the Model
Editor tab.

6.

Edit the SML model source code as needed.

7.

Optionally, you can check syntax.

8.

When finished editing, select SML Model Editor>Update Project to add the model to the
project. Refer to Importing Simulation Models for additional details.

Related Topics
Importing Simulation Models

SML Editor Window


The SML editor window displays the current SML Model project code. Here you can directly edit
the SML model code.
The editor provides automatic syntax highlighting as follows:

SML keywords are blue.


Literals are red.
Numerical values are magenta.

The SML editor provides a context menu, which you can open by right-clicking in the editor window.
Note

The SML editor context menu commands given below are also used in other Simplorer
text editors such as the VHDL-AMS, C, Modelica, and SPICE model editors

In addition to standard Cut, Copy, Paste, and Select All commands, other context menu commands include:

Comment Line(s) select one or more lines of code in the editor and apply this command
to change the code lines into comment statements.
Uncomment Line(s) select one or more commented lines of text in the editor and apply
this command to change the lines into code statements.
Find opens a Find dialog box in which you can enter strings to search for in the editor
window. Controls allow you to make the search case-sensitive, and to control the direction
of the search relative to the current cursor position.
Replace similar to the Find command and dialog box, with the additional capability to
include a Replace with string.
Go To Line Refer to Going to a Numbered Line for details.

4-114

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Text Editor Options

Editing an External Model


The SML, VHDL-AMS, C, Modelica, and SPICE model editors also can be used to revise models
for which an external file is available. To revise a model located in an external file:
1.

Select Tools>Edit External Model Information.

2.

In the Edit Models dialog box that appears, browse to the desired model file and open it.

The Import Components dialog box is displayed.

The Models tab lists the names of models that can be imported for editing, provides a checkbox to update the project definitions, and a checkbox that allows existing models of the same
names to be overridden. The Update Project Definitions box is checked (selected) by default.
A table lists the names of models that will be imported for editing. If a model name already
exists, the Override checkbox (checked by default) allows you to override the current model
definition.
The Un-Compiled tab is present only if one or more of the component(s) you are importing
cannot be compiled. Each un-compiled component is listed along with an Edit checkbox which
is checked by default. Checked entries will be opened in the appropriate model editor when
you OK the Import Components dialog box. Un-compiled models will not be imported, nor
will components be created for them.
3.

Select the desired model and click OK to import and edit the model in the appropriate model
editor.

Note

When referencing external files in SPICE model code, use either file names (abcd.txt) or
a relative path + file names, where the relative path can be to: syslib, userlib or
personallib. If Simplorer cannot locate the external file in any of the above locations
when you check syntax or attempt to Update Project, the Message Manager displays an
alert prompting you to copy the referenced files into either the personallib or userlib
directory. This ensures that the external files can be located during compilation.

4.

When finished editing, optionally check syntax.

5.

Select model_type Model Editor>Update Project to update the project model. Project components that use the revised model are also updated (i.e., synchronized).

Related Topics

Importing Simulation Models

4-115

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Inserting a Dataset in the SML Editor


When an SML file is open in the corresponding editor, you can insert a dataset in the code as follows:
1.
2.

Place the cursor at the desired insertion point in the editor.


Right click and select Insert Dataset from the context menu.
An Insert MD Dataset dialog box displays in which you can:

import dataset values from a file

a.

If you wish to enter dataset values manually, refer to the Dataset Parameters Tabs help
topic for details.

b.

If you wish to import a dataset from a file, click Import to import a data file.

c.

In the file browser window that appears, choose to import data from the following file
types:

.mdx, .mda

Simplorer characteristic format

.txt

text file

.csv

Comma-separated value

.out

Maxwell SPICE (read-only - reads data inside the KW_DATA section)

.dat

TEK Oscilloscope

3.

manually enter dataset values

If you select a file type other than .txt or .csv the data is imported immediately into
the Add Dataset dialog box.
Selecting a .txt or .csv file opens an Import dialog box in which you can specify settings for reading the data in the file for import. You can choose the Separator(s) and
Decimal Symbol, as well as the line at which to begin the import. The dialog box
shows both the original text and the text as it would appear when imported based on
the current import settings.

d.

When satisfied with the import settings, click OK to import the data.

e.

Manually edit the imported data, if desired. Refer to the Dataset Parameters Tabs help
topic for details.

Click OK to import the dataset into the model file.

Dataset Parameters Tabs


These tabs are used by the SML Editor for inserting dataset parameters in an SML file. It contains
two tabs: Input Parameters and Output Parameters.
Note

These tabs are also used for setting table values for multi-dimensional table components
(NDSRC, NXMY, NDTAB, and NDNL).

4-116

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Input Parameters Tab

Edit Input Channels: Create or delete channel entries using the symbols on the upper right
side. Click in the fields for a list entry to define a channel Name and Unit.

Channel Data <Input Channel Name>: Use this panel to define the corresponding characteristic data for the selected input channel. The name of the selected input channel displays in the
panel name, and also in the column heading of the data table. Create, delete, or move table
entries with the symbols located above the table. Click in the fields to enter values.
Note

You cannot use variables or expressions. Only real numbers are accepted.

If the Sweep Data box is checked, clicking Set replaces the values in the lookup table with
values generated based on the Start Value, Step size, and Number of Samples settings. The
Append button inserts the new values at the end of existing table entries.
Import: (This button is present only when in the SML Editor.) Opens a file browser in which
you can select a file containing dataset values you wish to import. (Refer to Inserting a Dataset
in the SML Editor for detailed information on using this command.)
Output Parameters Tab

Edit Output Channels: Create or delete channel entries using the symbols on the upper right
side. Click in the fields for a list entry to define a channel Name and Unit.

Edit Output Data: Use this panel to define output channel values. Output channel names are
displayed in column headings. Input channel names and data are also shown for reference.
Click in the output channel fields to enter values for output quantity.
Note

You cannot use variables or expressions. Only real numbers are accepted.

You can also use the Tree View button to open a dialog box that allows you to navigate the
output data table by clicking on the elements in an expandable tree.

Checking Syntax (SML, SPICE, and Modelica Model Editors)


You can check the syntax of code you have entered in the SML, SPICE, or Modelica model editor
as follows:
1.

Select model_type Model Editor>Check Syntax to check the syntax of the model.

2.

Simplorer checks the code for syntax errors. Simplorers Message Manager window displays
the results of the syntax check. If errors are reported, clicking on them should take you to the
associated lines of code in the editor window.

Related Topics
Checking Syntax (VHDL Model Editor)
Checking Syntax (C-Model Editor)

4-117

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Encrypting or Encoding an SML, Modelica, or SPICE Model


To encrypt or encode an SML, Modelica, or SPICE model:
1.

Select model_type Model Editor>Encryption Settings in the menu bar.


The Encryption Settings dialog box displays.
a.

Note
b.
2.

If you wish to encrypt the model, click the Encrypt radio button, then select the desired
encryption resource in the Resource Name list.
You can also add a new encryption resource by clicking the Add button.
If you wish to encode the model, click the Encode radio button. Encoding prevents the
model text from being viewed.

Click OK to complete the process.

Related Topics
Using the Password Manager
Time License Settings
Encryption Settings Dialog Box

4-118

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the SPICE Model Editor


The SPICE Model Editor provides a text editor in which you can directly edit SPICE model code.
Syntax checking is also managed via the SPICE Model Editor. Printing the code listing is also
supported.
Models generated using the SPICE Model Editor are listed under Project Components in the
Project Manager components tree, and can be used in the same way as other Simplorer components. Because they are components, their properties may also be edited using Simplorers Component Editor.
Related Topics

Text Editor Options


Adding a SPICE Model
Editing an External Model
Checking Syntax
Printing
Encrypting or Encoding an SML, Modelica, or SPICE Model
Importing Simulation Models

Adding an SPICE Model


The following procedure outlines the steps for adding an SPICE model to a project using Simplorers SPICE Model Editor.
1.

On Simplorers menu bar, select Tools>Edit Configured Libraries>Models.


The Edit Libraries dialog box appears.

2.

Click the Add Model button to open the Add Model dialog box.

3.

Select SPICE from the Model Type pull-down list.

4.

Type the new SPICE model name in the Model Name field.

5.

Simplorer gives you the choice of adding the new model directly to the current project (for
later editing, perhaps), or of adding the model using Simplorers SPICE Model Editor.
Choose one of the following:
a.

To add a new model directly to the current project, uncheck the Add New Model Using
Editor checkbox, and then click OK.
Simplorer creates new SPICE model entity declarations bearing the chosen model name,
and adds the model to the Project Managers Definitions>Models folder.

Note

b.

You can open the model for editing from the Project Manager by double-clicking the
model, or by right-clicking the model and selecting Edit Model from the context menu.
To add a new model to the current project using the SPICE Model Editor window,
4-119

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ensure that the Add New Model Using Editor checkbox is checked (the default setting).
Click OK to close the dialog box.
The SPICE Model Editor opens displaying new SPICE model entity declarations in a tab
bearing the model name you chose above.
Note

When the SPICE Model Editor window is active, the Project Manager displays the
Model Editor tab.

6.

Edit the SPICE model source code as needed.

7.

Optionally, you can check syntax.

8.

When finished editing, select SPICE Model Editor>Update Project to add the model to the
project. Refer to Importing Simulation Models for additional details.

Related Topics

Importing Simulation Models

SPICE Editor Window


The SPICE editor window displays the current SPICE Model project code.
The editor provides automatic syntax highlighting as follows:

SPICE keywords are blue.


Numerical values are magenta.

The SPICE editor provides a context menu, which you can open by right-clicking in the editor window.
Note

The SPICE editor context menu commands given below are also used in other Simplorer
text editors such as the SML, VHDL-AMS, C, and Modelica model editors.

In addition to standard Cut, Copy, Paste, and Select All commands, other context menu commands include:

Comment Line(s) select one or more lines of code in the editor and apply this command
to change the code lines into comment statements.
Uncomment Line(s) select one or more commented lines of text in the editor and apply
this command to change the lines into code statements.
Find opens a Find dialog box in which you can enter strings to search for in the editor
window. Controls allow you to make the search case-sensitive, and to control the direction
of the search relative to the current cursor position.
Replace similar to the Find command and dialog box, with the additional capability to
include a Replace with string.
Go To Line Refer to Going to a Numbered Line for details.

Related Topics
Text Editor Options
4-120

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4-121

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4-122

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Modelica Model Editor


The Modelica Model Editor provides a text editor in which you can directly edit Modelica model
code. Syntax checking is also managed via the Modelica Model Editor. Printing the code listing is
also supported.
Models generated using the Modelica Model Editor are listed under Project Components in the
Project Manager components tree, and can be used in the same way as other Simplorer components. Because they are components, their properties may also be edited using Simplorers Component Editor.
Related Topics

Text Editor Options


Adding a Modelica Model
Editing an External Model
Checking Syntax
Printing
Encrypting or Encoding an SML, Modelica, or SPICE Model
Importing Simulation Models

Adding a Modelica Model


The following procedure outlines the steps for adding a Modelica model to a project using Simplorers Modelica Model Editor.
1.

On Simplorers menu bar, select Tools>Edit Configured Libraries>Models.


The Edit Libraries dialog box appears.

2.

Click the Add Model button to open the Add Model dialog box.

3.

Select Modelica from the Model Type pull-down list.

4.

Type the new Modelica model name in the Model Name field.

5.

Simplorer gives you the choice of adding the new model directly to the current project (for
later editing, perhaps), or of adding the model using Simplorers Modelica Model Editor.
Choose one of the following:
a.

To add a new model directly to the current project, uncheck the Add New Model Using
Editor checkbox, and then click OK.
Simplorer creates new Modelica model entity declarations bearing the chosen model
name, and adds the model to the Project Managers Definitions>Models folder.

Note

b.

You can open the model for editing from the Project Manager by double-clicking the
model, or by right-clicking the model and selecting Edit Model from the context menu.
To add a new model to the current project using the Modelica Model Editor window,
4-123

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ensure that the Add New Model Using Editor checkbox is checked (the default setting).
Click OK to close the dialog box.
The Modelica Model Editor opens displaying new Modelica model entity declarations in
a tab bearing the model name you chose above.
Note

When the Modelica Model Editor window is active, the Project Manager displays the
Model Editor tab.

6.

Edit the Modelica model source code as needed.

7.

Optionally, you can check syntax.

8.

When finished editing, select Modelica Model Editor>Update Project to add the model to
the project. Refer to Importing Simulation Models for additional details.

Related Topics

Importing Simulation Models

Modelica Editor Window


The Modelica editor window displays the current Modelica Model project code. Here you can
directly edit the Modelica model code.
The editor provides automatic syntax highlighting as follows:

Modelica keywords are blue.


Literals and comments in quotes are red.
C/C++ style comments are green.
Functions are violet.

The Modelica editor provides a context menu, which you can open by right-clicking in the editor
window.
Note

The Modelica editor context menu commands given below are similar to those used in
other Simplorer text editors such as the SML, VHDL-AMS, C, and SPICE model
editors.

In addition to standard Cut, Copy, Paste, and Select All commands, other context menu commands include:

Comment Line(s) select one or more lines of code in the editor and apply this command
to change the code lines into comment statements.
Uncomment Line(s) select one or more commented lines of text in the editor and apply
this command to change the lines into code statements.
Find opens a Find dialog box in which you can enter strings to search for in the editor
window. Controls allow you to make the search case-sensitive, and to control the direction
of the search relative to the current cursor position.
Replace similar to the Find command and dialog box, with the additional capability to
include a Replace with string.

4-124

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Go To Line Refer to Going to a Numbered Line for details.

Related Topics
Text Editor Options

4-125

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4-126

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Package Editor


The Package Editor provides a text editor in which you can directly edit VHDL package information. Syntax checking is also managed via the Package Editor. Printing the package code listing is
also supported.
Packages generated using the Package Editor are listed under Packages in the Project Manager
components tree, and can be used in the same way as other Simplorer VHDL-AMS packages.
Related Topics

Text Editor Options


Adding a Package
Editing a Package
Checking Package Syntax
Printing
Encrypting or Encoding a Package

Adding a Package
The following procedure outlines the steps for adding a package to a project using Simplorers
Package Editor.
1.

On Simplorers menu bar, select Tools>Edit Configured Libraries>Packages.


The Edit Libraries dialog box appears.

2.

Click the Add Package button to open the Add Package dialog box.

3.

Select VHDL-AMS from the Model Type pull-down list.

4.

Type the new package name in the Name field.

5.

Simplorer gives you the choice of adding the new model directly to the current project (for
later editing, perhaps), or of adding the model using Simplorers Package Editor. Choose one
of the following:
a.

To add a new model directly to the current project, uncheck the Add using editor checkbox, and then click OK.
Simplorer creates a new VHDL-AMS package bearing the chosen package name, and
adds the model to the Project Managers Definitions>Packages folder.

Note

b.

You can open the package for editing from the Project Manager by double-clicking the
package, or by right-clicking the package and selecting Edit Package from the context
menu.
To add a new package to the current project using the Package Editor window, ensure
that the Add using editor checkbox is checked (the default setting). Click OK to close the
dialog box.
4-127

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Package Editor opens displaying new VHDL-AMS package entity declarations in a
tab bearing the package name you chose above.
Note

When the Package Editor window is active, the Project Manager displays the Model
Editor tab.

6.

Edit the package source code as needed.

7.

When finished editing, select Vhdl Package Editor>Update Project to add the model to the
project.

Editing a Package
The Package Editor can be used to revise a package. To revise a package:
1.

Select Tools>Edit Configured Libraries>Packages.


The Edit Libraries dialog box appears.

2.

Locate the package you wish to edit and click on it to highlight it.

3.

Click the Edit Package button to open the package in the Package Editor.

4.

Edit the package as needed.

5.

When finished editing, check syntax if desired.

6.

Select Vhdl Package Editor>Update Project to update the project model.

Package Editor Window


The package editor window displays the current VHDL-AMS package code.
The editor provides automatic syntax highlighting as follows:

VHDL-AMS keywords are blue.


Literals are red.
Numerical values are magenta.

Checking Package Syntax


You can check the syntax of code you have entered in the editor as follows:
1.

Select Vhdl Package Editor>Check Syntax to check the syntax of the SML model.

2.

Simplorer checks the code for syntax errors. Simplorers Message Manager window displays
the results of the syntax check. If errors are reported, clicking on them should take you to the
associated lines of code in the editor window.

4-128

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Encrypting or Encoding a VHDL-AMS Package


To encrypt or encode a VHDL-AMS package:
1.

Select Vhdl Package Editor>Encryption Settings in the menu bar.


The Encryption Settings dialog box displays.
a.

Note
b.
2.

If you wish to encrypt the package, click the Encrypt radio button, then select the desired
encryption resource in the Resource Name list.
You can also add a new encryption resource by clicking the Add button.
If you wish to encode the package, click the Encode radio button. Encoding prevents the
package text from being viewed.

Click OK to complete the process.

Related Topics
Using the Password Manager
Time License Settings
Encryption Settings Dialog Box

4-129

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4-130

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

5
Simplorer Components

A simulation model (SML description) can consist of different component types. A component that
is used in an SML description can be an internal (simulator immanent) component, a C-Model, a
VHDL-AMS model, or an SML model.

C-Models are written in C++ using the C-Model Editor.


VHDL-AMS models are written in VHDL-AMS using the VHDL-AMS Model Editor.
SML models are written in SML using the SML Model Editor.
SPICE models are written in SPICE model code using the SPICE Model Editor.
Each model type has a corresponding symbol in the Components tab of the Project Manager.
Each component belongs to a library, and can be placed on a schematic sheet and used in a
simulation model in the same way.
A model can be edited if its description is not encoded. For example, a basic unencoded
VHDL-AMS model can be used to derive more advanced models.
In addition to models supplied with Simplorer a Device Characterization Wizard is also available via the Simplorer Circuit>Characterize Device menu command to aid in the setup of
IGBT models to operate to a device manufacturers specifications.

The following sections explain the various types of models found in the component libraries, and
provide detailed data on each component.

Simplorer Components 5-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5-2 Simplorer Components

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

6
Device Characterization Wizard

The semiconductor device characterization wizard aids in the setup of NPN-type IGBT and Power
MOSFET device models to operate according to the device manufacturers' specifications. The
wizard accepts inputs for various quantities available from the device manufacturer and fits a
numerical model to the data to provide accurate device simulation over a range of device excitations and thermal conditions.
The following types of semiconductor models are available for parameter fitting:

Average IGBT
Basic Dynamic IGBT
Advanced Dynamic IGBT
Power MOSFET (Basic Dynamic model)

To start the device characterization wizard, select the Simplorer Circuit>Characterize


Device>Semiconductors command to open the Characterize Device dialog box in which you can
either start characterization of a new device, or continue a saved device characterization.
Related Topics
Characterize Device
Tutorial for Characterizing a Basic Dynamic IGBT
Tutorial for Characterizing a Power MOSFET

Device Characterization Wizard 6-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Characterize Device
Characterize
Device

Component
Information

To begin the device characterization:


1.

Click Simplorer Circuit>Characterize Device>Semiconductors to open the Characterize


Device dialog box.

2.

Do one of the following:

3.

To characterize a new device, select the New Device radio button, then select the Device
type: Average IGBT, Basic Dynamic IGBT, Advanced Dynamic IGBT, Power MOSFET.
To continue device characterization from a previous session, select the Continue device
characterization radio button and enter the file name from the previous session or browse
to the file using the ellipsis(...) button.

Click OK to start the device characterization wizard for the specified device. The following
topics describe the flow of the device characterization wizard for each device type, and provide
links to detailed information for each wizard dialog box. Choose the appropriate topic for your
specified device type to continue the characterization process.

Average IGBT Characterization Flow


Basic Dynamic IGBT Characterization Flow
Advanced Dynamic IGBT Characterization Flow
Power MOSFET Characterization Flow

Related Topics
Device Characterization Wizard Overview
6-2 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Average IGBT Characterization Flow


The chart below illustrates the flow of the Device Characterization wizard for the Average IGBT
model. The topic named in each box is linked to detailed information for the corresponding wizard
dialog box.

If you are characterizing a new device, begin by choosing Component Information.


If you are continuing device characterization from a previous session, choose the appropriate
topic to resume the process.

Component Information
Nominal Working Point
Values
Breakthrough Values

IGBT Thermal Model

Half-Bridge Test Circuit


Conditions

Freewheeling Diode
Thermal Model

Transfer Characteristics

Energy Characteristics

Output Characteristics

Validation

Freewheeling Diode
Characteristics

Model Parameters

Related Topics
Characterize Device
Basic and Advanced Dynamic IGBT Characterization Flow

Device Characterization Wizard 6-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Basic Dynamic and Advanced Dynamic IGBT Characterization Flow


The chart below illustrates the flow of the Device Characterization wizard for Basic Dynamic
IGBT and Advanced Dynamic IGBT models. The topic named in each box is linked to detailed
information for the corresponding wizard dialog box.

If you are characterizing a new device, begin by choosing Component Information.


If you are continuing device characterization from a previous session, choose the appropriate
topic to resume the process.

Component Information
Nominal Working Point
Values
Breakthrough Values

IGBT Thermal Model

Half-Bridge Test Circuit


Conditions

Freewheeling Diode
Thermal Model

Transfer Characteristics

Dynamic Model Input

Output Characteristics

Dynamic Param.
Validation

Freewheeling Diode
Characteristics

Model Parameters

Related Topics
Characterize Device
Average IGBT Characterization Flow
Tutorial for Characterizing a Basic Dynamic IGBT
6-4 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Power MOSFET (Basic Dynamic) Characterization Flow


The chart below illustrates the flow of the Device Characterization wizard for the basic dynamic
Power MOSFET model. The topic named in each box is linked to detailed information for the corresponding wizard dialog box.

If you are characterizing a new device, begin by choosing Component Information.


If you are continuing device characterization from a previous session, choose the appropriate
topic to resume the process.

Component Information
Nominal Working Point
Values
Breakthrough Values

FET Thermal Model

Half-Bridge Test Circuit


Conditions

Source-Drain Diode
Thermal Model

Transfer Characteristics

Dynamic Model Input

Output Characteristics

Dynamic Param.
Validation

Source-Drain Diode
Characteristics

Model Parameters

Related Topics
Characterize Device
Tutorial for Characterizing a Power MOSFET

Device Characterization Wizard 6-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component Information
Characterize
Device

Component
Information

Nominal
Working Point

This information will generally describe the component. The Component Name will be used in the
schematic or in the SML file name to identify the component for later use.
Note

When naming the component, spaces are not valid characters. Using a space in the
component name will result in an error. The valid characters for the component name are
a-z, A-Z, 0-9 and the underscore character "_".

1.

Enter the information in the fields to identify the component.

2.

To define the Switching Energy and Delay Time Measurement criteria for a Basic Dynamic or

6-6 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Advanced Dynamic IGBT click on the ellipsis button [...] next to the Manufacturer field to
open the Manufacturer Data dialog box in which you can set the start and stop times for Eon,
td(on), Eoff, and td(off) for the named manufacturer.
Note

These criteria are not enabled for Average IGBT device characterization.

The Manufacturer Data dialog allows the user to select the start and stop criteria for the
switching times and energies from predefined lists. Because each manufacturer uses different
criteria for these parameters, it is important to select the criteria which match the manufacturer
of the device being characterized to help ensure that the configured device converges to the
desired characteristics. Some choices are not yet available in the characterization tool. In such
cases an approximation must be made. In most cases, the off-time is defined as starting from
when VGE starts to drop to when IC has dropped sufficiently; while the on-time is defined as
starting from when VGE starts to increase to when IC has sufficiently increased.
Note

The characterization process is not capable of fitting for td(on/off) or tr(on/off)


separately. Therefore it is fitting for the complete On-switch or Off-switch times, which
consist of td(on) + tr = t(on) for the On-swich time and td(off) + tf = t(off) for the Offswitch time.

Note

The following procedures suggest approximations for several manufacturers. If you have
questions about these approximations, please contact ANSYS support or e-mail:
na-simplorerigbt-support@ansys.com

Device Characterization Wizard 6-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
ABB

Guidelines
ABB defines its switching criteria in its Applying IGBTs Application Note on its website.
ANSYS suggests the following on-time settings :
(This time is given on the datasheet as the sum of td(on) and tr.)

Set start time of t(on) to 10% rising VGE (0 to VGE_max).


Set end time of t(on) to 90% rising IC.

ANSYS suggests the following off-time settings:

Set start time of t(off) to 90% falling VGE (VGE_max to 0).


Set end time of t(off) to 10% falling IC (extrapolated).

The on-switching energy loss, Eon, is measured as starting at 10% after zero-crossing of rising
VGE and stopping at 10 to 20 microseconds beyond this point. The off-switching energy loss,
Eoff, is defined as starting at 90% of falling VGE and stopping at stopping at 10 to 20
microseconds beyond this point.
Due to limitations of the device characterization tool, the following settings should provide an
approximation of these energy parameters:
ANSYS suggests the following on-switch energy settings :

Set start time of Eon to 10% rising VGE (0 to VGE_max).


Set end time of Eon to 1% falling VCE.

ANSYS suggests the following off-switch energy settings:

Set start time of Eoff to 90% falling VGE (VGE_max to 0).


Set end time of Eoff to 1% falling IC.

6-8 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor

Guidelines

Hitachi

Hitachi defines its switching criteria in its datasheets.


ANSYS suggests the following on-time settings :
(This time is given on the datasheet as ton.)

Set start time of t(on) to 10% rising VGE (0 to VGE_max).


Set end time of t(on) to 10% falling VCE.

ANSYS suggests the following off-time settings:


(This time is given on the datasheet as toff.)

Set start time of t(off) to 90% falling VGE (VGE_max to 0).


Set end time of t(off) to 10% falling IC.

ANSYS suggests the following on-switch energy settings :

Set start time of Eon to 10% rising Ic.


Set end time of Eon to 10% falling VCE.

ANSYS suggests the following off-switch energy settings:

Set start time of Eoff to 10% of rising VCE.


Set end time of Eoff to 10% falling IC.

Device Characterization Wizard 6-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
Infineon/
Eupec

Guidelines
Infineon has defined its switching criteria for the switching times in the Infineon application
note AN2007-4, Figure 3.
ANSYS suggests the following on-time settings :
(This time is given on the datasheet as the sum of td(on) and tr.)

Set start time of t(on) to 10% rising VGE (0 to VGE_max).


Set end time of t(on) to 90% rising IC.

ANSYS suggests the following off-time settings:


(This time is given on the datasheet as td(off) +tf.)

Set start time of t(off) to (Infineon) td(off)+rf.


Set end time of t(off) to (Infineon) td(off)+rf.
This will cause the tool to match the sum of the time it takes to go from 90% of VGE to
90% of Ic (td_off on data-sheet) and the time it takes to go from 90% of Ic to 10% of Ic (tf
on data-sheet) with the sum of td(off) and tf. This is a manufacturer specific setting which
takes the gap between both times into account.

Per the Infineon datasheet:

Set start time of Eon to 10% rising VGE (0 to VGE_max).


Set end time of Eon to 3% falling VCE.
Set start time of Eoff to 90% falling VGE (VGE_max to 0).
Set end time of Eoff to 1% falling IC.

NOTE: A newer application note (AN2011-05, Figure22) describes a changed measurement for
the Off-switch time which doesn't have a time gap between the end of td(off) and the beginning
of tf. For those newer devices the selection should be:

Start time of t(off) to 90% falling VGE (VGE_max to 0).


End time of of t(off) to 10% falling IC

6-10 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
IXYS

Guidelines
IXYS has defined its switching criteria for the switching times in its IGBT application note
IXAN0063.
ANSYS suggests the following on-time settings :
(This time is given on the datasheet as the sum of td(on) and tr.)

Set start time of t(on) to 10% rising VGE (VGE_min to VGE_max).


Set end time of t(on) to 90% rising IC.

ANSYS suggests the following off-time settings:


(This time is given on the datasheet as td(off) and tf.)

Set start time of t(off) to 90% falling VGE (VGE_max to 0).


Set start time of t(off) to 10% falling IC.

ANSYS suggests the following on-switch energy settings :

Set start time of Eon to 10% rising Ic.


Set end time of Eon to 10% falling VCE.

ANSYS suggests the following off-switch energy settings:

Set start time of Eoff to 10% rising VCE.


Set end time of Eoff to 10% falling IC.

Device Characterization Wizard 6-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
Mitsubishi

Guidelines
Mitsubishi uses varying definitions for its switching criteria. The datasheets usually supply the
definitions that were used. Regrettably, many datasheets do not supply the values of Eon and
Eoff, so it will not be possible to fit for these characteristics. Consequently, the user need not fit
for these values in the Dynamic Model Input section.
ANSYS suggests the following on-time settings :
(This time is given on the datasheet as the sum of td(on) and tr.)

Set start time of t(on) to 10% rising VGE (0 to VGE_max).


Set end time of t(on) to 90% rising IC.

ANSYS suggests the following off-time settings:


(This time is given on the datasheet as td(off) and tf.)

Set start time of t(off) to 90% falling VGE (VGE_max to 0).


Set end time of t(off) to 90% rising VCE.

ANSYS suggests the following on-switch energy settings :

Set start time of Eon to 10% rising Ic.


Set end time of Eon to 10% falling VCE.

ANSYS suggests the following off-switch energy settings:

Set start time of Eoff to 10% rising VCE.


Set end time of Eoff to 10% falling Ic or 1% falling Ic. (check data-sheet)

6-12 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
Semikron

Guidelines
Semikron defines its switching criteria in its Technical Applications datasheet on its web-site.
ANSYS suggests the following on-time settings :
(This time is given on the datasheet as the sum of td(on) and tr.)

Set start time of t(on) to 10% rising VGE (0 to VGE_max).


Set end time of t(on) to 90% rising IC.

ANSYS suggests the following off-time settings:


(This time is given on the datasheet as td(off) and tf.)

Set start time of t(off) to 90% falling VGE (VGE_max to 0).


Set end time of t(off) to 10% falling IC.

ANSYS suggests the following on-switch energy settings :

Set start time of Eon to 10% rising VGE (0 to VGE_max).


Set end time of Eon to 3% falling VCE.

ANSYS suggests the following off-switch energy settings:

Set start time of Eoff to 90% falling VGE (VGE_max to 0).


Set end time of Eoff to 1% falling Ic.

Device Characterization Wizard 6-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor

Guidelines

Fuji

Fuji has defined its switching criteria for the switching times in its IGBT Application notes
(REH983).
Many datasheets do not supply the values of Eon and Eoff, so it will not be possible to fit for
these characteristics. The user then needs to not fit for these values in the Dynamic Model
Input section.
The on-time is defined as the time from the input signal rising above the threshold voltage to
90% of rising Ic. The starting time is not yet available in the wizard.
ANSYS suggests starting at 10% of rising VGE and stopping at 90% of Ic. This time is found
in the data-sheet as toff.
The off-time is defined as starting when the input signal drops below the threshold voltage and
stops at 10% of falling Ic. The starting time is not yet available in the wizard. ANSYS suggests
starting at 90% of VGE and stopping at 10% of Ic. This time can be found in the data-sheet as
toff.
Fuji regularly does not supply the switching losses Eon and Eoff. Nor do there appear to be
definitions for the losses in the application notes. A probable good approximation is to start Eon
at 10% of rising VGE and stop at 1% of falling VCE. A probable good approximation is to
start Eon at 90% of falling VGE and stopping at 1% of falling Ic.
3.

Click Next to continue characterizing the device (See Nominal Working Point).

6-14 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Nominal Working Point Values


Component
Information

Nominal
Working Point

Breakthrough
Values

The nominal working point of the device is the point commonly used when testing a device for
switching parameters such as switching speed, rise time, delay, etc. Ideally, this point should be the
condition in which the user is planning to operate the IGBT, but it is more important to have all the
data necessary for the characterization available at these conditions. Look to the area of the manufacturers specification regarding the test conditions for the switching times and losses to locate the
Nominal Working Point conditions.
Enter the information required to define the Nominal working point for the device:

Device Characterization Wizard 6-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Nominal values are the basis of working point dependency.


Note

Refer to the Vendor-Specific Guidelines for Nominal Working Point Values below when
making the following settings

Nominal Collector Emitter


Blocking Voltage [V]

This will be listed as Vcc in the test conditions area of the


switching characteristics section of the data sheet.

Nominal Collector Current [A]

Listed as Ic in the switching characteristics test conditions.

Nominal Reference Temperature This will generally be listed as Tc for the maximum
temperature test conditions for the switching characteristics,
[oC]
for example 125oC.
Collector-Emitter Saturation
Voltage under Nominal
Condition [V]

Listed as Vce sat in the swithing characteristic test conditions.


This field is disabled for Basic Dynamic and Advanced
Dynamic IGBT characterization.

On-Switch Gate-Emitter (Drive) Listed as Vge in the switching characteristics test conditions.
Voltage [V]
Off-Switch Gate-Emitter (Drive) This parameter may be listed in the switching characteristics
Voltage [V]
test conditions; however, it often is not. A rule of thumb is to
use the negative of the Vge(On) value listed above.
When finished, click Next to continue characterizing the device (See Breakthrough Values).
Vendor-Specific Guidelines for Nominal Working Point Values
Refer to the follow vendor-specific guidelines when setting nominal working point values:

Vendor

Guidelines

ABB

Most information will be available at 125o C in a datasheet. Review the


conditions for which the switching times and energies are given and choose
the one in which you want to operate.

Hitachi

Most information will be available at 125o C in a datasheet. Review the


conditions for which the switching times and energies are given and choose
the one in which you want to operate.

Infineon

Most information will be available at 125o C or 150o C in a datasheet. Review


the conditions for which the switching times and energies are given and
choose the one in which you want to operate.

6-16 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor

Guidelines

IXYS

Most information will be available at 125o C in a datasheet. Review the


conditions for which the switching times and energies are given and choose
the one in which you want to operate.

Mitsubishi

Most information will be available at 25o C in a datasheet. Review the


conditions for which the switching times and energies are given and choose
the one in which you want to operate. Though the information can be limited,
it is best to pick the point where the most information is available.

Semikron

Most information will be available at 125o C in a datasheet. It is good to look


at the conditions in which the switching times and energies are given and pick
the one in which you want to operate.

Device Characterization Wizard 6-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Breakthrough Values
Nominal
Working Point

Breakthrough
Values

Half-Bridge Test
Circuit

In the Breakthrough Values dialog, you can enter parameters related to the device breakthrough or
breakdown performance. The data needed to characterize breakthrough values is missing in most
datasheets. In such cases disabling this feature is recommended. In order to ignore the breakdown
of the device, check the Disable Breakthrough Model checkbox. This has the effect of setting the
parameters to very high values, thus preventing the model from simulating the breakthrough effects
of the device.
In order to simulate the breakthrough effects, enter the parameters listed in the table below.

6-18 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Breakthrough collector-emitter
voltage (V)

This value should be greater than the maximum collectoremitter voltage (V), i.e., Vce br > Vce max. A good rule of
thumb is to use twice the value for Vce max. In order to
determine this value, refer to the Safe Operating Area
diagram provided for the device. See Point A on the sample
diagram below.

Breakthrough collector current


(A)

This value should be greater than the maximum collector


current, i.e., Ic br > Ic max. A good rule of thumb is to use
twice the value for Ic max. In order to determine this value,
refer to the Safe Operating Area diagram provided for the
device. See Point B on the sample diagram below.

Breakthrough junction
temperature (oC)

This value should be greater than the maximum junction


temperature, i.e., Tj br > Tj max. The operating range for the
Junction Temperature is generally specified in the Absolute
Maximum Ratings section of the data sheet.

Breakthrough gate-emitter
voltage (V)

This value should be set greater than the value for Vge (On)
specified in the Nominal Working Point dialog box.

Collector-emitter resistance after This value represents the collector-emitter resistance of the
fault (Ohm)
device after a fault has occurred. Use the default value unless
the device vendor can supply a specific value.
Gate-emitter resistance after
fault (Ohm)

This value represents the gate-emitter resistance of the device


after a fault has occurred. Use the default value unless the
device vendor can supply a specific value.

Device Characterization Wizard 6-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Point B

Point A

When finished, click Next to continue characterizing the device (Half-Bridge Test Circuit).

6-20 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Half-Bridge Test Circuit Conditions


Breakthrough
Values

Half-Bridge
Test Circuit

Transfer
Characteristics

Choose the Half-Bridge Test Circuit Conditions parameter settings for the IGBT type being characterized:

Basic Dynamic or Advanced Dynamic IGBT Half-Bridge Test Circuit Conditions


Average IGBT Half-Bridge Test Circuit Conditions

Half-Bridge Test Circuit Condition for a Basic Dynamic or Advanced Dynamic IGBT

Note

Refer to the Vendor-Specific Guidelines for Basic Dynamic IGBT Half-Bridge Test
Circuit Condition below when making the following settings
Device Characterization Wizard 6-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Internal Gate Resistance Rg


(Ohm)

Not user defined. Default value is 0.2.

Total Lead Resistance R_tot


(Ohm)

R_tot is the lead resistance per switch of the IGBTs. This


value is used to calculate RE and RC in the parameterized
device generated by the device characterization wizard. If the
datasheet provides the resistance for a half-bridge module,
R_tot will be half of the value given on the datasheet.
Unless specified by the manufacturer, this value should
remain at the default value of zero. Contact the device
manufacturer to get a measured value for this parameter if
desired. NOTE: This value must be less than 0.250/Inom.

Internal Gate Stray Inductance


Lg (H)

Not user defined. Default value is zero.

Total Lead Stray Inductance


L_tot (H)

L_tot is the lead stray inductance per switch. This is used to


calculate LE, LAUX and LC in the parameterized device
generated by the device characterization wizard. If the
datasheet provides the stray inductance for a half-bridge
module, L_tot will be half of the value given on the datasheet.
The manufacture may provide a value for L_tot in the test
conditions section of the switching characteristics parameters.
If no value is supplied, leave the default value to prevent
numerical instability. Default value is zero.
Note: Some manufacturers list a value for L which is
generally the Load Inductance used for the test and should not
be interpreted as L_tot.

Sum of External Load Path


Stray Inductance L_extern (H)

L_extern is the sum of the external load path stray


inductance. This inductance is part of the half bridge circuit,
which is used to determine the switching energies and times.
This value will be fit for by the dynamic characterization tool,
but it is not a part of the parameterized device generated by
the parameterization wizard. The value entered here is used as
a starting point for the fit.
Unless specified in the manufacturers specification, the
inductance value should remain at the default settings. This
parameter may be specified when multiple devices are
packaged in a module. Default value is 2e-009.

6-22 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Switching-On Gate Resistance


Rg_on (Ohm)

This parameter will generally be listed in the test conditions


section of the on-switching characteristics as Rg. Default
value is 0.001.

Switching-Off Gate Resistance


Rg_off (Ohm)

This parameter is usually listed in the test conditions section


of the off-switching characteristics as Rg.
Unless otherwise specified in the manufacturers
specification, set this parameter to the same value used for
Rg_on. Default value is 0.001.

External Gate Capacity Cge ext This value should remain at the default value unless specified
(F)
in the manufacturers specification. Default value is zero.
Check the Use default values checkbox to apply the default values to the device being characterized.
When finished, click Next to continue characterizing the device (Transfer Characteristics).
Vendor-Specific Guidelines for Basic Dynamic IGBT Half-Bridge Test Circuit Condition
Refer to the follow vendor-specific guidelines when setting values:

Device Characterization Wizard 6-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
ABB

Guidelines
R_tot is given by R_cc_ee or half of R_cc_ee in the datasheet, depending if
the value is per switch or for the whole module.
L_tot is given by half of Lsce in the datasheet, depending if the value is per
switch or for the whole module.
L_extern can be listed as Ls in the measurement conditions of Eon and Eoff.
Rg_on and Rg_off are usually listed as RG in the measurement conditions of
the switching times and energies.
Cge_ext is usually not listed. If not listed, 1pF is a good approximation.

Hitachi

R_tot is usually not listed in the datasheet, using 0 is a good approximation, as


the DC characterization will adapt.
L_tot is given by Lsce or half of Lsce in the datasheet, depending if the value
is per switch or for the whole module.
L_extern can be listed as L in the measurement conditions of Eon and Eoff.
Rg_on and Rg_off are usually listed as RG in the measurement conditions of
the switching times and energies.
Cge_ext is usually listed as Cge in the measurement conditions of the
switching times and energies. If not listed, 1pF is a good approximation.

Infineon

R_tot is given by R_cc_ee or half of R_cc_ee in the datasheet, depending if


the value is per switch or for the whole module.
L_tot is given by Lsce or half of Lsce in the datasheet, depending if the value
is per switch or for the whole module.
L_extern can be reported as Ls in the measurement conditions of Eon and
Eoff.
Rg_on and Rg_off are usually reported as RG in the measurement conditions
of the switching times and energies.
Cge_ext is usually not listed by Infineon. If not listed, 1 pF is a good
approximation.

6-24 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vendor
IXYS

Guidelines
R_tot is generally not supplied; a default value of 0 is then appropriate.
L_tot is generally not supplied; a default value of 0 H is then appropriate.
L_extern is generally not supplied; a default value of 30 nH is then
appropriate.
Rg_on and Rg_off are usually given as RG in the measurement conditions of
the switching times and energies.
Cge_ext is usually not listed. If not listed , 1pF is a good approximation.

Mitsubishi

R_tot is given by Rlead or half of Rlead in the datasheet, depending if the


value is per switch or for the whole module.
L_tot is generally not supplied; a default value of 0 H is then appropriate.
L_extern is generally not supplied; a default value of 30 nH is then
appropriate.
Rg_on and Rg_off are usually listed as RG in the measurement conditions of
the switching times and energies.
Cge_ext is usually not listed. If not listed, 1pF is a good approximation.

Semikron

R_tot is given by R_cc_ee or half of R_cc_ee in the datasheet, depending if


the value is per switch or for the whole module.
L_tot is given by Lsce or half of Lsce in the datasheet, depending if the value
is per switch or for the whole module.
L_extern can be listed as Ls in the measurement conditions of Eon and Eoff.
Rg_on and Rg_off are usually listed as RG in the measurement conditions of
the switching times and energies.
Cge_ext is usually not listed. If not listed, 1pF is a good approximation.

Device Characterization Wizard 6-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Half-Bridge Test Circuit Condition for an Average IGBT

Gate Connector Resistance R_gg Not applicable.


(Ohm)
Collector-Emitter Connectors
Resistance R_cc_ee (Ohm)

Unless specified by the manufacturer, this value should


remain at the default value of zero. Contact the device
manufacturer to get a measured value for this parameter if
desired. NOTE: This value must be less than 0.250/Inom.

Gate Connector Inductance


L_gg (H)

Not applicable.

Total Stray Inductance Ls (H)

Not applicable.

6-26 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Module Stray Inductance Ls_ce Not applicable.


(H)
Switching-On Gate Resistance
Rg_on (Ohm)

This parameter will generally be listed in the test conditions


section of the switching characteristics as Rg.
Default value is 1.

Switching-Off Gate Resistance


Rg_off (Ohm)

Unless otherwise specified in the manufacturers


specification, set this parameter to the same value used for
Rg_on.
Default value is 1.

External Gate Capacity Cge_ext This value should remain at the default value of zero unless
(F)
specified in the manufacturers specification.
Check the Use default values checkbox to apply the default values to the device being characterized.
When finished, click Next to continue characterizing the device (Transfer Characteristics).

Device Characterization Wizard 6-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Transfer Characteristics
Half-Bridge
Test Circuit

Transfer
Characteristics

Output
Characteristic

In the Transfer Characteristics dialog box, each tab corresponds to one transfer characteristic
curve, i.e., Ic=f(Vge) at a specific temperature. These characteristics are obtained from the typical
transfer characteristic curves supplied by the manufacturer as shown in the example below.

If the transfer characteristics are not supplied in the datasheet, enough points usually can be
extracted from the output characteristics to get a good fit. To do so, one takes the current Ic at the
highest possible VCE (when the current is saturated, i.e., it ceases to increase as VCE is increased)
for at least three different values of VGE.

The Characteristic Data section allows you to enter curves or work with the data for a specific curve selected on the tabs.
The Boundary Conditions section is used to specify the junction temperature (Tj) and the
Collector-Emitter Voltage (Vce) associated with each curve.
The Fitting Ranges section allows you to specify the range of the data to use when performing
the fitting. Initially, the values are automatically filled with the maximum and minimum cur-

6-28 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

rent values from the curve.


Note

In some cases data sheets provide graphs for the transfer characteristic that far exceed
the regular range of working conditions of the IGBT. This has a negative influence on
the quality of the curve fitting by making the fitting process to focus on the high current
area. Therefore, the data points that are used for the fitting of the transfer characteristic
should be limited to approximately three times INOM.

In the Fitting Characteristic Order section two set of transfer characteristic data need to be
specified. The transfer characteristic under nominal junction temperature is mandatory, while
the characteristic at a different temperature is used to calculate correction coefficients when the
junction temperature of the device is different from the nominal temperature. If the data for the
latter are not available, the Not Used option should be selected in the pull down menu.
In the Fitting section, you perform the fitting of the model to the characteristic curve data and
validate the results.

Device Characterization Wizard 6-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For more information, click on an area of the image map below.

When finished, click Next to continue characterizing the device (Output Characteristic).

Boundary Conditions for Transfer Characteristic Data


The junction temperature Tj and collector-emitter voltage Vce, under which the characteristic data
are measured, need to be entered. This data is provided with the manufacturers Transfer Characteristic curves as shown in the example above.

Fitting Ranges for Transfer Characteristic


When importing data for a characteristic curve, fitting range values are automatically filled with the
minimum and maximum collector current values of the imported data. These values can be modified manually if a more narrow fitting range is desired. Data pairs with collector current values falling into the specified fitting range will be used for parameter extraction.

6-30 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Fitting Characteristic Order for Transfer Characteristic


Two sets of transfer characteristic data need to be specified to accurately extract a model over a
range of temperatures. The transfer characteristic under nominal junction temperature is mandatory, while the characteristic at a different temperature is used to calculate correction coefficients
when the junction temperature of the device is different from the nominal temperature. If the data
for the latter are not available, the Not Used option should be selected in the pull down menu, as
shown in the figure below.

Fitting Transfer Characteristic Data


The fitting section of the Transfer Characteristic dialog box contains options for the following
functions:

Validate
Show Result
Show Log
Start Fitting

Device Characterization Wizard 6-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Output Characteristic
Transfer
Characteristics

Output
Characteristic

Freewheeling
Diode Charact.

In the Output Characteristics dialog box, each tab corresponds to one output characteristic curve,
i.e., Ic=f(Vce) at a specific temperature. These characteristics are obtained from the output characteristic curves supplied by the manufacturer as illustrated in the example characteristic shown
below.

The Characteristic Data section allows you to enter curves or work with the data for a specific curve selected on the tabs.
The Boundary Conditions section is used to specify the junction temperature (Tj) and the
Gate-Emitter Voltage (Vge) associated with each curve.
The Fitting Ranges section allows you to specify the range of the data to use when performing
the fitting. Initially, the values are automatically filled with the maximum and minimum current values from the curve.

6-32 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In the Fitting Characteristic Order section, four sets of transfer characteristic data can be
specified.
The Full Saturated Branch output characteristic under nominal junction temperature is
mandatory, while the characteristic at a different temperature is used to calculate correction coefficients when the junction temperature of the device is different from the nominal
temperature. If the data is available, use the value of the gate voltage which corresponds to
the one used in the on-switch switching measurements (Vge on from the Nominal Working Point Values dialog).
The Semi Saturated Branch output data is used to calculate correction coefficients for
the output when not fully voltage saturated. The best choice for this data is a characteristic
showing some flattening of the output curve as shown above for the VGE=8Vcase at
25oC. The Not Used option should be selected in the pull down menu for any of the data
items that are not available. The semi-saturated branch is always measured at a lower
value of VGE than the fully saturated branch.

In the Fitting section, you perform the fitting of the model to the characteristic curve data and
validate the results.

Device Characterization Wizard 6-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For more information, click on an area of the image map below.

When finished, click Next to continue characterizing the device (Freewheeling Diode Characteristics).

6-34 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Boundary Conditions for Output Characteristic Data


The junction temperature Tj and collector-emitter voltage Vge, under which the characteristic data
are measured, need to be entered. This data is provided with the manufacturers Output Characteristic curves as shown in the example below.

Fitting Ranges for Output Characteristic


When importing data for a characteristic curve, fitting range values are automatically filled with the
maximum collector current and collector-emitter voltage values of the imported data. These values
can be modified manually if a more narrow fitting range is desired. Data pairs with values falling
into the specified fitting range will be used for parameter extraction.

Fitting Characteristic Order for Output Characteristic


Four sets of transfer characteristic data need to be specified to accurately extract a model over a
range of temperatures. The transfer characteristic under nominal junction temperature is mandatory, while the characteristic at a different temperature is used to calculate correction coefficients
when the junction temperature of the device is different from the nominal temperature. If the data

Device Characterization Wizard 6-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

for the latter are not available, the Not Used option should be selected in the pull down menu, as
shown in the figure below.

For the Output Characteristic curves, you must enter a Full and Semi saturated curve. Looking at
the example characteristic shown below, the curve for Vge=18V would be the saturated curve
while the Vge=15V or Vge=12V would be acceptable choices for the semi-saturated case.

Fitting Output Characteristic Data


The fitting section of the Output Characteristic dialog box is identical to the Transfer Characteristics dialog box and contains options for the following functions:

Validate
Show Result
Show Log
Start Fitting

6-36 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Freewheeling Diode Characteristic


Output
Characteristic

Freewheeling
Diode Charact.

IGBT Thermal
Model

In the Freewheeling Diode Characteristics dialog box, each of the tabs corresponds to one freewheeling diode characteristic curve, i.e., If = f(Vf) at a specific junction temperature Tj. These
characteristics are obtained from the forward diode characteristic supplied by the device manufacturer as illustrated below.

The Characteristic Data section allows you to enter curves or work with the data for a specific curve selected on the tabs.
The Boundary Conditions section is used to specify the junction temperature (Tj) associated
with each curve.
The Fitting Ranges section allows you to specify the range of the data to use when performing
Device Characterization Wizard 6-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the fitting. Initially, the values are automatically filled with the maximum current and voltage
values from the curve.

In the Fitting Characteristic Order section, two sets of characteristic data need to be specified. The characteristic under nominal junction temperature is mandatory, while the characteristic at a different temperature is used to calculate correction coefficients when the junction
temperature of the device is different from the nominal temperature. If the data for the latter
are not available, the Not Used option should be selected in the pull down menu.
In the Fitting section, you perform the fitting of the model to the characteristic curve data and
validate the results. In addition, the use of the diode in the model may be disabled by selecting
the Disable Diode checkbox.
For more information, click on an area of the image map below.

When finished, click Next to continue characterizing the device (IGBT Thermal Model).

6-38 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Boundary Conditions for Freewheeling Diode Characteristic


The junction temperature Tj under which the characteristic data are measured, needs to be entered.
This data is provided with the manufacturers Forward Diode Characteristic curves as shown in
the example above.

Fitting Ranges for Freewheeling Diode Characteristic


When importing data for a characteristic curve, fitting range values are automatically filled with the
maximum voltage and current values of the imported data. These values can be modified manually
if a more narrow fitting range is desired. Data pairs with values falling into the specified fitting
range will be used for parameter extraction.

Fitting Characteristic Order for Freewheeling Diode Characteristic


Two sets of characteristic data need to be specified to accurately extract a model over a range of
temperatures. The diode characteristic under nominal junction temperature is mandatory, while the
characteristic at a different temperature is used to calculate correction coefficients when the junction temperature of the device is different from the nominal temperature. If the data for the latter are
not available, the Not Used option should be selected in the pull down menu, as shown in the figure below.

Fitting Freewheeling Diode Characteristic Data


The main functions of the fitting section of the Freewheeling Diode Characteristic dialog box are
identical to the Transfer Characteristics dialog box and contains options for the following functions:

Validate
Show Result
Show Log
Start Fitting

In addition, the Disable Diode checkbox may be used to remove the effects of a freewheeling diode
from the completed model.

Device Characterization Wizard 6-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Including Thermal Effects in the IGBT Model


Thermal effects can be included into the IGBT model in two ways. First, using the full IGBT
device thermal effects, and further using the freewheeling diode thermal effects.
Several things should be considered when using the thermal models:

Disabling the IGBT Thermal Model disables all thermal modeling for the device and switches
the IGBT into isothermal mode.
You may incorporate IGBT modeling but independently disable the thermal modeling of the
freewheeling diode.
You may enable thermal pins for the model, to externally model the effects of the heat sink,
affecting both the IGBT and the freewheeling diode.
You may select the topology of the internal thermal network.

For more details, select one of the following:

IGBT Thermal Model


Freewheeling Diode Thermal Model

6-40 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IGBT Thermal Model


Freewheeling
Diode Charact.

IGBT Thermal
Model

FW Diode
Thermal Model

In order to model the device's thermal effects the IGBT model uses a rational polynomial which is
represented internally by a combination of four RC elements.
The IGBT Thermal Model dialog box allows you to define the coefficients for elements of the
internal thermal network by extracting them from the manufacturers Transient Thermal Impedance data or by directly entering the Fractional Coefficients in a data table.
By default, the table to enter the Fractional Coefficients is enabled. Select the Use Transient
Thermal Impedance radio button to enable the entry of transient thermal impedance data into a
data table.

Device Characterization Wizard 6-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For more information, click on an area of the image map below.

When finished, click Next to continue characterizing the device (FW Diode Thermal Model).

IGBT Thermal Fitting Mode


You can define the thermal parameters in two ways: by fitting of the transient IGBT thermal impedance waveform provided by the manufacturer or entering the coefficient of the thermal network directly.
Click on one of the modes listed to get more information:

Transient Thermal Impedance


Fractional Coefficients

6-42 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Transient Thermal Impedance


The Transient Thermal Impedance mode is used to enter characteristic data from the manufacturer's data sheet that describes the thermal impedance of the IGBT. To use the Transient Thermal
Impedance model:
1.

Select the Use Transient Thermal Impedance radio button in the Fitting Mode section of the
dialog box as shown below.

2.

In the Transient Thermal Impedance characteristic data curve section of the dialog box,
enter the thermal response curve as described in Working with Characteristic Data.
The thermal impedance of the IGBT is entered in the format of data pairs. An example of the
thermal impedance in the data sheet is shown in the figure below. Note in this case, the thermal
impedance required by the device characterization tool is the thermal response under single
pulse excitation.

Device Characterization Wizard 6-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Fraction Coefficients Mode


The Fraction Coefficients mode is used to enter the thermal coefficients directly. To use the Transient Thermal Impedance model:
1.

Select the Use Fraction Coefficients radio button in the Fitting Mode area of the dialog box
as shown below.

The data table to enter the thermal coefficients is enabled for editing.
2.

Enter the thermal coefficients, i.e., thermal resistance Ri and time constant i here (please
refer to the IGBT Average model reference for more information on the thermal model). These
coefficients must be supplied by the device manufacturer in order to use either fractional
expansion model.

Thermal Network Topology


The IGBT Thermal Model can be set up to use one of two different types of fractional model
topologies for the description of the thermal behavior of the IGBT and the freewheeling diode: the
partial fraction model or the continued fraction model.

6-44 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Partial Fraction Model


The Partial Fraction model treats the thermal performance of the IGBT as a rational polynomial
modeled as a series of four parallel RC elements. The coefficients of the Partial Fraction model
must be entered in the Fraction Coefficients section of the dialog box.

Continued Fraction Model


The Continued Fraction model treats the thermal performance of the IGBT as a rational polynomial modeled as a series of four RC ladder network elements. The coefficients of the Continued
Fraction model must be entered in the Fraction Coefficients section of the dialog box.

IGBT Heatsink Parameters


The IGBT Thermal Model dialog box allows you to specify the parameters for the heatsink directly (internal heatsink) or to provide external thermal pins to the component in order to connect a
thermal network that serves as an external heatsink. The heatsink (internal or external) affects both
the IGBT and the freewheeling diode.
If you choose to use the internal heatsink, the Thermal Resistance and Thermal Capacitance of
the external heatsink should be supplied in this section of the dialog box. This information must be
supplied by the heatsink manufacturer. The default values should be used if no information is available regarding the external heatsink.

Fitting Characteristic Data Curves


The main functions of the fitting section of the IGBT Thermal Model dialog box are identical to
the Transfer Characteristics dialog box and contains options for the following functions:

Show Result
Show Log
Start Fitting

Device Characterization Wizard 6-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Freewheeling Diode Thermal Model


Energy
Characteristics
IGBT Thermal
Model

FW Diode
Thermal Model

Average Model
Dynamic Model
Input
Basic Dynamic Model

The Freewheeling Diode Thermal Model dialog box is similar to the IGBT Thermal Model. The
freewheeling diode transient thermal impedance or the fraction thermal coefficients can normally
be found in the manufacturers' data sheet.
Note

Certain aspects of the thermal modeling are defined commonly for the IGBT and the
freewheeling diode (e.g. topology of the thermal model, type and parameters of the
heatsink, and type of the thermal output). Therefore those parameters are accessible only
on the thermal parameter page for the IGBT.

6-46 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Click on an area of the image map below for more detailed information.

When finished, click Next to continue characterizing the device.

For an Average IGBT go to Energy Characteristics.


For a Basic Dynamic IGBT go to Dynamic Model Input.

Device Characterization Wizard 6-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Energy Characteristics (Average IGBT)


FW Diode
Thermal Model

Energy
Characteristics

Validation

In the Energy Characteristics page, you need to enter the data for the calculation of the energy
correction coefficients for the Average IGBT model. The switching energy data under at least seven
different working conditions are required to calculate the complete set of energy correction coefficients.

These seven data sets must be entered following a predefined format:


6-48 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The first row is the set of data under the nominal working conditions.
Each subsequent row may have only one change in the working condition, e.g., temperature T
is different from the value in the nominal values row. The required variation for each row is
listed in the Note column of the table and is described below.
Additional rows may be added.

If any of these data sets are not available, the Enable check box for this row should be unchecked
and the corresponding coefficients will remain at their default values (please refer to the IGBT
Average model reference for more information on the algorithm of the switching energy calculation). Additional information provided will be used to fine tune these coefficients.

Eon Turn-On Switching Loss


Eoff Turn-Off Switching Loss
Err Reverse Recovery Switching Loss
Click Extraction to calculate dynamic dependency. Show Log is enabled after Extraction is completed, allowing users to view the results after fitting.
When finished, click Next to continue characterizing the device (Validation).

Adding Rows to Energy Characteristics


Seven rows are created by default in the Energy Characteristics table, and you can enter additional rows of data. These additional data are not required in the calculation of the energy correction coefficients, but they are used to improve the accuracy of the model.
To add or delete rows in the Energy Characteristics table, select one of
the command icons

to perform the function listed in the table below.

Create new row of data for the selected


characteristic.
Delete the selected row of data.

Device Characterization Wizard 6-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Delete all the data for the selected characteristic.

Move the selected row of data upward.

Move the selected row of data downward.

Energy Characteristic Default Row Description


The 1st row is the measured data under the nominal working condition. This row of data provides the basis for the energy correction of other working conditions, and is required for the
calculation of the correction coefficients. The Enable check box for this row is always
checked. The nominal working conditions are populated to the 2nd-7th rows of data according
the pre-defined format.

The 2nd row is data at a different temperature Tj from the nominal value. This row of data is
used to calculate the temperature correction coefficient. In this row, only the value of Tj and
the switching energies are editable. The rest of the data are automatically copied from the 1st
row.If this set of data is not available, the Enable check box should be unchecked and the temperature correction coefficient will remain at its default value.

The 3rd row is data at a different collector-emitter voltage Vce. This row of data is used to calculate the voltage correction coefficient. In this row, only the value of Vce and the switching
energies are editable. The rest of the data are automatically copied from the 1st row. If this set
of data is not available, the Enable check box should be unchecked and the voltage correction
coefficient will remain at its default value.

The 4th and the 5th row are data at different collector current Ic: one at a higher current than
the nominal Ic and the other at a lower value. These two rows of data are used to calculate the
coefficients for doubled-sided current correction function (please refer to the IGBT Average
model reference for more information). In these two rows, only the value of Ic and the switching energies are editable. The rest of the data are automatically copied from the 1st row. If any
of these sets of data is not available, the Enable check box should be unchecked and the corresponding current correction coefficients will remain at its default value.

The 6th and the 7th row are data at different gate resistances: one at a higher resistance than the
nominal Rg_on or Rg_off and the other at a lower value. These two rows of data are used to
calculate the coefficients for doubled-sided gate resistance correction function (please refer to
the IGBT Average model reference for more information). In this row, only the value of
Rg_on, Rg_off and the switching energies are editable. The rest of the data are automatically
copied from the 1st row. If any of these sets of data is not available, the Enable check box
should be unchecked and the corresponding gate resistance correction coefficients will remain
at its default value.

6-50 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Dynamic Model Input (Basic and Advanced Dynamic IGBT)


FW Diode
Thermal Model

Dynamic Model
Input

Dynamic Param.
Validation

In the Dynamic Model Input page, you need to enter the data for the calculation of the energy correction coefficients and switching delay times for the Basic and Advanced Dynamic IGBT models.
The switching energy data under at least six different working conditions are required to calculate
the complete set of energy correction coefficients.

These six data sets need to be entered following a predefined format:

The first row is the set of data under the nominal working conditions.
Each subsequent row may have only one change in the working condition, e.g., temperature T
is different from the value in the nominal values row. The required variation for each row is
Device Characterization Wizard 6-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

listed in the Note column of the table.


If any of these data sets are not available, the Enable check box for this row should be unchecked
and the corresponding coefficients will remain at their default values (please refer to the IGBT
Basic Dynamic model reference for more information on the algorithm of the switching energy calculation). Additional information provided will be used to fine tune these coefficients.
Dynamic model parameters of the Basic Dynamic IGBT model
Eon

Turn-On Switching Loss

Eoff

Turn-Off Switching Loss

Ton

Turn-On Time (vendor-specific)

Toff

Turn-Off Time (vendor-specific)


The target error in the parameter fitting for the specified case. In general, lowering the
residue will result in higher accuracy at the expense of extraction time; however, lower
residues are not always achievable. Increasing the residue values increases the
probability of successful convergence. The default provides good model accuracy with
reasonable extraction time.

Residue Fitting of the nominal working point must converge before the extraction process can
proceed to other working points. Failure to converge on any other working point will
warn you of the failure and provide you with the option to continue the extraction
process with other working points.
Changing the residue will allow you to place more or less emphasis on fitting to a set
of parameters.
Weights can be adjusted for the switching energies, Eon and Eoff, and for the delay times, Ton and
Toff. A higher Weight gives a higher importance to more precisely fit to that particular value. A
default weight of 1 is set for these parameters.

6-52 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

It is possible to define the Switching Energy and Delay Time Measurement criteria by clicking on
the Measurement button to open the Measurement Data dialog box in which you can set the start
and stop times for Eon, t(on), Eoff, and t(off) for the device being characterized.

Note

The Measurement Data dialog box contains the same settings as those in the
Manufacturer Data dialog box (Refer to Component Information).

When finished, click Next to continue characterizing the device (Dynamic Param. Validation).
Dynamic Parameters of the Advanced Dynamic IGBT Model
The first group of parameters is the same as those used for the Basic Dynamic IGBT model.
Eon

Turn-On Switching Loss

Eoff

Turn-Off Switching Loss

Ton

Turn-On Time (vendor-specific)

Toff

Turn-Off Time (vendor-specific)

In addition to the basic dynamic parameters the following table lists the advanced dynamic parameters whose values can be determined without the need of a template function fitting. These values
result from either integration or interpolation of the simulated wave form.
Err

Reverse recovey energy loss

Qrr

Reverse recovery charge

Flux

Off switch voltage overshoot area


Device Characterization Wizard 6-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Cos

Relative current overshoot at on switch

Vos

Relative voltage overshoot at off switch

TdG

Input voltage delay time before current rise

TrG

Input voltage rise time

TsG

Input voltage storage time before current fall

TfG

Input voltage fall time

TdI

Load current delay time before current rise

TrI

Load current rise time

TsI

Load current storage time before current fall

TfI

Load current fall time

TdV

Voltage wave form delay time before voltage rise (off switch)

TrV

Voltage wave form rise time (off switch)

TsV

Voltage wave form delay time before voltage fall (on switch)

TfV

Voltage wave form fall time (on switch)

Detailed descriptions of each of these are given below.


ERR:
The reverse recovery energy loss is a characteristic value of the free wheeling diode and not a
parameter of the switching device under test. Currently this value is not assigned in the model
characterization and is set to zero.
QRR:
QRR is an integral value. The integration starts above 100% of the collector current which is
equal to the DC like load current at this moment and goes until the current overshoot has settled down to 100% collector current again or until the next off switch trigger occurs. The equation or the measurement instruction is:

QRR = ( I C I LOAD )dt


if the current overshoot,

I C = I C I LOAD is positive.

6-54 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The value QRR includes the charge of the capacitive components of the upper half bridge transistor and the excess charge storage of the free wheeling diode parallel to the upper transistor at
the moment of IRR zero crossing. It is the remaining excess charge at this time.

Flux:
Another integral value is the area under the voltage overshoot. Defining the voltage overshoot
as: V = V V ,
CE

then

CE

CC

FLUX = VCE ( t ) dt

if the voltage overshoot is positive or maximum until the next on switch trigger occurs. This
overshoot is caused by stray inductances of the circuit from the power source to the half
bridge, throughout the half bridge back to the power source ground. From FLUX it is possible

Device Characterization Wizard 6-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

to calculate the effective stray inductance L . Using FLUX module stray inductances can be
adapted to the best fit.

Cos:
To adopt the parasitic capacitances and the charge controlling life time parameters TAUFD
and TAUBE according to given
value COS =

di
values of
dt

IC

this relative collector current overshoot goal

I C
I LOAD (100% ) is useful.

6-56 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

COS strongly depends on the reverse recovery current slope


and thus on the total inductance

di
at the moment of zero crossing
dt

LTOT of the current commutation path. Both values, COS and

the overshoot duration, fit automatically to preserve the excess charge QRR.

Device Characterization Wizard 6-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Vos:

di

The voltage overshoot is sensitive to the stray inductances

L and dt values. It can be used to

fit for the most appropriate circuit stray inductance.


Its definition is VOS =

VCE
.
VCC (100% )

TxG, TxI, TxV:


These advanced parameters provide full flexibility for device parameter optimization. Every
switched signal can be characterized by typical trigger levels and the corresponding time values. Usually a signal rise time is defined from 10% of rise beginning to 90% of signal maximum. This is only one example for more possible definitions.
Here four trigger points and their times used. Starting from Low come delay, rise, storage and
fall time. This simple definition is applied to the input wave form VGE
current

IC ( t ) = I2 ( t ) and the output voltage VCE ( t ) =V2 ( t ) .

( t ) = V1 ( t ) , the output

As constraints the device characterization must provided the level definition. Each trigger level
can accept values in the range of 0.0 to 1.0. The resulting time values are all related to the on
switch or the off switch trigger. By combination of these 12 time durations it will be possible
to generate very different measurement conditions which can be used as fitting targets or for
6-58 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

comparison between measurement and simulation. The following picture gallery gives an
overview of the existing definitions:

Device Characterization Wizard 6-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Dynamic Parameter Validation (Basic and Advanced Dynamic IGBT)


Dynamic Model
Input

Dynamic Param.
Validation

Model
Parameters

In the Dynamic Parameter Validation page, you can check the accuracy of the parameterized
component through the validation of switching energies. The table is automatically populated with
data at the nominal and difference temperatures used to create the model. To the left of the Enable
button are the switching energies entered for the model creation, and to the right of the Enable button are those calculated through the dynamic model for validation.

6-60 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To validate the model:


1.

Click Validate to calculate the energies in a test configuration.


Entries on the right hand side of the Enable check box are filled in after the validation process
is finished. The validation is performed through a series of transient analyses under the specified working conditions.

2.

Click Show Log to view a copy of the simulation log showing both the Datasheet value and
the Simulation results as well as the Error percentage between the two sets of data.

Note

3.

You can selectively enable or disable the validation process for any row in the table by
selecting or clearing the Enable button

When finished, click Next to continue characterizing the device (Model Parameters).

Device Characterization Wizard 6-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Validation (Average IGBT)


Energy
Characteristics

Validation

Model
Parameters

In the Average IGBT Validation page, you can check the accuracy of the parameterized component
through the validation of switching energies.

To validate the model:


1.

Add a row to the table using the command buttons.

2.

Enter a set of parameters associated with a working point where known values of the energies
are available.

6-62 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

Click Validate to use the model, with the parameters entered, to calculate the energies in a test
configuration.
Entries on the left hand side of the Enable check box are fully editable, and the entries on the
right hand side of the check box are filled in after the validation process is finished. The validation is performed through a series of transient analysis under the specified working conditions.

4.

Click Show Log to view a copy of the simulation log showing both the Datasheet value and
the Simulation results as well as the error percentage between the two sets of data.

Note

5.

You can selectively enable or disable the validation process for any row in the table by
selecting or clearing the Enable button

When finished, click Next to continue characterizing the device (Model Parameters).

Device Characterization Wizard 6-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Model Parameters
Validation
Average Model

Model
Parameters

Dynamic Param.
Validation
Basic Dynamic Model

The Model Parameters page shows the extracted values of the parameters. The allowed range of
the parameters, their default values, and a brief description are also provided.

6-64 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To complete the device characterization process, do either of the following:


1.

To complete the characterization process and place the model in the schematic;
a.

Click Finish.
The Model Parameters dialog box closes.

b.

Using the mouse, move the component to a location on the schematic.

c.

Click the mouse at the desired location to place the component.

d.

Press Esc to exit the placement mode.


The component has now been successfully characterized and placed on the schematic. A
copy of the component definition is available in the Components tab of the Project Manager window.

2.

To complete the characterization process and create a stand-alone SML model of the device:
a.

Click on the Create SML button to create a parameterized Average, Basic Dynamic or
Advanced Dynamic IGBT component.
The Save As dialog box is displayed.

b.

The component name specified in the Component Information dialog box is used as the
file name.

c.

Browse to the location you wish to store the component model and click Save. A standDevice Characterization Wizard 6-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

alone SML model is now available for import or to distribute.


3.

Click Finish to complete the Characterize Device wizard and place the component on the
schematic, or click Cancel to complete the wizard without placing the component.

6-66 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding/Deleting Characteristic Data Curves


Multiple characteristic data curves may be used to create a model for an IGBT. Using the command
icons at the top right of the dialog box, you may add or delete entire curves or plot the curves currently available.

Click this icon to display the Choose Characteristics dialog box for selecting and plotting the current characteristic curves.

Click this icon to add a new characteristic tab.

Click this icon to delete the currently selected characteristic tab and all associated data.

Related Topics
Transfer Characteristics
Output Characteristic
Freewheeling Diode Characteristic

Device Characterization Wizard 6-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Plotting Characteristics Data


1.

Click the Show Results button (on the Transfer, Output, or FWD wizard pages).

2.

The Choose Characteristics dialog box allows you to select the characteristics to be displayed. Select the characteristic data to display by selecting or clearing the checkbox in the
show column for any curve.

3.

Click OK to create a plot using the selected curves.

6-68 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Selecting a Characteristic Curve


The tabs at the top of the Transfer Characteristics, Output Characteristic, and Freewheeling
Diode Characteristics dialog boxes allow you to switch between individual characteristic curves
to review the data or modify data in a specific curve as necessary for the fitting process.
Each curve is assigned a numerical index based on the order it was added to the model. The numerical index along with the temperature associated with the curve, and the Vge value for Output
Characteristic, are listed in the tabs to uniquely identify the curve.
Click on a tab to load the curve of interest into the table and make it available for editing.

Related Topics
Transfer Characteristics
Output Characteristic
Freewheeling Diode Characteristic
Working with Characteristic Curve Data

Device Characterization Wizard 6-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Working with Characteristic Data Curves


The Characteristic Data section of the dialog box allows you to enter data to describe the performance of the device representing either the Transfer Characteristic, Output Characteristic, or
the Freewheeling Diode Characteristic, In addition, the data may be manipulated in the dialog by
changing specific data points, adding new data, or excluding data from consideration when performing curve fitting and model parameter extraction.
Note

The information in this section on working with data curves is also applicable to the
Transient Thermal Impedance section on the IGBT Thermal Model dialog box,.

Characteristic curves may be opened, saved or imported using the command icons
listed in the table below.

Open an existing characteristic data file (.mdx file)

Open the Dataset Manager dialog to allow manual data


point entry or data entry via the sheetscan tool.
Save the characteristic data to a file (.mdx file)

Data in the curve can be manipulated in various ways.


6-70 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Click in any data cell to make the cell editable and change the data for that entry in the table.
Click on the checkbox next to any data point in the table to Enable/Disable the data point during the fitting.
Select one of the command icons
below.

to perform the function listed in the table

Plot the selected characteristic curve.

Create new row of data for the selected characteristic.

Delete the selected row of data.

Delete all the data for the selected characteristic.

Move the selected row of data upward.

Move the selected row of data downward.


Related Topics
Transfer Characteristic
Output Characteristic
Freewheeling Diode Characteristic
IGBT Thermal Model

Device Characterization Wizard 6-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Fitting Data to the Model


The Fitting area of the dialog box allows you to perform the fitting of the model parameters to the
entered data.

Validate
To validate the extracted parameters, the parameterized IGBT model is placed in the same testing
circuit configuration as that used by the manufactures. Simulation results are placed in the same
plot as the measurement data for easy comparison. To perform a validation:
1.

Click on the Validate button after performing a fitting function.


The Choose Characteristics dialog box is displayed with the characteristics used for the fitting process selected for display.

2.

In the Choose Characteristics dialog box, select or unselect any additional characteristics for
plotting by setting or clearing the Show checkbox next to the characteristic name.

3.

Click OK to dismiss the dialog box and plot the results of the validation as illustrated below.v

In the legend, traces started with Simu are simulation results, and the others are measurement data.
Related Topics
Transfer Characteristic
Output Characteristic
Freewheeling Diode Characteristic

6-72 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Show Result
The Show Results functionality provides a way to visually compare the measurement and simulation data. The results plotted are the data input from measurement, and the results generated using
the fitted polynomials from the fitting process. The plot is identical to the plot shown after completing the fitting process.

Related Topics
Transfer Characteristic
Output Characteristic
Freewheeling Diode Characteristic

Device Characterization Wizard 6-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Show Log
The Show Log button is enabled after the curving fitting process is finished. This button displays a
fitting log with the final fitted parameter values as well as the accuracy information, as shown
below.

In the fitting log, the fitting status is given, i.e., Fitting Successful or Fitting Failure. In this example, the transfer characteristic data at both nominal working temperature (Tj=125oC) and a different working temperature (Tj=25oC) are fitted to derive the values of the set of parameters,
which determines the transfer characteristics of the IGBT model, and the working point correction
coefficients. If only the characteristic data at the nominal temperature are provided, the working
point correction coefficients will be set to 0.0 (Please refer to the IGBT Average model reference
for more information). The asymptotic standard fitting error for each parameter is listed in the fitting log, in both absolute and relative format.
Related Topics
Transfer Characteristic
Output Characteristic
Freewheeling Diode Characteristic

6-74 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Start Fitting
The fitting process involves adjusting a set of standard parameters to the selected curves. Once the
parameters are adjusted to fit to the characteristic curves, the parameters become the basis for the
IGBT model. The curves selected in the Fitting Characteristic Order section of the dialog are
used for the fitting process.
1.

Click on the Start Fitting button to perform curve fitting.


An information dialog box is displayed when fitting is complete.

2.

Click OK to dismiss the Fitting Complete dialog box.

3.

The Choose Characteristics dialog box is displayed with the fitted curve pre-selected.

4.

Click OK to dismiss the dialog and display the fitted curves as shown below.
The characteristics data both from the measurement and the calculation are displayed in the
same plot for comparison.
In the legend, traces started with Gen are calculated results using the derived polynomials, and
the others are measurement data.

Related Topics
Transfer Characteristic
Output Characteristic
Freewheeling Diode Characteristic

Device Characterization Wizard 6-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Import Model
Data may be imported from a parameterization wizard file using the Import Model... button.
To import data from an existing file:
1.

Click Import Model...

2.

Use the file browser to locate and open the .ppm file with the desired data.
The Import Data dialog is displayed.

Section items listed in the dialog depend upon the type of device model and the data available
in the selected file.
3.

Click one or more checkbox in the Check column to indicate what data is to be imported.

4.

Click OK to import the data or Cancel to exit without importing data.

Related Topics
Save Model

6-76 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Save Model
In order to save the state of the Device Characterization wizard at any point:
1.

Click Save Model...


The Save As dialog appears.

2.

Enter a File Name for the saved parameterization file and click Save.

The parameterization may be recovered at a later time using the Continue Device Characterization option in the Characterize Device dialog, or by importing sections of data using the Import
Model... button.

Device Characterization Wizard 6-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Close the Device Characterization Wizard


To stop the Device Characterization Wizard:
1.

Click Cancel.

2.

Click the Yes button in the confirmation dialog to Abort the Changes and the close wizard.
Click No to return to the wizard.

6-78 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Tutorial for Characterizing a Basic Dynamic IGBT


The IGBT Device Characterization Wizard allows you to parameterize a Basic Dynamic IGBT
model to match both the DC and dynamic characteristics of a device using information from the
manufacturers data sheet. The information available in the data sheet limits the accuracy of parameterized IGBT model. For example, if the data sheet does not provide a devices transfer characteristics, the accuracy of the gate-voltage dependence of the output will be reduced.
The wizard can characterize a wide array of IGBTs. The available information can, and often does,
vary from vendor to vendor, and even from device-to-device from the same vendor. The following
procedures include vendor-specific information for help in characterizing models for several vendors devices. If you have any additional questions, contact ANSYS support or e-mail: na-simplorerigbt-support@ansys.com.
Related Topics
Preliminary Considerations Using Data Sheet Information
Using the Device Characterization Wizard for a Basic Dynamic IGBT

Preliminary Considerations Using Data Sheet Information


Before starting a device characterization, study the manufacturers data sheet for the IGBT you
want to characterize. Each manufacturer has a unique design and naming convention for their data
sheets. Different manufacturers also measure device characteristics differently.

Note

First, determine the nominal conditions for the device. Ideally, these are the conditions at
which the device will be operated. Practically, these conditions should be those for which
you have the most information closest to the desired operating conditions. Search the data
sheet and look at all available data to decide on the nominal point. The measurement conditions for the dynamic characteristics (Eon, Eoff, td(on), and td(off)) are a generally
good choices.
DC characteristics are parameterized using the transfer and output characteristics, which
can be found as plots in the sheet.
Dynamic behavior is characterized using the switching energies and times, which can be
found either in a table or read from a plot.
The IGBT wizard documentation includes information and recommended settings for
several manufacturers. Make sure to consult these sections in the documentation when
characterizing a device.

Related Topics
Using the Device Characterization Wizard for a Basic Dynamic IGBT

Device Characterization Wizard 6-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Device Characterization Wizard for a Basic Dynamic IGBT


The following procedures use an Infineon device as an example. The process is similar for other
manufacturers devices.
Note

At any time during the characterization process you can save your progress using the
Save Model button.
A characterization can be loaded using the Import Model tab.

1.

In the Component Information [1/12] dialog box, enter the component name and define the
Manufacturer Data. The detailed documentation describes some specific settings for several
manufacturers. These are the measurement conditions for the dynamic characteristics. For
example, Infineon/Eupec uses the following settings:

2.

The Nominal Working Point Values [2/12] dialog sets nominal values at the devices working point. As mentioned above, ideally, these are the operating conditions for the device in the
design. Practically, these values should be the ones on the manufacturer data sheet with the
most information closest to the operating conditions. These are the conditions for which the
parameterized device will best match the measured characteristics. For Infineon/Eupec, generally pick the measurement conditions for the dynamic characteristics. Pick the values of VCE
and IC that are mentioned in the table next to the value of the turn-on energy, Eon. Select the
temperature for which you have the output characteristics in the plots section. VGE_on and
VGE_off can be found next to the value of Eon. Cin, the input capacitance, can be found in
the datasheet. Cr, the Feedback (Miller) capacitance can be found in the datasheet, it is sometimes refered to as reverse transfer capacitance. If the values cannot be found in the datasheet,
0 is a good default value, as the characterization tool will then pick a value using the other
device characteristics. Click Next to continue.

3.

On the Breakthrough Values [3/12] dialog, check Disable Breakthrough Model, as the
breakdown characteristics data are rarely available in a data sheet. Click Next to continue.

4.

The data needed for the Half-Bridge Test Circuit Conditions [4/12] dialog can generally be
found in the tabular section of the data sheet.
For example, for an Infineon/Eupec device:

6-80 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Rg is the internal gate resistance found in the datasheet. This value will be used as an
initial value during the dynamic characterization, it will not be the internal gate resistance the characterized device ends up with.
R_tot is given by R_cc_ee. If the value is given by module instead of by switch,
halve it. If the value is not on the sheet, 0 (zero) is a good default.
Ltot, is given by Lsce. If the value is given by module instead of by switch, halve it.
If the value is not there, 0 (zero) is a good default.
L_extern can be given by Ls in the test conditions for Eon. If the value is not there,
30 nH is a good value to use. The characterization wizard will parameterize this value
to find a good fit with the dynamic data.
Rg_on and Rg_off can be found next to the values of the switching energies Eoff and
Eon.
Cge is generally omitted and a default value of 1e-12F can be used.
Cload is sometimes found on the datasheet as load capacitance. Use 0 if it is missing.
When finished setting values, click Next to continue.

The Transfer Characteristic [5/12] dialog enables you to parameterize the threshold voltages
and transconductance of the IGBT. The data can be entered using SheetScan. To do so, use the
Load characteristics from Dataset Manager button
above the table and then click
SheetScan. Load the manufacturer data sheet .pdf file using the Picture>Load picture command.

For an Infineon/Eupec device, the data sheet plot shows IC=f(VGE).


a.

Select a coordinate system (Coordinate System>New) and define it on the plot. To


do so, you must select three points. Typically, you should use the bottom-right, bottom-left and top-right points of the plot grid. Click on Point1, Point2 and Point3 and
select the corresponding points on the graph. Enter the corresponding X-Values and
Y-Values for these points (read from the plots x-axis and y-axis labels) in the table
and click OK to finish defining the coordinate system.

b.

To define the first characteristic, select Curve>New and give names to the X-Axis
and Y-Axis in the Curve Settings dialog box. Click OK when finished.

c.

Make sure to note the temperature given on the plot. Then select several points on the
curve starting with the lowest X-value. Pick at least 4 points. When done, click
File>Export and then click the Dataset button in the resulting Save dialog.

d.

If a plot at a different temperature is available, you can repeat steps a, b, and c to


record additional data.

e.

When finished, click File>Exit to exit the SheetScan tool, saving the scan setup information, if desired.

f.

In the Datasets dialog, select the data you want to use at the nominal temperature and
click Done. The data is transferred to the Characteristic Data table in the Transfer
Characteristic [5/12] dialog. Make sure to enter the correct values for temperature
and Vce, which you recorded during the SheetScan measurements.
Device Characterization Wizard 6-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

h.

Click Start Fitting to fit the characteristics, then examine the resulting plot to check
the match of the fit. Click Next to continue.

For Infineon/Eupec, the plot shows IC=f(VCE). The output characteristics of the semi-saturated branch are often missing at a different temperature.
a.

Add up to 4 characteristics, making sure to identify them with the correct values of
VGE and temperature.

b.

Select the plot at the nominal temperature and with Vge=VGE_on for the Full Saturated Branch (Tnom) field in the Fitting Characteristic Order panel, and one at a
lower value of Vge for the Semi Saturated Branch (Tnom) field, or select Not
Used, if the data is not available. Repeat this at a different temperature for
Vge=VGE_on and at a lower Vge in the corresponding Full Saturated Branch
(Tdiff) and Semi Saturated Branch (Tdiff) fields. The fit will be better if the current
does not saturate much for the semi-saturated curve, but the fitting algorithm will
work with either option.

c.

Click Start Fitting to start the fit and examine the plot to check the match of the fit.
Click Next to continue.

The Freewheeling Diode Characteristic [7/12] dialog enables you to parameterize the DC
characteristics of the diode. Ideally, you should enter the output characteristics at both the
nominal temperature and at a different temperature using SheetScan as outlined in Step 5.
Make sure to note the value of the temperature for each curve.

8.

If you also recorded plot data for a different temperature, click the Add new characteristic button
in the top right corner, then use the Load characteristics from
Dataset Manager button
above the table to load the additional data. Select the
plot in the first tab for the Nominal Temperature field of the Fitting Characteristic
Order panel. If you added a second set of data for a different temperature, you can
select this plot for the Different Temperature field, or select Not Used, if data is
available only for one temperature.

The Output Characteristic [6/12] dialog enables you to parameterize more of the IGBTs DC
characteristics. Ideally, enter the output characteristics at Vge=VGE_on (Full Saturated
Branch) and for Vge at a lower voltage (Semi Saturated Branch), for both the nominal temperature and at a different temperature using SheetScan as described in the Step 5. Make sure
to note the value of Vge and the corresponding temperature for each curve.

7.

g.

For Infineon/Eupec, the data sheet plot shows IF=f(VF).


a.

Generate two characteristic data sets, one at the nominal temperature and one at a different temperature, being sure to identify them with their corresponding temperatures.

b.

Select the plot at the nominal temperature in the Nominal Temperature field of the
Fitting Characteristic Order panel, and the plot at the different temperature in the
Different Temperature field, or select Not Used, if the data is not available.

c.

Click Start Fitting to start the fit and examine the plot to check the match of the fit.
Click Next to continue.

The IGBT Thermal Model [8/12] dialog allows you to parameterize the thermal impedance

6-82 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

of the IGBT. Do one of the following:

9.

If the data sheet provides extracted values for ri and ti, which is the case for Infineon/
Eupec, enter these four value pairs in the Continued/Partial Fraction Coefficients table,
click Start Fitting, check the plot and press Next to continue.
If the data sheet does not provide extracted values for ri and ti,, select Transient Thermal
Impedance and enter the plot data for the thermal characteristics using SheetScan per the
instructions given in Step 5. The plot will show the impedance as a function of time. Make
sure to adjust the scale of the coordinate system in SheetScan to logarithmic if needed.
Select Start Fitting to start the fit and examine the plot to check the match of the fit. Click
Next to continue.

The Freewheeling Diode Thermal Model [9/12] dialog allows you to parameterize the thermal impedance of the diode.

If the data sheet provides extracted values for ri and ti, which is the case for Infineon/
Eupec, enter these four value pairs in the Continued/Partial Fraction Coefficients table,
click Start Fitting, check the plot and click Next to continue.
If the data sheet does not provide extracted values for ri and ti,, select Transient Thermal
Impedance and enter the plot data for the thermal characteristics using SheetScan per the
instructions given in Step 5. The plot will show the impedance as a function of time. Make
sure to adjust the scale of the coordinate system in SheetScan to logarithmic if needed.
Select Start Fitting to start the fit and examine the plot to check the match of the fit. Click
Next to continue.

10. The Dynamic Model Input [10/12] dialog enables you to parameterize the dynamic characteristics of the IGBT. You can select to fit for the switching energies (Eon and Eoff) and switching times (Td(on) and Td(off)). The nominal point has to be fit, so the data has to be available.
The Advanced Settings button allows the user more control over the characterization process,
but should not be necessary to change for most devices. Check the more detailed description
for more information.
a.

Click the Measurement button to open the Measurement Data dialog and make sure the
settings correspond to the ones for the manufacturer of the device being characterized. For
example, for Infineon/Eupec, use Eon and Eoff from the data sheet as the goal settings for
Eon and Eoff. Use td(on)+tr as the goal setting for td(on) and td(off) as the goal setting
for td(off).

b.

If data is available at different temperature, add it to the dT row.

c.

If data is available at a different value of VCE, add the lower value of VCE to the nV row
and the higher value of VCE to the pV row.

d.

If data is available at a different value of Ic, add the lower value of Ic to the nI row and the
higher value of Ic to the pI row.

e.

Click Extraction to start the fit, then click Next to continue.

Advanced Settings

TR and TF are the rise and fall time from the data sheet. These should be set to 0 if one is
uncertain, their value can affect the convergence.
Device Characterization Wizard 6-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

MEASURE_FLAG allows the user to select between sampling (1) and interpolation (2) for
the method which is used to measure the characteristics.
There are 3 loops, the first loop uses a 1D search method to find a better solution. To enable it,
set LOOPS_A to an integer number larger than 0. MASKPAR_A contains the names of the
parameters which are changed by the characterization tool to find a better fit. RESORD_A
sets how the residue is defined 0 for the maximum error, 1 for the average error and 2 for the
root mean square error. RESTOL_A defines the value under which the residue must get to
leave the loop with a good solution.
The second and the third loop (B and C) use a Jacobean matrix method. LOOPS_B and
LOOPS_C set the number of pre-loops which are taken for the second and third loop, usually
1 should suffice. MASKPAR_B and MASKPAR_C contain the names of the parameters
which are changed by the characterization tool to find a better fit during the second and third
loop. MATRIX_B and MATRIX_C set the maximum number of Jacobean recalculations,
while ZEROFN_B and ZEROFN_C set the maximum number of constant Jacobian calculations. RESLOC_B and RESLOC_C will set the maximum number of relaxation which
occurs within a constant Jacobian calculation. RESORD_B and RESORD_C set how the residue is defined 0 for the maximum error, 1 for the average error and 2 for the root mean square
error. RESTOL_B and RESTOL_C define the value under which the residue must get to
leave the second and the third loop with a good solution, if it is zero it gets this value from the
worsksheet.

11. The Dynamic Parameter Validation [11/12] dialog enables you to validate the dynamic
extraction. The actual values of the switching times and energies for the parameterized device
will be calculated. Enable the conditions that need to be checked, then click Validate. Click
Next to continue.
12. The Model Parameters [12/12] dialog enables you to browse the parameters that were
extracted.
a.

To generate an .sml file of the model, click Create SML.

b.

Click Finish to close the dialog. The characterized device is generated for you to place in
the Simplorer project.

Related Topics
Preliminary Considerations Using Data Sheet Information
Using SheetScan
Basic Dynamic IGBT Characterization Flow

6-84 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Tutorial for Characterizing a Power MOSFET


The power MOSFET Device Characterization Wizard allows you to parameterize a power MOSFET model to match both the DC and dynamic characteristics of a device using information from
the manufacturer's data sheet. The information available in the data sheet limits the accuracy of the
parameterized power MOSFET model. For example, if the data sheet does not provide a device's
transfer characteristics, the accuracy of the gate-voltage dependence of the output will be reduced.
The wizard can characterize a wide array of power MOSFETs. The available information can, and
often does, vary from vendor to vendor, and even from device-to-device from the same vendor. The
following procedures include vendor-specific information for help in characterizing models for
several vendors' devices. If you have any additional questions, contact ANSYS support or e-mail:
na-simplorerigbt-support@ansys.com.
Related Topics
Preliminary Considerations Using Power MOSFET Data Sheet Information
Using the Device Characterization Wizard for a Power MOSFET

Preliminary Considerations Using Power MOSFET Data Sheet


Information
Before starting a device characterization, study the manufacturer's data sheet for the power MOSFET you want to characterize. Each manufacturer has a unique design and naming convention for
their data sheets. Different manufacturers also measure device characteristics differently.

Note

First, determine the nominal conditions for the device. Ideally, these are the conditions at
which the device will be operated. Practically, these conditions should be those for which
you have the most information closest to the desired operating conditions. Search the data
sheet and look at all available data to decide on the nominal point. The measurement conditions for the dynamic characteristics (Eon, Eoff, td(on), and td(off)) are a generally
good choices.
DC characteristics are parameterized using the transfer and output characteristics, which
can be found as plots in the sheet.
Dynamic behavior is characterized using the switching energies and times, which can be
found either in a table or read from a plot.
The power MOSFET wizard documentation includes information and recommended
settings for several manufacturers. Make sure to consult these sections in the
documentation when characterizing a device.

Related Topics
Using the Device Characterization Wizard for a Power MOSFET

Device Characterization Wizard 6-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Device Characterization Wizard for a Power MOSFET


The following procedures use an International Rectifier device as an example. The process is
similar for other manufacturers devices.
Note

At any time during the characterization process you can save your progress using the
Save Model button.
A characterization can be loaded using the Import Model tab.

1.

In the Component Information [1/12] dialog box, enter the component name and define the
Manufacturer Data. The detailed documentation describes some specific settings for several
manufacturers. These are the measurement conditions for the dynamic characteristics. For
example, International Rectifier uses the following settings:

2.

The Nominal Working Point Values [2/12] dialog sets nominal values at the device's working point. As mentioned above, ideally, these are the operating conditions for the device in the
design. Practically, these values should be the ones on the manufacturer data sheet with the
most information closest to the operating conditions. These are the conditions for which the
parameterized device will best match the measured characteristics. For International Rectifier,
generally pick the measurement conditions for the dynamic characteristics. Pick the values of
VDD and ID that are mentioned in the table next to the value of the turn-on delay time, td(on).
Select the temperature for which you have the output characteristics in the plots section.
VGS_on and VGE_off can be found next to the value of td(on). Cin, the input capacitance,
can be found in the datasheet. Cr, the Feedback (Miller) capacitance can be found in the datasheet. It is sometimes refered to as reverse transfer capacitance. If the values cannot be found
in the datasheet, 0 (zero) is a good default value, as the characterization tool will then pick a
value using the other device characteristics. Click Next to continue.

6-86 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

On the Breakthrough Values [3/12] dialog, check Disable Breakthrough Model, as the
breakdown characteristics data are rarely available in a data sheet. Click Next to continue.

4.

The data needed for the Half-Bridge Test Circuit Condition [4/12] dialog can generally be
found in the tabular section of the data sheet.
For example, for an International Rectifier device:

5.

Rg is the internal gate resistance found in the datasheet. This value will be used as an
initial value during the dynamic characterization. It will not be the internal gate resistance the characterized device ends up with.
R_tot is generally omitted, 0 (zero) is a good default.
Ltot, is generally omitted, 0 (zero) is a good default.
L_extern can be given by Ls in the test conditions for td(on). If the value is not there,
30 nH is a good value to use. The characterization wizard will parameterize this value
to find a good fit with the dynamic data.
Rg_on and Rg_off can be found next to the values of the switching energies td(on)
and Eon.
Cge ext is generally omitted and a default value of 1e-12F can be used.
CLoad is sometimes found on the datasheet as load capacitance. Use 0 (zero) if it is
missing.
When finished setting values, click Next to continue.

The Transfer Characteristic Id=f(Vgs) [5/12] dialog enables you to parameterize the threshold voltages and transconductance of the MOSFET. The data can be entered using SheetScan.
To do so, use the Load characteristics from Dataset Manager button
above the table and
then click SheetScan. Load the manufacturer data sheet .pdf file using the Picture>Load picture command.

For an International Rectifier device, the data sheet plot shows ID=f(VGS).
a.

Select a coordinate system (Coordinate System>New) and define it on the plot. To


do so, you must select three points. Typically, you should use the bottom-right, bottom-left and top-right points of the plot grid. Click on Point1, Point2 and Point3 and
select the corresponding points on the graph. Enter the corresponding X-Values and
Y-Values for these points (read from the plots x-axis and y-axis labels) in the table
and click OK to finish defining the coordinate system.

b.

To define the first characteristic, select Curve>New and give names to the X-Axis
and Y-Axis in the Curve Settings dialog box. Click OK when finished.

c.

Make sure to note the temperature given on the plot. Then select several points on the
curve starting with the lowest X-value. Pick at least 4 points. When done, click
File>Export and then click the Dataset button in the resulting Save dialog.

d.

If a plot at a different temperature is available, you can repeat steps a, b, and c to


record additional data.

e.

When finished, click File>Exit to exit the SheetScan tool, saving the scan setup information, if desired.
Device Characterization Wizard 6-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

In the Datasets dialog, select the data you want to use at the nominal temperature and
click Done. The data is transferred to the Characteristic Data table in the Transfer
Characteristic [5/12] dialog. Make sure to enter the correct values for temperature
and Vce, which you recorded during the SheetScan measurements.

g.

If you also recorded plot data for a different temperature, click the Add new characteristic button
in the top right corner, then use the Load characteristics from
Dataset Manager button
above the table to load the additional data. Select the
plot in the first tab for the Nominal Temperature field of the Fitting Characteristic
Order panel. If you added a second set of data for a different temperature, you can
select this plot for the Different Temperature field, or select Not Used, if data is
available only for one temperature.

h.

Click Start Fitting to fit the characteristics, then examine the resulting plot to check
the match of the fit. Click Next to continue.

The Output Characteristic Id=f(Vds) [6/12] dialog enables you to parameterize more of the
MOSFET's output characteristics. Ideally, enter the output characteristics at Vgs=VGS_on
(Full Saturated Branch) and for Vgs at a lower voltage (Semi Saturated Branch), for both
the nominal temperature and at a different temperature, using SheetScan as described in the
Step 5. Make sure to note the value of Vgs and the corresponding temperature for each curve.

7.

f.

For International Rectifier, the datasheet plot shows ID=f(VDS). The output characteristics of the semi-saturated branch are often missing at a different temperature.
a.

Add up to 4 characteristics, making sure to identify them with the correct values of
VGS and temperature.

b.

Select the plot at the nominal temperature and with Vgs=VGS_on for the Full Saturated Branch (Tnom) field in the Fitting Characteristic Order panel, and one at a
lower value of Vgs for the Semi Saturated Branch (Tnom) field, or select Not
Used, if the data is not available. Repeat this at a different temperature for
Vgs=VGS_on and at a lower Vgs in the corresponding Full Saturated Branch
(Tdiff) and Semi Saturated Branch (Tdiff) fields. The fit will be better if the current
does not saturate much for the semi-saturated curve, but the fitting algorithm will
work with either option.

c.

Click Start Fitting to start the fit and examine the plot to check the match of the fit.
Click Next to continue.

The Drain-Source Diode Characteristic If=f(Vf) [7/12] dialog enables you to parameterize
the DC characteristics of the diode. Ideally, you should enter the output characteristics at both
the nominal temperature and at a different temperature using SheetScan as outlined in Step 5.
Make sure to note the value of the temperature for each curve.

For International Rectifier, the data sheet plot shows ISD=f(VSD).


a.

Generate two characteristic data sets, one at the nominal temperature and one at a different temperature, being sure to identify them with their corresponding temperatures.

b.

Select the plot at the nominal temperature in the Nominal Temperature field of the

6-88 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Fitting Characteristic Order panel, and the plot at the different temperature in the
Different Temperature field, or select Not Used, if the data is not available.
c.
8.

The MOSFET Thermal Model [8/12] dialog allows you to parameterize the thermal impedance of the MOSFET. Do one of the following:

9.

Click Start Fitting to start the fit and examine the plot to check the match of the fit.
Click Next to continue.

If the data sheet provides extracted values for ri and ti, which is the case for International
Rectifier, enter these four value pairs in the Use Fraction Coefficients table, click Start
Fitting, check the plot and press Next to continue.
If the data sheet does not provide extracted values for ri and ti, select Use Transient
Thermal Impedance and enter the plot data for the thermal characteristics using
SheetScan per the instructions given in Step 5. The plot will show the impedance as a
function of time. Make sure to adjust the scale of the coordinate system in SheetScan to
logarithmic if needed. Select Start Fitting to start the fit and examine the plot to check the
match of the fit. Click Next to continue.

The Drain-Source Diode Thermal Model [9/12] dialog allows you to parameterize the thermal impedance of the diode.

If the data sheet provides extracted values for ri and ti, which is the case for International
Rectifier, enter these four value pairs in the Use Fraction Coefficients table, click Start
Fitting, check the plot, and click Next to continue.
If the data sheet does not provide extracted values for ri and ti,, select Use Transient
Thermal Impedance and enter the plot data for the thermal characteristics using
SheetScan per the instructions given in Step 5. The plot will show the impedance as a
function of time. Make sure to adjust the scale of the coordinate system in SheetScan to
logarithmic if needed. Select Start Fitting to start the fit and examine the plot to check the
match of the fit. Click Next to continue.

10. The Dynamic Model Input [10/12] dialog enables you to parameterize the dynamic characteristics of the power MOSFET. You can select to fit for the switching energies (Eon and Eoff)
and switching times (Ton and Toff). The nominal point has to be fit, so the data has to be
available.
a.

Click the Measurement button to open the Measurement Data dialog and make sure
the settings correspond to the ones for the manufacturer of the device being characterized. For example, for International Rectifier, use Eon and Eoff from the data sheet as
the goal settings for Eon and Eoff. Use td(on)+tr as the goal setting for t(on), and
td(off)+tf as the goal setting for t(off).

b.

If data is available at different temperature, add it to the dT row.

c.

If data is available at a different value of VDS, add the lower value of VDS to the nV
row and the higher value of VDS to the pV row.

d.

If data is available at a different value of Id, add the lower value of Id to the nI row
and the higher value of Id to the pI row.

e.

Optionally, the Adv. Settings button allows the user more control over the characterDevice Characterization Wizard 6-89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ization process, but should not be necessary to change for most devices. Check the
more detailed description for more information.
Advanced Settings

T_ON_MAX total On-switch signal settling time (trigger to 1% falling VDS)


T_OFF_MAX total Off-switch signal settling time (trigger to 1% falling ID)
H_ON On-switch signal acquisition time
H_OFF Off-switch signal acquisition time
For low and medium power devices the default settings should be sufficient to
ensure correct data measurement. For high power devices the maximum value
might be increased (2-5 times). The actual acquisition time will be increased by
the process automatically if necessary.

MEASURE_FLAG allows the user to select between sampling (1) and interpolation (2) for the method which is used to measure the characteristics.
There are three loops, the first loop uses a 1D search method to find a better solution. To enable it, set LOOPS_A to an integer number larger than 0 (zero).
MASKPAR_A contains the names of the parameters which are changed by the
characterization tool to find a better fit. RESORD_A sets how the residue is
defined 0 (zero) for the maximum error, 1 for the average error and 2 for the root
mean square error. RESTOL_A defines the value under which the residue must
get to leave the loop with a good solution.
The second and the third loop (B and C) use a Jacobean matrix method.
LOOPS_B and LOOPS_C set the number of pre-loops which are taken for the
second and third loop, usually 1 should suffice. MASKPAR_B and
MASKPAR_C contain the names of the parameters which are changed by the
characterization tool to find a better fit during the second and third loop.
MATRIX_B and MATRIX_C set the maximum number of Jacobean recalculations, while ZEROFN_B and ZEROFN_C set the maximum number of constant Jacobian calculations. RESLOC_B and RESLOC_C will set the
maximum number of relaxation which occurs within a constant Jacobian calculation. RESORD_B and RESORD_C set how the residue is defined: 0 (zero) for
the maximum error, 1 for the average error and 2 for the root mean square error.
RESTOL_B and RESTOL_C define the value under which the residue must get
to leave the second and the third loop with a good solution, if it is zero it gets this
value from the worsksheet.

f.

Click Extraction to start the fit. A dialog displays showing progress of the extraction.
Upon completion, another dialog informs you that extraction is complete. Click OK
to return to the Dynamic Model Input [10/12] dialog.

g.

Click Next to continue.

11. The Dynamic Parameter Validation [11/12] dialog enables you to validate the dynamic extraction. The actual values of the switching times and energies for the parameterized device
will be calculated. Enable the conditions that need to be checked, then click Validate. Click
6-90 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Next to continue.
12. The Model Parameters [12/12] dialog enables you to browse the parameters that were
extracted.
a.

To generate an .sml file of the model, click Create SML.

b.

Click Finish to close the dialog. The characterized device is generated for you to place in
the Simplorer project.

Device Characterization Wizard 6-91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6-92 Device Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

7
Power Module Characterization Wizard

The Power Module Characterization wizard aids in the building of various types of power module
models so that they can operate to a device manufacturers specifications. The wizard accepts inputs
for various quantities available from the device manufacturer and fits a numerical model to the data
to provide accurate device simulation over a range of device excitations and thermal conditions.

Select Simplorer Circuit>Characterize Device> Power Modules to open the Power Module
Characterization Wizard.
Note

Microsoft .NET version 2.0, Service Pack 1 or later is required to open and use the
Power Module Characterization Wizard.

The wizard includes a library of DC-DC Converter models from various manufacturers. These
models can be used as-is, or they can be used as the basis for developing new, user-defined models.
For a detailed discussion of the approach to DC-DC Converter modeling, refer to the section on
Modeling of DC-DC Converters Based on Hybrid Wiener-Hammerstein Structure.
Related Topics
Using System Library Power Modules
Modifying System Library Power Modules
Creating a Power Module Behavioral Model

Power Module Characterization Wizard 7-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using System Library Power Module Models


The Power Modules Characterization wizard includes an extensive library of DC-DC converter
models from various manufacturers. You can view the characteristic data for these models in the
wizard. You can also use the wizard to import these models into Simplorer projects, to save models
as discrete VHDL-AMS model files, and to enable generation of sub-architectures for models.
1.

To view the characteristics of power module models supplied in the System Library, select the
desired models in the System Libraries model browser.
The model editing panel displays the summary tab for the model.

2.

To view the model code (read only) in the summary tab, click the Code View icon (magnifying
glass).

3.

To save the model in VHDL-AMS format, click the Code Save icon. In the resulting dialog
box you can enter the model file name and choose a save location.

4.

To enable generation of sub-architectures, click the Code Define Settings icon (wrench),
check Enable, and then select the sub-architectures you wish to include in the model.

5.

Click the View documentation icon (magnifying glass) in the tab title bar to view the documentation in the tab. You can also print the documentation via the Print icon, or export the
documentation as an html file via the Save icon.

6.

To import the model into the active Simplorer project, click the Simplorer icon. The message
panel displays Model sent to Simplorer upon completion of the operation.

7-2 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Modifying System Library Power Module Models


The models provided in the DC-DC Converters System Library cannot be modified directly. If you
want to modify any of these models you must first place a copy of the desired model in the User
Libraries. To modify a System Library DC-DC Converter:
1.

Select the model you want to copy, press the right mouse button, and select Copy in the context menu.

2.

Paste this model any library in the User Libraries model browser by right clicking the library
and selecting Paste.

3.

Once the model is in the User Libraries you can modify the model as shown in the sections on
Creating a Power Module Behavioral Model, then import it into Simplorer.

Power Module Characterization Wizard 7-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating a Power Module Behavioral Model.


The Power Module Characterization wizard allows users to create new behavioral models and
model libraries in which to store them.
Related Links
Creating a New Power Module Model Library
Adding a New Behavioral DC/DC Converter Model
Defining a Static Converter Model
Generating VHDL-AMS Code and Importing the Model into Simplorer
Defining the Converter Model Dynamic Behavior
Defining Event Driven Behavior
Enabling Current Sharing and Thermal Modeling

Creating a New Power Module Model Library


1.

To create a new model library, select File > Add New > Library in the main menu bar.
A library with a default name is added under the User Libraries model browser.

2.

You can change the library name by clicking on the name to select it, then typing the new
name.

Adding a New Behavioral DC/DC Converter Model


1.

Select the new library in the model browser by clicking its icon in the User Libraries browser
panel. A Library menu displays in the main menu.

2.

Choose Libray>Add>New Model.

7-4 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The New Model dialog box is displayed.

3.

In the New Model dialog, select the Behavioral DC/DC Converter model and click Accept.
A model with a default name is added under the selected library. Click the model name to edit
the name.

Every newly created DC/DC model has default parameters that correspond to a 12V input and 5V
output voltage with a constant efficiency.

Defining a Static Converter Model


The following example describes how to define a static converter model having a 48V input voltage and a 12V output voltage. The efficiency is assumed to be a constant value.
1.

In the User Libraries browser, select the DC-DC converter model that you want to edit.
An editing panel with four tabs - Summary, Static Model, Dynamic Model, and Events
Model - displays.

2.

Select the Static Model tab.

3.

On the Static Model tab you can define the basic characteristic of the converter. Change the

Power Module Characterization Wizard 7-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

value of the input voltage to 48V and the output voltage to 12V.

The Static Model editing panel shows two graphs: Efficiency vs. Output Current and Output
Voltage vs. Output Current.
4.

The first step to define a characteristic graph is to set its maximum and minimum values. Press
the Settings button of the Efficiency vs. Output Current graph.
A Settings dialog box displays.

5.

In the Settings dialog box, set the Output Current (A) Max value to 25 (we are assuming that
the converter supports a maximum output current of 25A). Similarly, enter 100 as the Efficiency(%) Max value. This corresponds to a maximum efficiency of 100%. Press Accept to

7-6 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

close the dialog box.

6.

Press the Add button of the efficiency graph to insert as many points as you need to define the
behavior of your converter. You can also right-click in the graph and select Add from the context menu.
In this example three more points will be added. The values of the points can be set by dragging the added points directly on the graphic or specifying the values directly in the table view.
(Note that as you add points, the table entries are automatically sorted in ascending order of
output current magnitude.)

7.

Enter the following values for the efficiency curve: (0.1, 60), (2.5,80), (8,86), (15,86), and
(25,70).

8.

Similarly, you can define the behavior of the Output Voltage vs. Output Current graph. Click
the Settings button of the Output Voltage vs. Output Current graph and enter a maximum
value of 25 for the Output Current (A), and a maximum value of 12 for the Output Voltage
(V) (the output voltage value corresponds to the nominal output voltage).

9.

In this example a load regulation of 2% at 24A is being defined. This means that the output
voltage of the converter drops 0.24V when the converter is supplying an output current of 24A.
The values to enter are: (0,12), (24,11.76), and (25,0). Note that the converter also has output

Power Module Characterization Wizard 7-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

protection that makes the voltage drop when output current exceeds 24A.

At this point the minimum characteristic values needed to create a simulation model have been
defined, VHDL-AMS code for the model can be generated, and the model exported to Simplorer.

Generating VHDL-AMS Code and Importing the Model into Simplorer


1.

Select the Summary tab in the editing panel. The Summary tab contains a viewer and a toolbar with icon buttons for the most common functions for code and documentation generation.

2.

In the main menu, select Behavioral DC/DC > Code > View or click the Code magnifying
glass icon.
The VHDL-AMS code for the converter model is displayed (read-only) in the viewer.

3.

To import this model into Simplorer select Behavioral DC/DC > Code > Send To Simplorer.
This command adds the model to the currently active project in Simplorer.

4.

Return to Simplorer. In the Project Manager you can find the imported model under Definitions>Components. You can then drag and drop the model on to a schematic.

7-8 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Defining the Converter Model Dynamic Behavior


1.

Select the Dynamic Model tab in the editing panel. In the Input Dynamic (Inrush Current)
panel, enable the Set Dynamic Behavior check box.

2.

Set the Input Voltage Step parameter to 48V that corresponds to a step in the input voltage
when the converter is powered. Set the Input Current Peak parameter to 1A and the Input
Current Peak Time to 1ms. You can also drag the points to graphically define the behavior of
the input current.

3.

Right click on the input dynamic graph and select Automatic Scale to display the input current
graph in its best representation.

4.

In the Output Dynamic (Output Voltage Transient Response) panel enable the Set
Dynamic Behavior check box to include the behavior of the converter under load steps.

5.

Set the Current Step value to 1A, this value corresponds to the load step under which the test
was performed. Set the Voltage Peak to 200mV. This value is the voltage drop peak when the
load step occurs. Set the Voltage Peak Time to 10us. This is the time when the voltage peak
occurs. Finally, set the Settling Time value to 100us. This value represents the time that the
converter takes to recover from the load step.

6.

Right click on the graph and select Automatic Scale to display the graph in its best representation.

7.

On the Summary tab generate the model and import it to Simplorer as needed.
Power Module Characterization Wizard 7-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Defining Event Driven Behavior


1.

Select the Events Model tab in the editing panel and check the Soft Start and Remote Control panel Enable checkboxes to enable these features.

2.

In the Soft Start panel, set the value of the Turn On Delay to 5ms and the Startup time to
1ms. Turn On Delay represents the time after power-up before the converter begins supplying
voltage. The Startup time is the time that takes the converter to raise the output voltage from
zero to its nominal value.

3.

When Remote Control is enabled, a terminal is added to the Simplorer model to control the
converter. The Turn On with value combo box defines the value used to turn on the converter.
Set the Remote Control Delay to 1ms. This value specifies the time that it takes for the converter to turn on or off after the remote control signal is toggled.

4.

Check the Enable box in the Input Voltage Protections panel. This function allows you to
define the input voltage operating range of the converter. Set the Undervoltage Turn On
value to 34.9V and the Undervoltage Turn Off value to 30.5V. These values mean that when
the converter is turned off it needs at least 34.9 V to turn on; and once it is turned on, if the
voltage drops below 30.5V the converter turns off.

5.

Set the Overvoltage Turn Off and Overvoltage Turn On values to 78.8V. In this case, when
the input voltage is above 78.8V the converter will turned off and if it is below it will turn on.

You can also enable other types of protection on the Events Model tab, such as Output Volt7-10 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

age Protection and Thermal Protection. In this example these protections are not used.

Enabling Current Sharing and Thermal Modeling


1.

Select the Static Model tab in the editing panel and enable the Current Sharing check box.

2.

Select the Parallel Output. In this example the converter has only one output named vo1.
Select this output in the combo box.

3.

Generate the code and import it to Simplorer as specified in the section Generating VHDLAMS Code and Importing the Model into Simplorer.

4.

Insert the model in a schematic in Simplorer to create a simulation model. (These steps are not
presented here).

5.

In the reality, two similar converters cannot be perfectly equal. They have physical differences.
When the current sharing feature is added to a model, a parameter named
current_share_deviation is included in the model. This value defines a factor of deviation that
simulates a real and imperfect current sharing among converters. This parameter is set in Sim-

Power Module Characterization Wizard 7-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

plorer as shown below.

6.

Similarly, to add the effects of thermal resistivity to the model, enable the Thermal Model
checkbox and supply the desired Thermal Resistivity value.

7-12 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Modelling of DC-DC Converters Based on Hybrid WienerHammerstein Structure


Most modelling approaches of DC-DC converters are based on some kind of averaging technique
that requires a knowledge of the topology, the control strategy, and the parameters of all the components. These kinds of techniques are very useful for design of the control loops but, because commercial DC-DC converters do not supply this information (it is part of their intellectual property),
these modelling approaches cannot be applied to extract a model of a commercial DC-DC converter.
Other modelling approaches try to model the behavior of the converter based on the small-signal
frequency identification of the converter. This approach is very accurate from the point of view of
small-signal stability but it does not account for efficiency as a function of the input voltage and
load, output voltage as a function of load or protections such as overvoltage, over-current, undervoltage and temperature. The model proposed below overcomes all of those limitations. The tradeoff between simulation time and accuracy of DC-DC converters has been successfully addressed by
the use of a hybrid model as shown in the following figure:
Logic System

ctrl

T
ON/OFF
soft-start

vg

ctrl
xss

dc-dc converter

vo
io

Lineal
dynamic

Non
lineal
static

Lineal
dynamic

Wiener-Hammerstein structure

Proposed DC-DC Converter Model Structure

PROPOSED HYBRID WIENER-HAMMERSTEIN STRUCTURE


Control signals, protection, and start-up behavior are extremely important in the assessment of the
stability of distributed power systems. These parameters modify the behavior of the converter and
must be considered in the model.
Taking into account the hybrid nature of DC-DC converters, the model is partitioned in two blocks:

The logic system (event driven behavior) that manages the protection and remote control features.
The logic system can be modelled by means of a state diagram. Its implementation on a circuit
Power Module Characterization Wizard 7-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

simulator will depend on the modelling capabilities of the simulator. It will measure the analog
variables that can modify the behavior of the DC-DC converter (output voltage, output current,
input voltage, temperature, etc.) and, based on its current state and the analog inputs, it will
generate the control signal for the power stage and control.

The continuous/discrete system that includes the power stage and its control - independently
if it is implemented digitally or analogy.
The power stage and control is modelled by means of a Wiener-Hammerstein structure (see
below). This structure has the advantage of gathering all the non-linear static behavior of the
converter, usually provided in datasheets, by means of one block. This non-linear behavior
includes:

Variation of the output voltage with respect to the output current and input voltage
Variation of the efficiency with the load and the input current.

Detailed Wiener-Hammerstein Structure


One of the most critical steps in the modelling process is to select the model structure. If the
selected structure is wrong, it does not matter what optimization algorithm is used to fit the model
and it will never find a correct solution.
In this case, the problem is how to find a model structure valid for all kind of DC-DC converters
(with and without zeroes in the Right Hand Plane (RHP), hard switched PWM converters or frequency controlled resonant converters). The proposed model for the power stage is based on a Wiener-Hammerstein structure shown below.
Input filter

io
Vg

Zel

DC-DC converter
Electrical
fi(io)
model

Output filter

fv(vg)

Zol

vo

ig

Zec

vref

Zoc

y
c
n
ie
c
fif
E

Thermal
model
1
Pdis = 1 Po

tc Rth

Tamb

Cth

Proposed Wiener-Hammerstein structure for the dc-dc converter model

It consists of:

A non-linear static model that represents the steady-state behavior of the converter.
a.

Efficiency as a function of input voltage and output current.

b.

Output voltage as a function of the reference, the input voltage and the output current.

A dynamic input block that models the high-frequency input impedance behavior of the converter and its initial inrush current.
A dynamic output block that models the transient behavior of the converter under load

7-14 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

changes.
Additionally, a simple thermal model is included to account for the effect of thermal protection.
The equations for the static, nonlinear model are given by:

vo = vref + f v (vg ) f z (io )

iin =

vo io
1
(vg , io ) vg

(1)

(2)

The implementation of these equations in a circuit-oriented simulator based on information given


by the manufacturers is straightforward. The dependence of the output voltage on the input voltage
and output current can be implemented either by a 2-D lookup table, or by means of two 1-D
lookup tables.[1] This solution, though an approximation, provides very good results in terms of
accuracy and convergence.
Additionally, dependence of efficiency on the input voltage and output current also can be implemented by means of a 2-D lookup table or two 1-D lookup tables.
Linear dynamic output network
To propose a suitable network to consider the output dynamics of a generic converter the following
assumptions are made:
1.

There is a capacitive element place at the output. Actually, this is always the case to reduce
output voltage ripple and to reduce output impedance. This capacitive element need not be
ideal, and the model can include the equivalent series resistance (ESR) and inductance (ESL)
of the capacitor bank.

2.

Output voltage of the converter is controlled through the injected current. This is almost
true for current mode controlled converters up to the crossover frequency of the current loop.
In voltage mode controlled converters seems less obvious but, as will be shown the approach is
also applicable - but with higher error.

Using these assumptions, the small-signal model of the output stage of a general current controlled
converter can be represented as shown below, where: Zc is the equivalent impedance of the output

Power Module Characterization Wizard 7-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

capacitors (including parasitics), Kv is the output voltage controller transfer function, ic is the
injected current, vref is the reference voltage and i0 is the current demanded by the load.

ic

vo
io

Zc
-

vref

Kv

Equivalent Small-signal Circuit of the Output Stage of a Current-Controlled Converter

According to the equivalent circuit shown above, and after some calculation, it is possible to arrive
at the following expression for the output voltage (3):

vo ( s ) =

ZC ( s)
Z C ( s )K v ( s )
io ( s ) +
vref ( s )
1 + Z C ( s )K v ( s )
1 + Z C ( s )K v ( s )
(3)

This transfer function is also the same as the transfer function of the equivalent circuit of the following figure, just by making the series impedance ZL equal to the inverse of the voltage loop regulator (4):

Z L (s) =

1
K v ( s ) (4)

As a consequence the proposed dynamic network to fit the output dynamics of the converter is the
one shown below.

Zl

vref

vo
Zc

io

Equivalent small signal circuit of the output stage

Because the output network does not change the static behavior of the converter, which is
accounted for by the non-linear network, the condition that must be satisfied by this network is:

7-16 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Z L (0)
=0
Z C (0)
(5)
The impedance of ZL/ZC must be 0. It can be achieved with ZC(0)=infinite (capacitor) and/or ZL(0)
= 0 (inductance).
From the point of view of the parametric identification it is necessary to determine the structure of
the series impedance, ZL, to identify its components. To do that, the form of the transfer function Kv
will be analyzed.
Using the above assumptions and the small signal model shown above, the output voltage can be
controlled by means of a PI controller:

Kv ( s) =

s
1 +
s z
(6)

where:

i adjusts the crossover frequency and


z sets the phase margin.

This controller, according to equation (4) yields the following equivalent series impedance:

1
s
i
1
=
Zl (s) =
K v ( s) 1 + s

(7)

The network that fits into this transfer function consists of an inductance in parallel with a resistor
of the following values:

L=

Rd =

i (8)
z
i (9)

Applying this procedure to the current-controlled converter with equivalent output capacitors
impedance (C, RESR), the linear output network will have the structure shown below. This output

Power Module Characterization Wizard 7-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

network can be easily identified based on the current step-response data provided by the manufacturer (or an equivalent measurement).

vo
RESR

Rd

vref

io

C
Equivalent Closed Loop Circuit

Linear dynamic input network


The proposed structure of the input network is labelled Input filter below. The selection of this network is based on the typical configuration of the EMI input filters for DC-DC converters.
Input filter

io
Vg

Zel

Output filter

DC-DC converter
Electrical
fi(io)
model

fv(vg)

Zol

vo

ig

Zec

vref

Zoc

y
c
n
ie
c
if
f
E

Thermal
model

tc Rth

1
Pdis = 1 Po

Tamb

Cth

This network must be selected under the constraint of not modifying the static behavior of the converter, given by the nonlinear static block. As a consequence, it must satisfy the same condition in
steady state as the output network equation (5).
One possible network that can be fitted based on inrush current data is shown below [1-2]. This network is valid for both over-damped and under-damped inrush current behavior.
Input filter
CIN
RIN

Vg

CIN

iIN

7-18 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Figure 6 Candidate input filter network

Event-driven Behavior
The behavior of the converter depends on its state (ON, OFF, PROTECTION ...). It is possible to
include this dependency on the behavior thanks to the mixed-signal capabilities of current circuit
simulators. In this example, the state of the converter is modeled by means of the state diagram
shown below that controls the values of the dependent voltage and current sources.
COND_delay1

Remote_ON

COND_REM_ON

delay2

delay1
Remote_OFF

COND_REM_OFF

COND_delay2

Remote ON-OFF state diagram


COND_ON_OFF

Protection_OFF

Protection_ON

COND_OFF_ON

Protection state diagram


State Diagram for Event Driven Behavior Description

In this example, most commons events have been included based on a careful search of many DCDC converter manufacturers. The events included in this model are:

Remote control. This signal is usually provided to DC-DC converters to enable or disable
them.
Input voltage protection. This protection disables the operation of the converter when the
input voltage is out of the operational limits of the converter, to avoid malfunction.

Under-voltage protection (with and without hysteresis). Below this voltage, the converter will be turned off to avoid high currents that can destroy it.
Over-voltage protection (with and without hysteresis). This voltage setting assures that
all the components of the converter are working with designed voltage ranges.

Output voltage protection. This is usually an upper output voltage value that will disable the
Power Module Characterization Wizard 7-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

converter to protect it against overvoltage caused by an external source.

Thermal protection. In the case of high-temperature operation of the converter, this protection will turn it off if the high-temperature limit is exceeded.
Over-current protection. This protection tries to avoid high internal current due to high
external loads. This protection is included inside the event-driven behavior in case of turningoff the converter. The protection based on lowering the output voltage as a function of the output voltage must be included in the static non linear model since it does not create an event.

References
[1] J. A. Oliver, R. Prieto, V. Romero, and J. A. Cobos, Behavioral modeling of dc-dc converters for largesignal simulation of distributed power systems, IEEE Applied Power Electronics Conference and Exposition, APEC 2006.
[2] J. A. Oliver, R. Prieto, V. Romero, and J. A. Cobos, Behavioral Modeling of Multi-Output DC-DC Converters for Large-Signal Simulation of Distributed Power Systems, Power Electronics Specialists Conference, 2006.

7-20 Power Module Characterization Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

8
Component Dialog Wizard

The Simplorer Component Dialog Wizard facilitates the development of component dialog boxes
for user-defined models, and for many other models (e.g., some VHDL-AMS components and
some subcircuit components such as the Icepak component) that do not already have their own
Component Dialog boxes. The Wizard features an easy-to-use graphical interface that can be used
to design, preview, and test component dialog boxes.
This section describes how to create, edit, and test component dialog boxes using the Component
Dialog Wizard. It also provides a thorough explanation of the menus and toolbars in the Wizard,
and a detailed step-by-step example of how to create a component dialog box using the Wizard.
Related Topics
Creating a New Component Dialog Box Using the Component Dialog Wizard
Adding Static Information and Control Elements to a Component Dialog Box
Determining a Non-conservative Input Node's Value Using Free Values
Aligning and Sizing Component Dialog Box Elements
Setting the Tab Order of a Component Dialog Box
Setting the Display Behavior of Component Dialog Box Elements
Testing a Component Dialog Box
Saving and Closing a Component Dialog Box
Using a Component Dialog Box
Revising a Component Dialog Box
Component Dialog Wizard Window Items

Component Dialog Wizard 8-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating a New Component Dialog Box Using the Component


Dialog Wizard
To create a new component dialog box, it is first necessary to start the Component Dialog Wizard.
1.

To start the Wizard you must first open the Edit Component dialog box by right-clicking a
component on a schematic, then selecting Edit Component from its context menu.
Alternatively, you can right-click a component listed on the Project Manager Components
tab, then select Edit Component from its context menu; or you can right-click a component
definition in the Project Manager Project tree, then select Edit Component from its context
menu.

2.

Once the Edit Component dialog box is open, click Setup Dialog on the General tab.
The Component Dialog Wizard starts. After starting the wizard, the Wizard Builder dialog
box may appear.

Hint

If you select Yes in this dialog box, the Component Dialog Wizard loads the Standard
Layout, which is a partially completed component dialog box. The Standard Layout is
useful for many component dialog boxes because it creates the basic structure of the dialog box decreasing your work and saving you time.
If you select No in the Wizard Builder dialog box, the Component Dialog Wizard loads
a blank component dialog box.
If the Wizard Builder dialog box does not appear upon starting the Component Dialog
Wizard, the Wizard automatically loads a blank component dialog. The Standard
Layout can still be added to the blank dialog by selecting Layout>Create Standard
Layout on the Wizard's menu bar.

8-2 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Static Information and Control Elements to a Component


Dialog Box
Component dialog boxes created with the Component Dialog Wizard can include static information such as node and output names, as well as control elements that can be used to change the input
values and appearance of a model. This section describes the different methods available for adding
static information and control elements to a component dialog.
The Component Dialog Wizard must be started before you add any information or control elements to a component dialog box. See Creating a New Component Dialog Box Using the Component Dialog Wizard for further information.
Hint

When adding static information or a control element to a component dialog box, you
may need to resize the component dialog box to accommodate the element. To resize a
component dialog box, point to one of its borders with the mouse pointer so that a
double-headed arrow appears. When the arrow appears, drag the border in one of the
directions indicated by the arrow. The dialog boxs size changes.

You may also need to move a component dialog box within the Component Dialog Wizard window. To move a component dialog, click the dark gray title bar at the top of the component dialog,
and drag it to the desired location within the Component Dialog Wizard window.
To accommodate larger component dialogs, you may also need to resize the Component Dialog
Wizard window itself. To do this, point to one of the edges of the window with the mouse so that a
double-headed arrow appears. When the arrow appears, drag the border in one of the directions
indicated by the arrow until the desired window size is achieved.
Related Topics
Changing the Name of a Component Dialog Box
Adding Groups to a Component Dialog Box
Adding Statics to a Component Dialog Box
Adding Text Edits to a Component Dialog Box
Adding ComboBoxes to a Component Dialog Box
Adding Check Boxes to a Component Dialog Box
Adding Radio Buttons to a Component Dialog Box

Changing the Name of a Component Dialog Box


To change the name of a component dialog box:
1.

Right-click an empty portion of the component dialog box.


A shortcut menu appears.

2.

Select Properties from the shortcut menu.


Component Dialog Wizard 8-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

3.

Type the name of the component dialog box in the Name field.

4.

Click OK.
The new name becomes visible in the title bar of the component dialog.

Adding Groups to a Component Dialog Box


Groups are static information elements that provide visual organization in a component dialog box.
Because groups are typically the largest elements to be added to a component dialog box, they
should be added first.
To add a group to a component dialog box:
1.

Select Controls>Group from the Component Dialog Wizard menu bar.

You can also click the Add Group button on the Standard toolbar.

2.

Click in the component dialog box to place the new group.

3.

Drag the group to its desired location in the component dialog.

4.

Resize the group to its desired height and width by clicking and dragging its borders.

5.

Right-click one of the borders of the group.


The Properties dialog box opens.

6.

Edit the group's name in the Name field on the Group Data tab.

7.

Click OK when finished editing the group's name.

8-4 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Several completed groups are shown in the following illustration:

Adding Statics to a Component Dialog Box


Statics are static information elements that display text. They can be used to display simple labels
that accompany control elements such as text edits and Combo Boxes or to display node information. The following is an example of a static as it appears in the Component Dialog Wizard:

To create a static for displaying a simple label:


1.

Select Controls>Static from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the static.

3.

Drag the static to its desired location in the component dialog box.

4.

Resize the static to its desired height and width by clicking and dragging its borders.
Component Dialog Wizard 8-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Right-click the static. The Properties dialog box opens.

6.

Select Own Name from the Type list on the Static Data tab.

7.

Type the text to be displayed by the static in the Name field.

8.

Click OK.

To create a static for displaying node information:


1.

Select Controls>Static from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the static.

3.

Drag the static to its desired location in the component dialog box.

4.

Resize the static to its desired height and width by clicking and dragging its borders.

5.

Right-click the static.

8-6 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

6.

Select Node from the Type list on the Static Data tab.

7.

Select the name of the node for which information is to be displayed from the Node list.

8.

Select the type of node information to be displayed from the Show list.
There are four choices:

9.

Description: The node's description is shown on component dialog as [Description].


Description(Node Name+Unit): The node's name and unit are shown on component dialog as [Node Name, Unit].
Node Name: The node's name is shown on component dialog as Node Name.
Node Name+Unit: The node's name and unit are shown on component dialog as Node
Name [Unit].
Node Name+Unit+Description: The node's name, unit, and description are shown on
component dialog as [Node Name, Unit, Description].

Click OK.

Component Dialog Wizard 8-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Text Edits to a Component Dialog Box


Text edits are control elements used for entering information to a model via its component dialog
box. Text edits can be used to enter the name of an instance of a model, to enter values into nonconservative input nodes, and to enter free values.For more information on free values, see Determining a Nonconservative Input Node's Value Using Free Values.
The following is an example of a text edit as it appears in the Component Dialog Wizard:

To create a text edit for entering a model instance name:


1.

Select Controls>Edit from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the text edit.

3.

Drag the text edit to its desired location in the component dialog.

4.

Resize the text edit to its desired height and width by clicking and dragging its borders.

5.

Right-click the text edit.


The Properties dialog box opens.

8-8 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

Select Model Name from the Type list on the Edit Data tab.

7.

Click OK.

To create a text edit for entering a value into a nonconservative input:


1.

Select Controls>Edit from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the text edit.

3.

Drag the text edit to its desired location in the component dialog box.

4.

Resize the text edit to its desired height and width by clicking on and dragging its borders.

5.

Right-click the text edit and select Properties in the context menu.
The Properties dialog box opens.

6.

Select Node from the Type list on the Edit Data tab.

7.

Select the name of the desired node from the Node list.

8.

Select Value from the Show list if a numerical value is to be entered through the component
dialog; or select Information if other information is to be entered.

9.

Check Browse edit control if the information to be entered through the component dialog is a
file name.

10. Click OK.


Component Dialog Wizard 8-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To create a text edit for entering a free value:


1.

Select Controls>Edit from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the text edit.

3.

Drag the text edit to its desired location in the component dialog box.

4.

Resize the text edit to its desired height and width by clicking and dragging its borders.

5.

Right-click the text edit and select Properties in the context menu.
The Properties dialog box opens.

6.

Select Free Value from the Type list on the Edit Data tab.

7.

In the ID field, type a valid node name for the free value.

Note

Valid node names must start with a letter or underscore, and may contain any
combination of uppercase and lowercase letters (A-Z, a-z), the numerals 0 through 9,
and underscores

8.

Type a default value for the free value in the Value field.

9.

Check Browse edit control if the information to be entered through the component dialog is a
file name.

8-10 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

10. Click OK.

Adding ComboBoxes to a Component Dialog Box


A ComboBox is a control element that allows a choice of entries from a predefined list. In the
Component Dialog Wizard, ComboBoxes can be used for the following model information:

values of non-conservative input nodes


units of non-conservative input and output nodes
labeling of conservative and non-conservative pins
free values
Note

For more information on free values see, Determining a Non-conservative Input Node's
Value Using Free Values.

The following is an example of a ComboBox as it appears in the Component Dialog Wizard:

To create a ComboBox for selecting the value of a non-conservative input node:


1.

Select Controls>ComboBox from the Component Dialog Wizard menu bar.

2.

Click on the component dialog to place the ComboBox.

3.

Drag the ComboBox to its desired location on the component dialog.

4.

Resize the ComboBox to its desired height and width by clicking on and dragging its borders.

5.

Right-click the ComboBox and select Properties from the context menu.

Component Dialog Wizard 8-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

6.

Select Node from the Type list on the ComboBox Data tab.

7.

Select the name of the desired non-conservative input node from the Node list.

8.

Click the button with the dashed box to create a predefined entry for the ComboBox.

9.

Enter the description that will be listed in the component dialog box into the Description field.

10. Enter a value in the Value field that will be passed to the non-conservative input node when the
corresponding description is selected in the component dialog box.
11. Repeat steps 9 and 10 for the remaining predefined entries of the ComboBox.
12. Check Editable if you want to make the contents of the ComboBox editable.
13. Click OK.
To create a ComboBox for selecting the unit of a non-conservative node:
1.

Select Controls>ComboBox from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the ComboBox.

3.

Drag the ComboBox to its desired location on the component dialog box.

4.

Resize the ComboBox to its desired height and width by clicking and dragging its borders.

8-12 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Right-click the ComboBox and select Properties from the context menu.
The Properties dialog box opens.

6.

Select Unit from the Type list on the ComboBox Data tab.

7.

Select the name of the non-conservative input node from the Node list.

8.

Click OK.

To create a ComboBox for selecting the labeling of a conservative or non-conservative pin:


1.

Select the Controls>ComboBox from the Component Dialog Wizard menu bar.

2.

Click in the component dialog box to place the ComboBox.

3.

Drag the ComboBox to its desired location in the component dialog box.

4.

Resize the ComboBox to its desired height and width by clicking and dragging its borders.

5.

Right-click the ComboBox and select Properties in the context menu.

Component Dialog Wizard 8-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

6.

Select Display from the Type list on the ComboBox Data tab.

7.

Select the name of the desired non-conservative or conservative node from the Node list.

8.

Click OK.

To create a ComboBox for entering a free value:


1.

Select Controls>ComboBox from the Component Dialog Wizard menu bar.

You can also click the Add Combobox button on the Standard toolbar.

2.

Click in the component dialog box to place the ComboBox.

3.

Drag the ComboBox to its desired location in the component dialog box.

4.

Resize the ComboBox to its desired height and width by clicking and dragging its borders.

5.

Right-click the ComboBox and select Properties on the context menu.

8-14 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

6.

Select Free Value from the Type list on the ComboBox Data tab.

7.

Type a valid node name for the free value in the ID field.

Note

Valid node names must start with a letter or underscore, and may contain any
combination of uppercase and lowercase letters (A-Z, a-z), the numerals 0 through 9,
and underscores

8.

Click the button with the dashed box to create a predefined entry for the ComboBox.

9.

Enter a description that will be listed in the component dialog box in the Description field.

10. In the Value field, enter a value that will be passed to the free value when the corresponding
description is selected in the component dialog box.
11. Repeat steps 10 and 11 for the remaining predefined ComboBox entries.
12. Check Editable if you want the user to be able to edit the contents of the ComboBox.
13. Click OK.

Component Dialog Wizard 8-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding Check Boxes to a Component Dialog Box


Check boxes are control elements that provide a simple either-or input. Using the Component Dialog Wizard, check boxes can be added to provide the following choices regarding model information:

displaying or not displaying a model instance's name.


displaying or not displaying a non-conservative pin. (Conservative pins are always shown.)
selecting or deselecting model outputs.
assigning one value or another to a non-conservative input node.
defining a free value.

An example of a check box as it is appears in the Component Dialog Wizard is shown in the following illustration:

To create a check box for displaying or not displaying a model instance name:
1.

Select the Controls>CheckBox from the Component Dialog Wizard menu bar.

You can also click the Add Checkbox button on the Standard toolbar.

2.

Click in the component dialog box to place the check box.

3.

Drag the check box to its desired location in the component dialog box.

4.

Resize the check box to its desired height and width by clicking and dragging its borders.

5.

Right-click the check box and select Properties on the context menu.

8-16 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

6.

Select Show Model Name from the Type list on the CheckBox Data tab

7.

Type a name for the check box in the Name field.

8.

Check Show text left if you want to display the name to the left of the check box. If this option
is not checked, the name is displayed to the right of the check box.

9.

Click OK.

To create a check box for displaying or not displaying a pin:


1.

Select Controls>CheckBox from the Component Dialog Wizard menu bar.

You can also click the Add CheckBox button on the Standard toolbar.

2.

Click in the component dialog box to place the check box.

3.

Drag the check box to its desired location in the component dialog box.

4.

Resize the check box to its desired height and width by clicking and dragging its borders.

5.

Right-click the check box and select Properties on the context menu.

Component Dialog Wizard 8-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

6.

Select Show Pin from the Type list on the CheckBox Data tab

7.

Select the name of the desired node from the Node list.

Note

8.

Select the manner in which the text accompanying the check box is displayed from the Show
list. There are two choices:

9.

Show Pin applies only to non-conservative nodes. Pins for conservative nodes are
always visible.

Use Pin[Node]: A check box appears with the phrase Use Pin and the name of the node
in brackets [Node Name].
Use Pin: A check box appears with the phrase Use Pin only.

Check Show text left to display the text to the left of the check box. If not checked, the text is
displayed to the right of check box.

10. Click OK.

8-18 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To create a check box for selecting or deselecting a non-conservative node as a model output:
1.

Select the Controls>CheckBox from the Component Dialog Wizard menu bar.

You can also click the Add Checkbox button on the Standard toolbar.

2.

Click in the component dialog box to place the check box.

3.

Drag the check box to its desired location in the component dialog box.

4.

Resize the check box to its desired height and width by clicking and dragging its borders.

5.

Right-click the check box and select Properties on the context menu.
The Properties dialog box opens.

6.

Select Outputs from the Type list on the CheckBox Data tab.

7.

Select the name of the desired node from the Node list.

8.

Select the manner in which the text accompanying the check box is displayed from the Show
list. There are five choices:

Nodename: The check box appears with the node name only: Node Name.
Node Name+Unit: The check box appears with node name and expected unit in brackets:
Node Name [Unit].
Output[Node]: The check box appears with the word Output and the node name in
brackets: Output [Node Name].
Component Dialog Wizard 8-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

9.

Description: The check box appears with the node description only: Description.
Description+Unit: The check box appears with the node description and expected unit in
brackets: Description [Unit].

Check Show text left to display the text to the left of the check box. If not checked, the text is
displayed to the right of check box.

10. Click OK.


To create a check box for assigning one value or another to a non-conservative input node:
1.

Select Controls>CheckBox from the Component Dialog Wizard menu bar.

You can also click the Add Checkbox button on the Standard toolbar.

2.

Click in the component dialog box to place the check box.

3.

Drag the check box to its desired location in the component dialog box.

4.

Resize the check box to its desired height and width by clicking and dragging its borders.

5.

Right-click the check box and select Properties on the context menu.
The Properties dialog box opens.

6.

Select Nodevalues from the Type list on the CheckBox Data tab.

7.

Select the desired node from the Node list.

8-20 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

8.

Type a name for the check box in the Name field.

9.

Type a value to be assigned to the non-conservative node when the box is checked into the
Value checked field.

10. Type a value to be assigned to the non-conservative node when the box is not checked into the
Value unchecked field.
11. Click OK.
To create a check box for assigning one value or another to a free value:
1.

Select Controls>CheckBox from the Component Dialog Wizard menu bar.

You can also click the Add Checkbox button on the Standard toolbar.

2.

Click in the component dialog box to place the check box.

3.

Drag the check box to its desired location in the component dialog box.

4.

Resize the check box to its desired height and width by clicking and dragging its borders.

5.

Right-click the check box and select Properties on the context menu.
The Properties dialog box opens.

6.

Select Free Value from the Type list on the CheckBox Data tab.

Component Dialog Wizard 8-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

7.

Type a valid node name for the free value in the ID field.

Note

Valid node names must start with a letter or underscore, and may contain any
combination of uppercase and lowercase letters (A-Z, a-z), the numerals 0 through 9,
and underscores

8.

Type a name for the check box in the Name field.

9.

Type a value to be assigned to the free value when the box is checked into the Value checked
field.

10. Type a value to be assigned to the free value when the box is not checked into the Value
unchecked field.
11. Click OK.

Adding Radio Buttons to a Component Dialog Box


Radio buttons are control elements that provide a set of mutually exclusive choices. In the Component Dialog Wizard, radio buttons can be created for two purposes: for enabling and disabling
other control elements, and for entering the value of a non-conservative input node. Following is an
example of a set of radio buttons as it appears in the Component Dialog Wizard.

To create a set of radio buttons for enabling and disabling other control elements within a
component dialog:
1.

Select Controls>RadioButton from the Component Dialog Wizard menu bar.

You can also click the Add Radio Button button on the Standard toolbar.

2.

Click in the component dialog box to place the radio button.

3.

Drag the radio button to its desired location in the component dialog box.

4.

Resize the radio button to its desired height and width by clicking and dragging its borders.

5.

Repeat steps 1 through 4 for the remaining radio buttons in the set.

6.

Select the Layout>Set Tab Order menu on the Component Dialog Wizard menu bar.

You can also click the Set Tab Order button on the Layout toolbar.

7.

Note the tab order number of each newly placed radio button in the group.

8.

Right-click the radio button with the lowest tab order number.

8-22 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens.

9.

Click the Radiobutton Data tab.

10. Select Enable/Disable controls from the Type list.


11. Check the box in the Select column for each control element you want to be enabled when this
radio button is selected. If you want no controls to be enabled, check no boxes in this column.
12. Type a name to accompany the radio button in the Name field.
13. Check the Group check box.
14. Repeat steps 1 through 12 for each remaining radio button in the set, but do not check the
Group check box for any of these buttons. Only the radio button with the lowest tab order
number in the set should have its Group box checked.
To create a set of radio buttons for entering the value of a non-conservative input node:
1.

Select Controls>RadioButton from the Component Dialog Wizard menu bar.

You can also click the Add Radio Button button on the Standard toolbar.

2.

Click in the component dialog box to place the radio button.

3.

Drag the radio button to its desired location in the component dialog box.
Component Dialog Wizard 8-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Resize the radio button to its desired height and width by clicking and dragging its borders.

5.

Repeat steps 1 through 4 for the remainder of the radio buttons in the set.

6.

Select the Layout>Set Tab Order menu on the Component Dialog Wizard menu bar, or
click the Set Tab Order button on the Layout toolbar.

7.

Note the tab order number of each newly placed radio button in the group.

8.

Right-click the radio button with the lowest tab order number.
The Properties dialog box opens.

9.

Select Node from the Type list.

10. Select the name of the non-conservative input node to be controlled by the set of radio buttons
from the Node list.
11. Select a name to be associated with the radio button and type it into the Description field.
12. Select the value that will be given to the chosen non-conservative input node when the radio
button is selected and type it into the Value field.
13. Check the Group check box.

8-24 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

14. Repeat steps 1 through 12 for each remaining radio button in the set, but do not check the
Group check box for any of these buttons. Only the radio button with the lowest tab order
number in the set should have its Group box checked.

Adding List Boxes to a Component Dialog Box


A ListBox is a control element that provides a table of component parameter information and controls. In the Component Dialog Wizard, List Boxes can be used to display, edit, and control model
information such as:

values of non-conservative input nodes.


units of non-conservative input and output nodes.
descriptions of conservative and non-conservative pins.

The following is an example of a ListBox as it appears in the Component Dialog Wizard:

To create a ListBox for displaying and /or changing the values of parameters:
1.

Select Controls>ListBox from the Component Dialog Wizard menu bar.

2.

Click on the component dialog box to place the ListBox.

3.

Drag the ListBox to its desired location on the component dialog.

4.

Resize the ListBox to its desired height and width by clicking on and dragging its borders.

5.

Right-click the ListBox and select Properties from the context menu.

Component Dialog Wizard 8-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Properties dialog box opens, displaying two lists on the ListBox Data tab.

6.

In the Columns list, click the yellow lightning-bolt button and choose the columns that will
appear in the actual dialog box from the menu that appears.

7.

The single X button deletes the currently selected list item.


The double-X button deletes all entries in the list.
The arrow buttons move the currently selected list item up or down in the list. You can
also use the mouse pointer to drag and drop list items to rearrange them.

Similarly, in the Lines list, click the yellow lightning-bolt button and choose the parameters
that will appear in the actual dialog box from the menu that appears.

The red X button deletes the currently selected list item.


The double-X button deletes all entries in the list.
The arrow buttons move the currently selected list item up or down in the list. You can
also use the mouse pointer to drag and drop list items to rearrange them.

8.

Repeat steps 6 and 7 for the remaining entries of the ListBox.

9.

Click OK.

8-26 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Determining a Non-conservative Input Node's Value Using Free


Values
Component dialog boxes created using the Component Dialog Wizard allow values to be passed
to a model's non-conservative input nodes by two methods.

The first method is the direct passing or assignment of values by control elements such as text
edits and check boxes.
The second method is an indirect method that uses Free Values. Free Values are parameters
that are passed to the component dialog wizard, which then uses the values of these parameters
to calculate the values passed to some or all of the model's non-conservative nodes.

This section describes the procedure for assigning a value to a non-conservative input node using
free values.
Free values can be created in a component dialog using the text edit, ComboBox and Check Box
control elements (for a detailed explanation of how to create free values using these control elements, see Adding Static Information and Control Elements to a Component Dialog). Once free
values have been created, they can be used to determine the value of any non-conservative input
node that is not already connected to another control element in a component dialog.
To determine the value of a non-conservative input node using free values:
1.

Start the Component Dialog Wizard if it is not already started.

2.

Add any necessary free values that have not already been added to the component dialog.

3.

Right-click an empty portion of the component dialog and select Properties on the context
menu.
The Properties dialog box opens, and a list of the model's non-conservative input nodes
appears in the Nodes panel. In the Connection column, there is a browse edit button to the
right of any input node not currently connected to any other control element. The values for
such input nodes can be determined by free values. For example, in the illustration below, the

Component Dialog Wizard 8-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

values for nodes LOAD, RA, LA, and KE all can all be determined using free values.

4.

Click the browse edit button to the right of the input node that is to have its value determined
using free values.

8-28 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Calculator dialog box opens.

5.

Enter an expression for the value of the non-conservative input node in the upper left-hand
window of the Calculator dialog box. The expression should be written in terms of free values, non-conservative input values, variables, and Simplorer mathematical and logical operators, functions, and constants. The expression can be typed or entered using the utilities
provided in the Calculator dialog. These utilities are described below:

The upper right-hand panel contains a list of all conservative nodes, non-conservative
nodes, and free values. Double-clicking one of the names in this window adds it to the
expression.
The center panel contains a list of all Simplorer mathematical and logical operators, functions, and constants. Double-clicking one of the symbols in this window adds it to the
expression.
The lower left-hand panel contains a list of the various categories of Simplorer operators,
functions, and constants. Clicking one of the categories filters the display in the center
window to the operators, functions, and constants associated with that category. For example, if you click Trigonometrics in the left window, the list of Simplorer trigonometric
functions appears in the center window.

In the example shown below, the expression (E0 * A)/d has been assigned to the non-conservative node capacitor. The name of the non-conservative node does not appear in the upper

Component Dialog Wizard 8-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

left-hand window with the rest of the expression.

6.

Click the Test button when the expression has been entered. If any SML syntax errors are
found in the expression, the Component Dialog Wizard indicates the source of the error so
that you can correct it.

7.

Click OK when the expression is error-free.

8.

Repeat steps 1 through 7 for all non-conservative input nodes whose values are to be calculated
using free values.

8-30 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Aligning and Sizing Component Dialog Box Elements


The Component Dialog Wizard uses three utilities to facilitate precise alignment and sizing of
component dialog box elements:

The grid.
Lock controls.
Size controls.

Component Dialog Box Grid


The grid provides a set of convenient reference points for placing information and control elements
on the control dialog, ensuring consistent spacing, and sizing component dialog elements.

By default, the grid is shown when the Component Dialog Wizard starts. If the grid is not
shown, it may be turned on by selecting Layout>Show Grid. Use the Show Grid command to
toggle showing/hiding the grid.
Spacing between points on the grid can be adjusted by selecting Wizard>Options from the
Component Dialog Wizard menu bar.
The Properties dialog box opens.

In this dialog box, enter an integer between 2 and 100 in the Grid Size field to adjust the spacing between grid points. A value of 2 provides the smallest grid spacing, 100 the largest.

Component Dialog Box Lock Controls


Lock controls help you align one or more component dialog elements along a single guide element.
You can align elements with the top, bottom, left, or right of the guide element.

Component Dialog Wizard 8-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To use the lock controls:


1.

Select the element or elements to be aligned with the single selected element. To do this, use
the mouse to draw a rectangle around the desired elements, or hold down the Shift key and
click each element individually.

2.

Select the guide element. To do this, hold down the Shift key while the other elements are
selected and then click the guide element. The guide element must be selected last.

3.

Choose a lock control by selecting Layout>Lock Controls, or click the appropriate lock control on the Layout toolbar.

4.

Four lock controls are available:

Left: The left edges of the selected elements become aligned with the left edge of the
guide element
Right: The right edges of the selected elements become aligned with the right edge of the
guide element.
Top: The tops of the selected elements become aligned with the top of the guide element.
Bottom: The bottoms of the selected elements become aligned with the bottom of the
guide element.

8-32 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The first illustration in the example below shows the groups Resistor and Capacitor Parameters
and Default Outputs selected to be aligned with the left edge of the group Conservative Nodes.
The Left lock control is selected from the lock control menu to perform the alignment.

Component Dialog Wizard 8-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The second illustration shows the three groups in left alignment after the lock to the left has
occurred.

Component Dialog Wizard Size Controls


The size controls facilitate the sizing of component dialog elements so that they are the same size as
a selected reference element. The size controls also allow selected elements to be given the same
height, the same width, or both the same height and width as the reference element.
To use the size controls:
1.

Select the element or elements to be sized to the reference element. This may be done by using
the mouse pointer to draw a rectangle around the desired elements or by holding down the
Shift key and clicking on each element individually.

2.

Select the reference element. This is done by holding down the Shift key while the other elements are selected and then clicking on the reference element.

Note
3.

The reference element must be selected last.

Choose a size control by selecting Layout>Size Controls or by clicking the appropriate size
control on the Layout toolbar.

8-34 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

There are three size controls available:

Size Height the selected elements are sized to have the same height as the reference
element.
Size Width the selected elements are sized to have the same width as the reference element.
Size Both the selected elements are sized to have the same height and width as the reference element.

The first illustration in the example below shows the group Conservative Nodes selected to be
sized to the height of the group Source Voltage Parameters. The Size Height command is selected
from the size control menu to accomplish the size change.

Component Dialog Wizard 8-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The second illustration shows the two groups with equal height after the sizing has occurred.

8-36 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting the Tab Order of a Component Dialog Box


The tab order of a component dialog box is the order in which the control elements are selected
when a user presses the Tab key. The Component Dialog Wizard provides a utility for changing
the tab order of a component dialog box that has been created with the Wizard.
The illustration below shows the tab order of a component dialog box. The radio button charging is
first in the order, and the group Switch Signal Value is last.

To set the tab order of a component dialog box:


1.

Open the Component Dialog Wizard if it has not already been opened.

2.

Select Layout>SetTabOrder.

Alternately, click the Set Tab Order button on the Layout toolbar (for more information on
the Component Dialog Wizard menu bar and toolbars, see Section XII: Reference).

The current tab order of the component dialog box will be shown. The element that is first in
the tab order is numbered 0, and the elements that are selected with each subsequent pressing
of the Tab key are numbered in ascending numerical order.
3.

Click the component dialog element that is to be first in the new tab order.
The number of the element should change to 0.

4.

Click the component that is to be second in the new tab order.


The number of the element should change to 1.

Component Dialog Wizard 8-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Continue selecting elements until all elements are in the correct order. The illustration below
shows the same component dialog shown above with a newly set tab order:

6.

Click an empty portion of the component dialog to exit the tab order utility.

8-38 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting the Display Behavior of Component Dialog Box Elements


The Component Dialog Wizard makes it possible to control how the sizes and positions of component dialog box elements will change when the component dialog box containing them is resized.
It also enables control of when component dialog box elements are disabled or hidden. This section
describes the dialog box display behaviors that are available for component dialog box elements,
and how to apply these behaviors to individual elements.

Component Dialog Box Display Behaviors


The three dialog box display behaviors available for component dialog box elements are

Lock causes the element to maintain a constant distance between its borders and selected
borders of the component dialog box. The element may change size in order to do this.
Relative causes the element to maintain its size and to maintain its relative distance from
the selected borders of the component dialog box as the dialog box is resized.
Default causes the element to maintain its size. An element with this behavior does not
maintain its relative distance from other elements with default behavior as the dialog is resized.

The following examples illustrate each dialog box resize behavior type:

Lock Behavior
Lock behavior causes a component dialog box element to maintain a fixed distance from the borders of the dialog. The first pair of illustrations shows a text edit element with Lock behavior
selected for the top and bottom dialog box borders. For comparison, a second text edit element of
equal size with Default behavior is also shown. The upper text edit is the one for which Lock
behavior has been selected.

Component Dialog Wizard 8-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Lock Behavior - Before Resizing

Lock Behavior - After Resizing

The component dialog box has been resized by dragging its bottom border downward. In response,
the upper text edit has maintained its position relative to the top and bottom borders of the dialog
box. It has changed size in order to maintain a constant distance from both the top and bottom borders of the dialog box. In contrast, the text edit with Default behavior has moved in the direction of
the resizing of the dialog, and the distance between it and the top and bottom borders of the dialog
has changed.

Relative Behavior
Relative behavior causes a locked component dialog box element to maintain its relative distance
from the selected dialog box border. The next pair of illustrations shows two ComboBox elements
with Relative behavior selected with respect to the left border of the dialog box. For comparison,
two ComboBoxes of equal size with Default behavior are also shown. The upper ComboBoxes are
8-40 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the ones for which Relative behavior has been selected. These ComboBoxes are set to maintain
their left edges at the same relative distance from the left border of the dialog box as it is resized.
Relative Behavior - Before Resizing

Relative Behavior - After Resizing

The dialog box has been resized by dragging its right border to the right. In response, the upper
ComboBoxes have moved so that their relative distances to the left border of the dialog box
remains the same. In contrast, the lower ComboBoxes set for Default behavior have not moved.

Default Behavior
Default behavior, which is the behavior shown by a dialog box element if neither Lock nor Relative behaviors are selected, causes a dialog box element to maintain its size and its position relative
to the dialog box top and left edges when the dialog box containing it is resized. The next pair of
illustrations shows a group element with Default behavior. For comparison, a group element with
Lock and Relative behaviors is shown. The group with Default behavior is the upper group in the
illustration.
Component Dialog Wizard 8-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Default behavior - Before Resizing

8-42 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Default Behavior - After Resizing

The dialog box has been resized by dragging its bottom border downwards and by dragging its right
border to the right. The upper group with Default behavior has not changed in size and has also
maintained its position relative to the left and top edges of the dialog box. The bottom group with
Lock and Relative behavior has changed its size in proportion to the change in size of the dialog
and has maintained its position relative to the left edge of the dialog box.

Selecting the Dialog Box Display Behavior of a Dialog Element


Setting the display behavior of dialog box elements includes the following:

Resizing behavior.
Conditions

Selecting Dialog Box Resize Behavior


To select the dialog resize behavior of component dialog element:
1.

Right-click the element and select Properties from the context menu.
The Properties dialog box appears.

Component Dialog Wizard 8-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

Select the Display tab.

3.

Select the desired resizing behaviors by checking the appropriate boxes. Relative can only be
selected if Lock is enabled. The Relative behavior number is the percentage of the dialog box
width (or height) maintained by the elements edge relative to the chosen dialog box edge. For
example, if Lock Right is selected, and its Relative number is set to 75; as the dialog box is
resized horizontally, the right edge of the element will move so that it is always 75 percent of

8-44 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the distance between the left and right edges of the dialog box. If no boxes are selected, the element will exhibit Default behavior in both the width and height dimensions.
Note

4.

It is possible to achieve more than one resize behavior for a dialog element. For
example a given element can be set to Lock to the left dialog box border and to
resize in the height dimension by also choosing to Lock to the top (or bottom)
border.
Component dialog box elements do not exhibit their resize behaviors when the
component dialog box being constructed in the Component Dialog Wizard is
resized. They will exhibit their dialog resize behaviors only when a component
dialog box is resized in the Wizard's preview mode (See Section VIII: Testing a
Component Dialog for more details); or when a component dialog is accessed from
a Simplorer Schematic.
It is recommended that the user preview the dialog to be sure that the intended resize
behavior has been achieved.

When finished, click OK.

Component Dialog Wizard 8-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Dialog Box Element Conditions for Display


By default, dialog box elements are both enabled for use and visible. To set a Condition for disabling or hiding a dialog box element:
1.

Right-click the element and select Properties from the context menu.
The Properties dialog box appears.

2.

Select the Display tab.

3.

Select the action to be applied to the dialog box element when the Condition is satisfied. Disable keeps the element visible while preventing the user from making changes to it. Hide
removes the element from view.

4.

Click the [...] button.

8-46 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Calculator window appears.

5.

Enter an expression for the desired condition for disabling or hiding the element in the upper
left-hand window of the Calculator dialog box. The expression should be written in terms of
free values, non-conservative input values, variables, and Simplorer mathematical and logical
operators, functions, and constants. The expression can be typed or entered using the utilities
provided in the Calculator dialog. These utilities are described below:

The right-hand panel contains a list of all conservative nodes, non-conservative nodes, and
free values. Double-clicking one of the names in this panel adds it to the expression.
The center panel contains a list of all Simplorer mathematical and logical operators, functions, and constants. Double-clicking one of the entries in this panel adds it to the expression.
The lower left-hand panel contains a list of the various categories of Simplorer operators,
functions, and constants. Clicking one of the categories filters the display in the center
window to the operators, functions, and constants associated with that category. For example, if you click Trigonometrics in the left panel, the list of Simplorer trigonometric functions appears in the center panel.

In the example shown below, the expression PHIO==KE has been entered. This condition is met

Component Dialog Wizard 8-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

whenever the value of PHIO is identical to that of KE.

6.

Click the Test button when the expression has been entered. If any SML syntax errors are
found in the expression, the Component Dialog Wizard indicates the source of the error so
that you can correct it.

7.

Click OK when the expression is error-free.

8.

Repeat steps 1 through 7 for all non-conservative input nodes whose values are to be calculated
using free values.

8-48 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Testing a Component Dialog Box


The Component Dialog Wizard provides two utilities for testing component dialog boxes created
with it. The first utility, Show Component Dialog, tests a dialog box's appearance. The second utility, Check Component Dialog, tests its completeness. This section describes the use of these utilities.

Using Show Component Dialog


The Show Component Dialog utility is used to generate a preview of the component dialog box as
it would appear when opened from a Schematic.
1.

Start the utility by selecting Layout>Show Component Dialog on the Component Dialog
Wizard menu bar.

Alternately, the utility can be started by clicking the Show Component Dialog button on
the Wizard's Layout toolbar.

The Component Dialog Preview window opens displaying a preview of the component dialog box. An example of a preview is shown below:

The preview allows the functionality of the component dialog to be tested. For example, values
in text edits may be retyped, radio buttons and check boxes may be selected and deselected,
and values in ComboBoxes may be changed. Additionally, the dialog resize behavior of the
component dialog may be tested by resizing the preview window.
Component Dialog Wizard 8-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

When finished testing, close the Component Dialog Preview window by clicking either the
OK or the Cancel button.

Using Check Component Dialog


The Check Component Dialog utility is used to determine the overall completeness of a component dialog box. Specifically, the utility determines if the component dialog box provides access to
all of a model's non-conservative input nodes; and if all of the dialog box's free values are used. If
the component dialog box is not complete, the Component Dialog Wizard returns an error message indicating what is not complete in the dialog box.
1.

Start the Check Component Dialog utility by selecting Layout>Check Component Dialog
on the Component Dialog Wizard menu bar.

Alternately, the utility can be started by clicking the Check Component Dialog button on
the Wizard's Layout toolbar.

The illustration below shows an example of an error message returned by the Check Component Dialog utility:

The message indicates that the non-conservative input nodes c, rc, rd, and signal are not accessible through any control element available on the component dialog.
2.

To make the component dialog box complete, control elements must be added that connect to
these non-conservative nodes.

8-50 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Saving and Closing a Component Dialog Box


When a component dialog box is complete, it should be saved and closed.
1.

To save the dialog box, select Wizard>Save on the Component Dialog Wizard's menu bar.

2.

Alternately, click the Save button on the Wizard's Standard toolbar.

To close the Component Dialog Wizard select Wizard>Close on the Component Dialog Wizard's menu bar.

Component Dialog Wizard 8-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using a Component Dialog Box


After a component has been placed on a Schematic, you can use its component dialog box to
change many of its parameters.
1.

You can also double-click the desired component on a schematic sheet.


The component dialog box appears.

1.

To use a component dialog box, right-click the desired component on a schematic sheet and
select Properties from the context menu.
The models Properties dialog box appears.

2.

On the Parameter Values tab, click the CompDlgWizard button to open the component dialog box.

3.

Once the component dialog box opens, all of the functionality of the component dialog box is
available for use.

Revising a Component Dialog Box


Component dialog boxes that are created with the Component Dialog Wizard may be revised at
any time. To change the contents of a component dialog box, simply start the Component Dialog
Wizard and change the appearance using the methods described in the previous sections of this
tutorial.

8-52 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component Dialog Wizard Window Items


This section describes the contents and the use of menus and toolbars of the Component Dialog
Wizard.
Related Topics
Component Dialog Wizard Menu Bar
Component Dialog Wizard Standard Toolbar
Component Dialog Wizard Layout Toolbar

Component Dialog Wizard Menu Bar


The Menu Bar (shown below) provides menus of commands for the Component Dialog Wizard.
Each menu is described below.

Wizard Menu (Component Dialog Wizard)


the Wizard menu contains the following general commands:

Delete - removes the component dialog created with the Wizard from subsequently placed
instances of the model. The changes made to the component dialog with the Wizard are
destroyed.
Save - saves all changes made to the element dialog.
Options - opens a dialog box (shown below) that features three controls for the Component
Dialog Wizard

Load Standard Layout - when selected, causes the Standard Layout to be loaded when the
Component Dialog Wizard 8-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component Dialog Wizard is started


Show Start Dialog - when selected, causes a dialog box to appear when the Component
Dialog Wizard is started. The dialog box gives the choice of loading the Standard Layout or
not.
Grid Size - an integer between 2 and 100 entered here determines the spacing of the Component Dialog Wizard's grid, where 2 is the smallest (closest) spacing, and 100 is the largest.

Close - closes the Component Dialog Wizard.

Edit Menu (Component Dialog Wizard)


The Edit menu provides standard commands for selecting, copying, cutting, pasting, and deleting
component dialog elements.

Layout Menu (Component Dialog Wizard)


The Layout menu provides the following commands for positioning and sizing component dialog
elements, and for testing a component dialog:

Lock Controls - opens a submenu containing the Left, Right, Top, and Bottom Lock commands.
Size Controls - opens a submenu containing the Size Width, Size Height, and Size Both commands.
Show Grid - turns on or turns off the Component Dialog Wizard's grid.
SetTabOrder - starts the utility for setting the tab order of component dialog box elements.
Show Component Dialog - generates a preview of the component dialog.
Create Standard Layout - replaces all elements currently in the component dialog box with
the Standard Layout.
Check Component Dialog - starts the utility for checking if the component dialog is complete
with respect to non-conservative input nodes and free values.

Controls Menu (Component Dialog Wizard)


The Controls menu contains commands for adding the seven available control elements (CheckBox, ComboBox, ListBox, Edit, Group, RadioButton, and Static) to a component dialog.

Page Menu (Component Dialog Wizard)


The Page menu contains commands to Add, Delete, and GoTo pages in the wizard. Each page in
the wizard represents a tab in the finished component dialog box.

8-54 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component Dialog Wizard Standard Toolbar


The Standard toolbar (shown below) provides fourteen commands for the Component Dialog
Wizard.
Save

Cut

Copy

Add
Static

Paste

Add
Text Edit

Delete

Add
Group

Help

Select

Add
Add
CheckBox RadioButton

Add
ComboBox

Add
ListBox

Save - saves all changes made to the component dialog box.


Cut, Copy, Paste, Delete - perform basic editing functions.
Help - starts online help for the Component Dialog Wizard.
Select - returns the mouse pointer to select object mode.
Add Static - creates a static for addition to the component dialog box.
Add Text Edit - creates a text edit for addition to the component dialog box.
Add Group - creates a group for addition to the component dialog box.
Add Checkbox - creates a check box for addition to the component dialog box.
Add Radio Button - creates a radio button for addition to the component dialog box.
Add ComboBox - creates a ComboBox for addition to the component dialog box.
Add ListBox - creates a ListBox for addition to the component dialog box.

Component Dialog Wizard 8-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Component Dialog Wizard Layout Toolbar


The Layout toolbar (shown below) provides twelve commands for the Component Dialog Wizard.
Check
Component
Dialog

Show
Component
Dialog

Set Tab Order

Align Top

Align Left Align Right

Align Bottom

Size Both

Show Grid

Size Height Size Width

Show Component Dialog - generates a preview of the component dialog box.


Check Component Dialog - starts the utility for checking if the component dialog box is complete with respect to non-conservative input nodes and free values.
Set Tab Order - starts the utility for setting the tab order of component dialog box elements.
Align Left - aligns all selected dialog box elements with the left edge of a reference element.
Align Right - aligns all selected dialog box elements with the right edge of a reference element.
Align Top - aligns all selected dialog box elements with the top edge of a reference element.
Align Bottom - aligns all selected dialog box elements with the bottom edge of a reference element.
Size Height - sizes all selected elements to have the same height as a reference element.
Size Width - sizes all selected elements to have the same width as a reference element.
Size Both - sizes all selected elements to have the same height and width as a reference element.
Show Grid - displays or hides the Component Dialog Wizard's grid.

8-56 Component Dialog Wizard

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

9
Working with Variables

Properties and quantities in ANSYS Simplorer may be represented by alphabetic or alphanumeric


variables. For example, the capacitance property of a capacitor may be set to the value of the variable C1, rather than set to a numeric quantity, like 1.0uF. A property that has been set to a variable
is said to be parameterized.
In some cases, the use of variables is mandatory. For example, if you want to sweep the current
level of a source during analysis, you must set the current level equal to a variable to allow the simulator to identify and vary the level as the solution proceeds.
This section covers the following topics:

Variable Types
Defining an Expression
Intrinsic Variables
Defining Parameter Defaults
Assigning Variables
Choosing a Variable to Optimize
Including a Variable in a Sensitivity Analysis
Choosing a Variable to Tune
Including a Variable in a Statistical Analysis

Working with Variables 9-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Variable Types
A variable is a numerical value, mathematical expression, or mathematical function that can be
assigned to a design parameter in Simplorer. Variables are useful in the following situations:

You expect to change a parameter often.


You expect to use the same parameter value often.
You intend to run a parametric analysis, in which you specify a series of variable values within
a range to solve.
You intend to optimize a parameter value by running an optimization analysis.

The following types of variables are available in Simplorer:


Project Variables Project Variables are available:

for use in any design in a project.


in design properties or component instance properties.

Project Variables are evaluated before simulation and can use constants,
functions and other project variables in their expressions.
A project variable can be identified by its dollar sign ($) prefix, as in $C1. If,
for instance, a project variable $C1 has been defined as equal to 4.32pF, a
capacitance property for a component anywhere in that project can be set
equal to 4.32pF by typing $C1 in the appropriate Value field:

You can manually include the symbol $ in the project variables name, or
Simplorer will automatically append the project variables name after you
define the variable.

9-2 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Design Properties

A local variable is usable within a design and is not in a design's public


interface (i.e., It is not visible on the component representing the design in
a parent circuit). These variables are evaluated before simulation and can
use constants, functions, project variables, design parameters and other
design variables in their expressions.
If, for example, a local variable, R2, has been defined as equal to
4316 Ohms, a resistance property anywhere in that design can be set
equal to 4316 Ohms by entering R2 in the appropriate Value field.

Object Property
Variables

A parameter default is similar to a local variable but is in the design's


public interface. It has a default value that can be overridden in instances
of a design. For example, if three subcircuit instances contain a parameter
default C1 that is defined as equal to 11.3pF, C1 may be overridden as
11.8pF in the first instance, overridden as 10.9pF in the second, and left at
its default value of 11.3pF in the third. A property value that has been set
by means of a parameter default is called a passed parameter. These
variables are evaluated before simulation.
A quantity is similar to a parameter default and is in the design's public
interface. The difference is that quantities are evaluated during
simulation, based on their Calculate setting. Quantities can use other
quantities, as well as the basic variable types, in their expressions. Output
or in/out quantities can route circuit component instance or net quantities
up into the parent circuit.
A signal is similar to a quantity and is in the design's public interface.
Design signals are restricted to being of real type and input only.

NOTE: The order of variable declaration is important. A variable that is used


before being defined has a value of 0 at that use. Property lists are written to
the netlist in sorted order, so that variables that reference other variables in the
same property list (Local Variables, Design Parameters, etc.) are written after
the variables on which they depend.
An object property variable is composed of the object's instance name (e.g.,
C1, N001) plus a period (.) plus the name of the property. The property
can be any quantity or signal, or any real-valued parameter that is part of the
object. Object property variables are usable only within the design containing
the object. Examples are R1.V, E2.I, N001.S (for a wire connecting a
translational nature pin).

Working with Variables 9-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

FML_INIT
Variables

FML_INIT variables are defined within FML_INIT components and are


available for use in expressions in the local design, similar to local variables.
These are evaluated once before the start of simulation and cannot use
simulation-dependent variables in their expressions.
Analysis control variables can be set within an FML_INIT component and
will override those values in the solution setup. Care must be taken to avoid
unintended consequences if these values are changed. Note that setting Tend
in this way may cause problems with spectral plots, continuing a simulation
based on Enable continue to solve in the setup, or continuing a simulation
with a state (KRN) file.
NOTE: The order of variable declaration is important, and this order is under
user control in FML_INIT components. A variable that is used before being
defined has a value of 0 at that use.

FML Variables

FML variables are defined within FML components and are available for use
in expressions in the local design, also similar to local variables. These are
evaluated for each iteration at a point in the sequence of evaluation of the
user's choice, and can use simulation-dependent variables in their expressions.
Analysis control variables can be set within an FML component and will
override those values in the solution setup. As an example, setting Hmin and
Hmax based on a specific time value or circuit conditions may be very useful.
Care must be taken to avoid unintended consequences if these values are
changed. Note that setting Tend in this way may cause problems with spectral
plots, continuing a simulation based on Enable continue to solve in the setup,
or continuing a simulation with a state (KRN) file.
NOTE: The order of variable declaration is important, and this order is under
user control in FML components. A variable that is used before being defined
has a value of 0 at that use.

If you define a variable as an expression that evaluates to a constant, whether a project, local or
parameter variable, the expression will be retained in the variable list, rather than being evaluated
and replaced with a constant. This allows you to identify and modify the expression in the future.
Note

Whether you are defining project, local, or parameter variables, intrinsic names (f,
freq, lb, etc) are reserved and cannot be used or entered into the source and port
dialogs. See Reserved Variable Names for details.

Defining a Project Variable


A project variable can be assigned to a parameter value in the Simplorer project in which it was created. Simplorer differentiates project variables from other types of variables by prefixing the variable name with the following symbol: $. You can manually include the symbol $ in the project

9-4 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

variables name when you create it, or Simplorer will automatically append the project variables
name with the symbol after you define the variable.
1.

On the Project menu, click Project Variables.

Alternatively, right-click the project name in the project tree, and then click Project Variables on the shortcut menu.

The Properties dialog box appears, containing three tabs: Project Variables, Intrinsic Variables, and Constants.
Note

2.

The Intrinsic Variables and Constants tabs provide non-editable reference listings of
Simplorers predefined internal variables and constants.

Under the Project Variables tab, click Add.


The Add Property dialog box appears.

3.

In the Name text box, type the name of the variable.

Note

4.

Project variable names must start with the symbol $ followed by a letter. Variable
names may include only alphanumeric characters and underscores ( _ ).
Names of reserved variables, reserved (intrinsic) functions and pre-defined
constants cannot be used as variable names.
Simplorer prepends a $ character to each project variable name you specify. The
$ symbol becomes an essential part of the project variable name and must be
included whenever you specify an existing project variable as a parameter value.
In netlists, the $ prefix is changed to Pjt_. For example, project variable $RNom
appears as Pjt_RNom in the netlist.

In the Unit Type text box you can use the drop down menu to select from the list of available
unit types. None is the default.
When you select a Unit Type, the choices in drop down menu for the Units text box adapt to
that unit type. For example, selecting Length as the Unit Type causes the Unit menu to show a
range of metric and english units for length. Similarly, if you select the Unit Type as Resistance, the Units drop down lists a range of standard Ohm units.

5.

In the Value text box, type the quantity that the variable represents. Optionally, include the
units of measurement.

Warning

If you include the variables units in its definition (in the Value text box), do not
include the variables units when you enter the variable name for a parameter value.

The quantity can be a numerical value, a mathematical expression, or a mathematical function.


The quantity entered will be the current, (or default) value for the variable. If the mathematical
expression includes a reference to an existing variable, this variable is treated as a dependent
variable. The units for a dependent variable will automatically change to those of the independent variable on which the value depends. Additionally, dependent variables, though useful in
many situations, cannot be the direct subject of optimization, sensitivity analysis, tuning, or
Working with Variables 9-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

statistical analysis.
6.

Click OK to return to the Properties dialog box.


The new variable and its value are listed in the table. If the value is an expression, the evaluated value is shown. Updating the expression also changes the evaluated value display.

7.

Optionally, type a description of the variable in the Description text box.

8.

Optionally, select Read Only. The variables name, value, unit, and description cannot be
modified when Read Only is selected.

9.

Optionally, select Hidden. If you clear the Show Hidden option, the hidden variable will not
appear in the Properties dialog box.

The new variable can now be assigned to a parameter value in the project in which it was created.
Related Topics
Viewing and Editing Project Variables
Deleting Project Variables
Add/Edit Property Dialog Boxes

Viewing and Editing Project Variables


To edit a project variable:
1.

On the Project menu, click Project Variables.

Alternatively, right-click the project name in the project tree, and then click Project Variables on the shortcut menu.

The Properties dialog box appears.


2.

On the Project Variables tab, edit the variable name, value, unit, and description by clicking
in the appropriate cell and making the necessary changes.

Note

3.

Ensure that the Read Only checkbox is unchecked before attempting to edit.
Ensure that the Show Hidden checkbox is checked to display all defined variables.

When finished editing, click OK to close the Properties dialog box.

Deleting Project Variables


To delete a project variable:
1.

Remove all references to the variable in the project.

2.

Save the project to erase the command history.

3.

Click Project>Project Variables to display the Properties dialog with list of variables.

4.

Select the variable and click Remove and OK.

Defining Local (Design) Variables


You can define a local variable in either of two ways:
9-6 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

At the design level


From within a component

Related Topics
Deleting Local Variables

Adding a Local Variable at the Design Level


A design variable is associated with a Simplorer design. A design variable can be assigned to a
parameter value in the Simplorer design in which it was created.
1.

On the Simplorer Circuit menu, click Design Properties.

Alternatively, right-click the design name in the project tree, and then click Design Properties on the shortcut menu.

The Properties dialog box appears.


2.

Under the Local Variables tab, click Add.


The Add Property dialog box appears.

3.

In the Name text box, type the name of the variable.

Note

4.

Variable names must start with a letter, and may include alphanumeric characters
and underscores ( _ ).
Names of reserved variables, reservoir (intrinsic) functions and pre-defined
constants cannot be used as variable names.

In the Unit Type text box you can use the drop down menu to select from the list of available
unit types. None is the default.
When you select a Unit Type, the choices in drop down menu for the Units text box adapt to
that unit type. For example, selecting Length as the Unit Type causes the Unit menu to show a
range of metric and english units for length. Similarly, if you select the Unit Type as Resistance, the Units drop down lists a range of standard Ohm units.

5.

In the Value text box, type the quantity that the variable represents. Optionally, include the
units of measurement.

Note

If you include the variables units in its definition (in the Value text box), do not include
the variables units when you enter the variable name for a parameter value.

The quantity can be a numerical value, a mathematical expression, or a mathematical function.


The quantity entered will be the current (or default value) for the variable. If the mathematical
expression includes a reference to an existing variable, this variable is treated as a dependent
variable. The units for a dependent variable will automatically change to those of the independent variable on which the value depends. Additionally, dependent variables, though useful in
many situations, cannot be the direct subject of optimization, sensitivity analysis, tuning, or
Working with Variables 9-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

statistical analysis.
Note

6.

Complex numbers are not allowed for variables to be used in an Optimetrics sweep, or
for optimization, statistical, sensitivity or tuning setups.

Click OK to return to the Properties dialog box.


The new variable and its value are listed in the table. If the value is an expression, the evaluated value is shown. Updating the expression also changes the evaluated value display.

7.

Optionally, type a description of the variable in the Description text box.

The new variable can now be assigned to a parameter value in the design in which it was created.
Note

Local Variables are not usable in the designs subcircuits and are not in the designs
public interface (i.e., They are not visible on the component representing the design
when it is used as a subdesign)

Adding a Local Variable from a Component


To define a local variable from a component:
1.

Display the properties of the component that will use the local variable you want to define. To
do this, do any one of the following:

Right-click the component and select Properties from the pop-up menu.
The Properties dialog box opens.
Click either the Parameter Values or the Quantities tab.

Select the component, and then view its properties in the Param Values or Quantities tab
of the desktops Properties window.
a. Select the component.
b. On the Edit menu, click Properties.
The Properties dialog box opens.
c. Click the Parameter Values tab.

a. Select the component, and then right-click to open its shortcut menu.
b. Click Properties.
The Properties dialog box opens.
c. Click the Parameter Values tab.

2.

Click in the Value field for the parameter you want to set equal to the local variable.

3.

Type the variable namefor example, Resistor1. The name may not duplicate a reserved
(intrinsic) variable name. See Reserved Variable Names for details.

4.

Click OK or press Enter.


The Add New Variable dialog box appears.

9-8 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Type a valid numerical quantityfor example, 10, 1.2e6, 1.5pF or 2.82mmin the Value
box.

6.

Click Local Variable.

7.

Click OK or press Enter.

Note

8.

Local Variables are not usable in the designs subcircuits and are not in the designs
public interface (i.e., They are not visible on the component representing the design
when it is used as a subdesign)

Do either of the following:

To add another local variable, click Add.


To stop adding local variables, click OK or press Enter.

Deleting Local Variables


To delete a local variable:

1.

Remove all references to the variable in the design.

2.

Save the project to erase the command history.

3.

Click Simplorer Circuit>Design Properties to display the Properties dialog.

4.

Click the Local Variables tab.

5.

Select the desired variable and click Remove and OK.

Working with Variables 9-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Defining an Expression
Expressions are mathematical descriptions that typically contain intrinsic functions, such as sin(x),
and arithmetic operators, such as +, -, *, and /, well as defined variables. Expressions may also contain pre-defined constants, but such constants may not be reassigned a new value. Defining one
variable in terms of another makes a dependent variable. Dependent variables, though useful in
many situations, cannot be the subject of optimization, sensitivity analysis, tuning, or statistical
analysis.
Numerical values may be entered in ANSYS Electromagnetics shorthand for scientific notation.
For example, 5x107 could be entered as 5e7.

Operator Precedence
Operators that can be used to define an expression or function have a pre-defined sequence in
which they are performed. The following list shows both the valid operators and the sequence in
which they are executed (listed in decreasing precedence). Operators of equal precedence are evaluated left-to-right except for exponentiation, which is evaluated right-to-left.

()

parenthesis

logical NOT (negation)

^ (or **)

exponentiation

(If you use ** for exponentiation, as in


previous software versions, it is
automatically changed to ^.)
-

unary minus

multiplication

division

addition

subtraction

==

equal to (compares two values for equality) 7

!=

not equal

>

greater than

<

less than

>=

greater than or equal to

<=

less than or equal to

&&

logic AND (conjunction)

||

logic OR (disjunction)

9-10 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Functions
Range Functions are special functions that use a 2D dataset as input, along with 0 or more additional parameters. Range functions can be used to produce a user-created 2D report display that is a
collection of traces and their attributes. The trace collection and attributes are used to generate a
portion of a report definition that generates a family of curves in the report window.
For more information, as well as a table which lists available Range Functions, see Defining Traces
Using Range Functions.

Using Standard Mathematical Functions in Expressions


Simplorer recognizes a set of standard mathematical functions that can be used to define expressions. These function names are reserved, and may not be used as variable names.

Note

If you do not specify units, all trigonometric functions interpret their arguments in
radians. Likewise, inverse trigonometric functions return values are in given in radians.
When the argument to a trigonometric expression is a variable, the units are assumed to
be radians. If you want values interpreted in degrees, supply the argument with the unit
name deg.

Constants Tab (Project Variables Dialog)


The Constants tab of the Project Variables dialog lists the available pre-defined constants. These
may not be reassigned a new value. Refer to the section on Predefined Constants in the Simplorer
Design Conventions chapter for additional information.

Working with Variables 9-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Reserved Variable Names


Note

When you define a new Project Variable or Local Variable, the name you assign must not
be the same as one of the reserved variable names listed on the Intrinsic Variables tab.

To view the list of reserved variable names, open the Project pull-down menu in the top menu bar
(or right-click on the name of a project), select Project Variables, and then click the Intrinsic
Variables tab:

Intrinsic Variable Name

Description

_Empty
_I1

Terminal current in interpretive user-defined model (A)

_I2

Terminal current in interpretive user-defined model (A)

_I3

Terminal current in interpretive user-defined model (A)

_I4

Terminal current in interpretive user-defined model (A)

_I5

Terminal current in interpretive user-defined model (A)

_I6

Terminal current in interpretive user-defined model (A)

_I7

Terminal current in interpretive user-defined model (A)

_I8

Terminal current in interpretive user-defined model (A)

_I9

Terminal current in interpretive user-defined model (A)

_t

Variable to define parametric equation based curve

_u

Variable to define parametric equation based surface

_v

Variable to define parametric equation based surface

_V1

Port voltage in interpretive user-defined model (V)

_V2

Port voltage in interpretive user-defined model (V)

_V3

Port voltage in interpretive user-defined model (V)

_V4

Port voltage in interpretive user-defined model (V)

_V5

Port voltage in interpretive user-defined model (V)

_V6

Port voltage in interpretive user-defined model (V)

_V7

Port voltage in interpretive user-defined model (V)

_V8

Port voltage in interpretive user-defined model (V)

_V9

Port voltage in interpretive user-defined model (V)

9-12 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Intrinsic Variable Name

Description

Ang

Post-processing variables; not settable by user

Budget_Index

Post-processing variables; not settable by user

Distance

...

ElectricalDegree

Electric Degree of the rotating machine. Not settable by the user.

Frequency of circuit/system analysis (Hz)

F1

Frequency of tone 1 in harmonic balance analysis (Hz)

F2

Frequency of tone 2 in harmonic balance analysis (Hz)

F3

Frequency of tone 3 in harmonic balance analysis (Hz)

Fend

...

FNoi

Offset noise frequency in harmonic balance noise analysis (Hz)

Freq

Post-processing variables; not settable by user

Fstart

...

Fstep

...

...

Hmax

...

Hmin

...

Ia

Post-processing variables; not settable by user

Ib

Post-processing variables; not settable by user

Index

Post-processing variables; not settable by user

IWavePhi

Post-processing variables; not settable by user

IWaveTheta

Post-processing variables; not settable by user

NormalizedDeformation

...

NormalizedDistance

Post-processing variables; not settable by user

OP

Post-processing variables; not settable by user

Pass

Post-processing variables; not settable by user

Phase

Post-processing variables; not settable by user

Phi

Post-processing variables; not settable by user

Post-processing variables; not settable by user

Rho

Post-processing variables; not settable by user


Working with Variables 9-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Intrinsic Variable Name

Description

RSpeed

Speed of the machine. Not settable by the user

Spectrum

Post-processing variables; not settable by user

Temp

Analysis temperature (deg)

Tend

...

Theta

Post-processing variables; not settable by user

Time

Time point in transient analysis (s)

Vac

Post-processing variables; not settable by user

Vbe

Post-processing variables; not settable by user

Vce

Post-processing variables; not settable by user

Vds

Post-processing variables; not settable by user

Vgs

Post-processing variables; not settable by user

Post-processing variables; not settable by user

Post-processing variables; not settable by user

Post-processing variables; not settable by user

ZAng

Post-processing variables; not settable by user

ZRho

Post-processing variables; not settable by user

Defining Parameter Defaults


You can defining a new parameter default at the design level.
The current local values of a designs parameter defaults appear in the designs Passed Parameters
list.
The topics for this section include:
Defining a New Parameter Default by Starting at the Design Level

Defining a New Parameter Default by Starting at the Design Level


To define a new parameter default by starting at the design level:
1.

In the project tree, right-click the design for which you want to define a parameter default.

2.

Select Design Properties.

3.

Select the Parameter Defaults tab.

9-14 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Select Value.

5.

Click Add. The Add Property dialog box opens.

6.

Select Variable.

7.

In the Name box, type a variable name.

8.

In the Value box, type a valid numerical quantity.

9.

Click OK or press Enter.

10. Do either of the following:

To add another parameter default, click Add or press Enter.


To stop adding parameter defaults, click OK.

Assigning Variables
To assign a variable to a parameter in Simplorer:

Type the variable name or mathematical expression in place of a parameter value in a Value
text box.
If you typed a variable name (without the $ prefix) that has not been defined, the Add Variable dialog box will appear, enabling you to define the variable either as a Local Variable or
as a Parameter Default.
If you typed a variable name that included the $ prefix, but that has not been defined, the Add
Variable dialog box will appear, enabling you to define the project variable.
Note

You can assign a variable to nearly any design parameter assigned a numeric value in
Simplorer. See the Simplorer online help about the specific parameter you want to vary
to determine if can be assigned a variable.

Working with Variables 9-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Choosing a Variable to Optimize


Before a variable can be optimized, you must specify that you intend for it to be used during an
optimization analysis in the Properties dialog box.
1.

To choose a variable to optimize, do one of the following:


a.

If the variable is a design variable, on the Simplorer Circuit menu, click Design Properties.

b.

If the variable is a project variable, on the Project menu, click Project Variables.

The Properties dialog box appears.


2.

Click the tab that lists the variable you want to optimize.

3.

Click the row containing the variable you want to optimize.

Note

Dependent variables cannot be optimized.

4.

Select the Optimization option above.

5.

For the variable you want to optimize, select Include.


The selected variable will now be available for optimization in an Optimetrics setup defined in
the current design or project.

Note

6.

Complex numbers are not allowed for variables to be used in an Optimetrics sweep, or
for optimization, statistical, sensitivity or tuning setups.

Optionally, override the default minimum and maximum values that Optimetrics will use for
the variable in every optimization analysis. During optimization, the optimizer will not consider variable values that lie outside of this range.

Related Topics
Setting up an Optimization Analysis

9-16 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Including a Variable in a Sensitivity Analysis


Before a variable can be included in a sensitivity analysis, you must specify that you intend for it to
be used during a sensitivity analysis in the Properties dialog box.
1.

To include a variable in a sensitivity analysis, do one of the following:


a.

If the variable is a design variable, on the Simplorer Circuit menu, click Design Properties.

b.

If the variable is a project variable, on the Project menu, click Project Variables.

The Properties dialog box appears.


2.

Click the tab that lists the variable you want to include in the sensitivity analysis.

3.

Click the row containing the variable you want to include in the sensitivity analysis.

Note

Dependent variables cannot be included in a sensitivity analysis.

4.

Select the Sensitivity option above.

5.

For the variable you want to include in the sensitivity analysis, select Include.
The selected variable will now be available for sensitivity analysis in a sensitivity setup
defined in the current design or project.

Note

Complex numbers are not allowed for variables to be used in an Optimetrics sweep, or
for optimization, statistical, sensitivity or tuning setups.

6.

Optionally, override the default minimum and maximum values that Optimetrics will use for
the variable in every sensitivity analysis. During sensitivity analysis, Optimetrics will not consider variable values that lie outside of this range.

7.

Optionally, override the default initial displacement value that Optimetrics will use for the
variable in every sensitivity analysis. During sensitivity analysis, Optimetrics will not consider
a variable value for the first design variation that is greater than this step size away from the
starting variable value.

Related Topics
Setting up a Sensitivity Analysis

Working with Variables 9-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Choosing a Variable to Tune


Before a variable can be tuned, you must specify that you intend for it to be tuned in the Properties
dialog box.
1.

To choose a variable to tune, do one of the following:


a.

If the variable is a design variable, on the Simplorer Circuit menu, click Design Properties.

b.

If the variable is a project variable, on the Project menu, click Project Variables.

The Properties dialog box appears.


2.

Click the tab that lists the variable you want to tune.

3.

Click the row containing the variable you want to tune.

Note

Dependent variables cannot be tuned.

4.

Select the Tuning option above.

5.

For the variable you want to tune, select Include.

Note

Complex numbers are not allowed for variables to be used in an Optimetrics sweep, or
for optimization, statistical, sensitivity or tuning setups.

The selected variable will now be available for tuning in the Tune dialog box.
Related Topics
Tuning a Variable

9-18 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Including a Variable in a Statistical Analysis


Before a variable can be included in a statistical analysis, you must specify that you intend for it to
be used during a statistical analysis in the Properties dialog box.
1.

To include a variable in a statistical analysis, do one of the following:


a.

If the variable is a design variable, on the Simplorer Circuit menu, click Design Properties.

b.

If the variable is a project variable, on the Project menu, click Project Variables.

The Properties dialog box appears.


2.

Click the tab that lists the variable you want to include in the statistical analysis.

3.

Click the row containing the variable you want to include in the statistical analysis.

Note

Dependent variables cannot be included in a statistical analysis.

4.

Select the Statistical option above.

5.

For the variable you want to include in the statistical analysis, select Include.
The selected variable will now be available for statistical analysis in a statistical setup defined
in the current design or project.

Note

6.

Complex numbers are not allowed for variables to be used in an Optimetrics sweep, or
for optimization, statistical, sensitivity or tuning setups.

Optionally, override the distribution criteria that Optimetrics will use for the variable in every
statistical analysis.

Related Topics
Setting up a Statistical Analysis

Working with Variables 9-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

9-20 Working with Variables

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

10
Schematic Editor

The schematic editor is the Simplorer tool for creating and editing designs. A design graphically
represents and captures the electrical, mechanical, and functional characteristics of a circuit or
multi-domain system. A design may be hierarchical; that is, it may contain symbols that represent
other designs. A design may consist of one or more pagesmultiple, associated graphical workspaces that share a local namespace at the same hierarchical level. You create a design by starting
the schematic editor and placing components, ports, connectors, and wires (connections) into a
default empty schematic.

Setting Schematic Editor Options


To set Schematic Editor options in Simplorer:
1.

Click Tools>Options>Schematic Editor Options.


The Schematic Editor Options window appears, displaying five available tabs:

General
Simplorer
Wiring
Multiple Placement
Fonts
Colors
Symbol Editor

2.

Click each tab, and make the desired selections.

3.

Click OK.

Schematic Editor 10-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Setting Schematic Editor Options

Schematic Editor Options: General Tab


The General tab is initially selected when you choose Schematic Options from the Tools >
Options submenu. You can set the following options on the General tab of the Schematic Editor
Options dialog box.

Symbol Graphics specifies the graphic symbol style (IEEE or Traditional) to be used on
schematics. Each style contains two or more active levels for the graphic objects that comprise
a symbol. (See Symbol Graphic Object Levels for additional information.)
SubCircuit Pin Spacing specifies the pin spacing in grid units for pins on a subcircuit component symbol. The default value is 1 grid unit. (See Adding a SubCircuit and Creating a SubCircuit from a Selection Area for additional information.)
Show Pin Names specifies that pin names are to be displayed in the Schematic Editor.
Property Display Angle Follows Symbol Angle specifies that displayed text properties
rotate when the associated component is rotated. Disabled by default.
Update Property Display on Definition Update specifies that when component symbol
definitions are updated, the displayed properties of instances of the updated component on the
schematic are automatically updated. Enabled by default. If not enabled, only the symbol
graphics are updated.
Auto Scroll when close to edges specifies that the Schematic Editor display will scroll
automatically when the cursor is placed close to the edge of the editor window.
Show advanced property data - turns on the display of less often used property tabs, such as
Symbol and General for components.
Net name display sets the net name property display distance from the net.
Selection Colors sets the colors of the first and subsequent objects as they are selected on a
schematic.

Schematic Editor Options: Simplorer Tab


The following options are set on the Simplorer tab of the Schematic Editor Options dialog box.
Check the desired quantities and signal types that will be available for selection by Probes:

Inputs
Outputs
Inouts

Schematic Editor Options: Wiring Tab


The following options are set on the Wiring tab of the Schematic Editor Options dialog box.
Connectivity Options:

Show Merge Wire dialog before combining wires displays the Merge Wire dialog box
before combining wires to allow for changes to the merge configuration.
Show Split Wire dialog before separating wires displays the Split Wire dialog box before
separating wires to allow for changes to the split configuration
Schematic Editor 10-2

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Setting Schematic Editor Options

When renaming a physically separate piece of wire offers two choices:


Split into a different net
Keep connected (name all pieces the same)

Show GlobalPort Disconnect dialog before separating displays the GlobalPort Disconnect dialog before separating wires to allow for changes to the global port configuration.

Schematic Editor Options: Multiple Placement Tab


Multiple placement allows you to place several objects of the same type in the schematic using
repeated mouse clicks. These options are set on the Multiple Placement tab of the Schematic Editor Options dialog.
Check the desired objects in the Items for multiple placement list.

Components
Interface Ports
Grounds
Page Connectors
Global Ports

Schematic Editor Options: Fonts Tab


Set the Font Name (from a drop down selection list) and Size for text used on schematics on the
Fonts tab of the Schematic Editor Options dialog box. A Sample Text display window shows the
appearance of the specified font and size. Apply this font to all property displays in the active
schematic specifies that all displays in the schematic editor are to use the font style and size you
selected.

Schematic Editor Options: Colors Tab


These options are set on the Color tab of the Schematic Editor Options dialog box.
The Schematic Objects panel allows you to set the color for each Object Type.

Object Type a pull-down menu used to select the object type whose colors you wish to
modify. Types are: Components, Interface Ports, Page Ports, Global Ports, Grounds,
Graphic Items, Wires, and Buses.
Set Color implements the color you have selected for the object type.
Clear Color resets the color of the selected object type to its default value.

The Individual Definitions panel lets you set the color for specified Components and Wire
Domains.

Component Name is used to identify the component whose colors you wish to modify.
(Visible only when the Components Object Type is selected.)
Add allows you to add a component whose colors you wish to define. (Visible only
when the Components Object Type is selected.)
Wire Domain a pull-down menu used to select the wire domain whose color you wish
to modify. Each Wire Domain is assigned a unique color by default. Domains are: ConSchematic Editor 10-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Starting the Schematic Editor

servative - Electrical, Conservative - Magnetic, Conservative - Fluidic, Conservative


- Translational, Conservative - Translational_V, Conservative - Rotational, Conservative - Rotational_V, Conservative - Radiant, Conservative - Thermal, Signal, and
Quantity.

Set Color implements the color you have selected for the specified component. All
future instances of the component added to the active schematic window display will possess the selected color.
Clear Color resets the color of the component to its default value.

Apply these color settings to the current schematic applies the color settings for the
selected Object Type to objects of that type in the active schematic window.

Schematic Editor Options: Symbol Editor Tab


Adjust Pin Orientation on Drag enables symbol pin orientation to be adjusted automatically as pins are dragged to the desired side of a symbol in the symbol editor.

Starting the Schematic Editor


To start the schematic editor and begin editing a Circuit or System design, do one of the following:

In the Project Manager project tree, double-click the

icon for an existing design.

In the Project Manager project tree, right-click the icon for the desired project, point to
Insert, and then click Insert Simplorer Design.
In the Project Manager project tree, select the project that will contain the new design by
clicking its icon. Then, on the Project menu, click Insert Simplorer Design; or click the
icon in the toolbar.

Related Topic:
Working with Simplorer Projects

The Schematic Editor Window


The Schematic Editor window allows you to place components and wire them together. You can
move components by simply selecting and dragging them. Copy and Paste can be used on
components and their wires within the schematic editor. You can also copy and paste to other
schematics.
As you place the cursor near a pin of a component, it changes from an arrow to a large X. This
indicates that the schematic editor is in wiring mode. In wiring mode, left-click to start drawing a
wire. Left-click again to end the wire.
Commonly used items such as ports, grounds, and page connectors can be placed in the schematic
by clicking their toolbar icons or by using the Draw menu.
Controls to Zoom In, Zoom Out, and Fit Drawing to the editor window are available on the View
menu, the Toolbar, and on the shortcut menu that opens when you right-click in a schematic.
Shortcut key combinations (hotkeys) for these controls are also available. For example, you can use
Schematic Editor 10-4

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

the Shift+alt+drag keyboard shortcut to zoom in and out using the mouse. If your mouse has a
scroll wheel, you can also zoom in and out by holding down the Shift key while moving the scroll
wheel up (zoom in) or down (zoom out).
The arrow keys scroll the view up, down, left, or right in small increments. The Page Up and Page
Down keys scroll the view up or down in larger increments. If your mouse has a scroll wheel, move
the wheel up to scroll up and down to scroll down. If you scroll so far that no objects are in the
view, select Fit Drawing from the View pulldown in the Simplorer top menu bar (or Ctrl+D) to recenter the entire design, resized to fill the window.

Schematic Editor Shortcut Keys


Ctrl+z

Undo

Ctrl+y

Redo

Ctrl+x

Cut

Ctrl+c

Copy

Ctrl+v

Paste

Ctrl+a

Select all

Ctrl+e

Zoom in

Ctrl+f

Zoom out

Ctrl+q

Zoom area

Ctrl+d

Fit drawing

Ctrl+r

Rotate

Ctrl+w

Add wire

Ctrl+k

Cross-probe for selected components in layout editor

Shift+drag

Pan

Shift+Alt+drag

Zoom

Ctrl+Shift+click

Selects an entire net when a segment is clicked.

F3

Find Elements

Schematic Editor 10-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

Grid Setup
You can adjust the visibility, color, resolution, and other characteristics of both the Schematic
Editor and Symbol Editor grids.
Note

1.

The Schematic Editor and the Symbol Editor grid settings are independent of each
other.

To access these settings, do one of the following:


a.

If using the Schematic Editor, click Grid Setup on the Schematic menu.

b.

If using the Symbol Editor, click Grid Setup on the Symbol menu.

c.

Click the Grid Setup button

on the Toolbar.

The Grid Setup dialog box opens displaying the settings described below.
Grid Lines Group
Pin grid This box displays and specifies the spacing of the pin grid lines (default is 100
mils). To specify a different value, click in the Pin grid box, and then type the new value. You
can also change the unit of measure. Because symbol pins always snap to the pin grid, changes
to this setting in the Schematic Editor affect the size or scale of displayed symbols.
Note

You can see the effect of changes to this setting more clearly if you apply a border to the
schematic using the Schematic>Page Borders command.

Major This box displays and specifies the spacing of the major grid lines (default is 10 pin
grids between major grid lines). To specify a different Major value, click in the Major box,
and then type the new value. To change the color of the major grid lines, click the Major color
button, specify a color in the Color dialog box, and then click OK to close the Color dialog.
Minor This box displays and specifies the number of minor grid divisions between major
grid lines (default value is 10). To specify a different value, click in the Minor box, and then
type the new value. To change the color of the minor grid lines, click the Minor color button,
specify a color in the Color dialog box, and then click OK to close the Color dialog.
Show Grid This check box toggles grid line visibility. Select Show Grid to make the grid
lines visible, or clear Show Grid to turn grid line display off. The default setting for Show
Grid is on.
Snap Text and Graphics to Grid This check box controls whether text and graphics (arcs,
circles, lines, polygons, rectangles) automatically snap to the nearest grid intersection on
placement. The default setting is on (checked).
Note

To ensure connectivity among schematic elements, symbol pins always snap to the pin
grid regardless of the Major and Minor grid line settings. This snapping cannot be
disabled.

Other Group
Background Color To set the editor background color, click the color box. The Color diaSchematic Editor 10-6

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

log box opens. Specify a color, and then click OK. The default background color is white.
Save as Default Check this box to save the current Grid Setup values as defaults for use
across Simplorer sessions.
Defaults Click to restore the Major, Minor, and Background Color settings to their factory
defaults.
OK click to commit changes made in this dialog box and close it.
Cancel Click to close this dialog box without committing changes made in it, if any.
2.

Make the desired settings, then click OK to apply them and exit the dialog box.

Schematic Editor 10-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

Schematic Page Setup


You can adjust the page size, orientation, borders, title blocks, and other characteristics of the
schematic editor pages. You can access these settings via the Schematic menu by clicking the Page
Borders and Title Blocks menu item to open the Page Border, Title Block, and Page Properties
dialog box, which contains the following three tabs:

Page Borders
Title Block
Page Properties and Display

Page Borders Tab


Use the Page Borders tab to set the border type, page size, page margins, and ANSI Zones for the
schematic editor display. Check Save as default to save the current tab settings as defaults for new
schematic pages.

Border Type
None no border is displayed. All other settings in the tab are disabled when None is selected.
If title blocks have been defined, they will be hidden.
Outline only displays a simple outline of the specified Page Size. Margins can also be
adjusted.
ANSI Zones displays fully ANSI-compliant borders of the specified Page Size. The specified Number of Zones are added to the border.
ISO Zones displays fully ISO-compliant borders of the specified Page Size. The specified
Number of Zones are added to the border.
DIN Zones displays fully DIN-compliant borders of the specified Page Size. The specified
Number of Zones are added to the border.

Page Size allows you to choose from a number of preset vertical and horizontal page sizes.
Selecting Custom allows you to set your own page Width and Height.
Number of Zones allows you to set the number of Vertical and Horizontal zones to draw.
The minimum and maximum number of zones allowed varies with page size. If you try to set a
number outside of the allowable range, pop-up reminder appears displaying the allowable
range of values.
Margins allows you to set the Vertical and Horizontal margins in inches.

Schematic Editor 10-8

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

Title Block Tab

On the Title Block tab, you can choose a Title Block Library by clicking the ellipsis button
[...] to locate a title block .aslb library; or accept the default library.
To add a title block to the grid, click on the yellow lightning bolt icon, and select a title block
symbol from the list presented.
Within the grid control, the title block can be set to snap along the bottom, top, or either side,
or not snap at all. You can optionally Rotate the title block 0, 90 or 270 degrees.
You can move title blocks on the schematic much like any other element, though title blocks
have optional snapping constraints. If a title block has been set to snap (any choice but None),
it can be moved between snapping points - Left, Center and Right for horizontal, Top, Center
and Bottom for vertical. The snap property on the title block will be changed accordingly. The
snap location can also be changed through the property window or the Page Borders and Title
Blocks dialog.
More than one title block can be added to a page. Unwanted title blocks can be deleted from
the page using either the single red X button to delete a single entry, or the double red X
button to delete all entries. An ID property on the title block corresponds to the number in the
ID column of this tab, so a user can identify which title block to delete.
Click OK to add all title blocks in the list to the schematic page, The blocks in the list snap to
the border as specified, or as previously placed if the snap specification is None. If blocks were
removed from the list, they are removed from the schematic. Any changes made to blocks in
the list are applied to pre-existing title blocks.
Schematic Editor 10-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

Selecting None for Border Type after setting up border and title block(s) causes title blocks to
be remembered but not drawn.
Note that you can create a symbol with company logo, propdisplay positioning, and as much
additional information and graphics as needed and store it in a symbol library where it will be
available for any schematic page.
Clicking on the Save as default checkbox causes the title block information to be saved to the
registry and used as a default for the subsequent pages.

Page Properties and Display Tab

Page properties can include fields such as: ProjectPath, Project, Design, Title, Author, and Date.
Click on a Value field and enter the desired information. Data entered in fields used by the title
block(s) appear in the title block on the schematic. Page properties are saved if the Save as default
checkbox is checked, and then initialized when a new page is created. You can create additional
page properties, by clicking the yellow lightning bolt button.
In the symbol editor, a propdisplay may be added to a title block symbol, and the title block
propdisplay will then show the value of the same-named page property.

Schematic Editor 10-10

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

The Schematic Editor Window

Zooming and Panning the View


You can magnify (zoom in) or shrink (zoom out) the contents in the view window, or on a rectangular area in the view window. You can pan (scroll) the view in any direction. You can also fit the contents within a window and redraw a windows contents.

Zooming In and Out on the Window Contents


1.

To magnify or shrink the contents in the view window do any of the following:

Click Zoom In or Zoom Out on the View menu.


Right-click in the schematic window and select Zoom In or Zoom Out from the popup
menu.
Click the Zoom In

or the Zoom Out

icon on the toolbar.

Use the Shift+Alt+drag to zoom in and out.


If you have a scroll-wheel mouse, you can also hold down the Shift key and move the
mouse wheel up to zoom in, down to zoom out.

2.

The view zooms to the chosen magnification. The absolute size of the model does not change.

3.

Repeat the operation until the desired magnification is achieved.

Note

Zooming in and out is limited to approximately 20 steps. The Zoom In


or the
Zoom Out
icon on the toolbar is dimmed when the corresponding zoom limit is
reached.

Zooming In on a Rectangular Area


1.

To magnify a specific rectangular area in the view window do one of the following:

On the View menu, click Zoom Area.


Right-click in the schematic window and select Zoom Area from the popup menu.
Click the

icon on the toolbar.

The cursor changes to a magnifying glass.


2.

Draw a rectangle (or square) by selecting two diagonally opposite corners. This is the area
where magnification will be increased.
The rectangular area is magnified in size and the cursor returns to normal. The absolute size of
the model does not change.

Restoring a Previous Zoom View


After executing a zoom in or zoom out operation, you can return to the previous magnification by
selecting Zoom Previous from the View pulldown.

Fitting the Drawing to the Window


1.

To scale the contents to fit within the current window do one of the following:

Click Fit Drawing on the View menu.


Press Ctrl+D.
Schematic Editor 10-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Closing the Schematic Editor

2.

Right-click in the schematic window and select Fit Drawing from the popup menu.
Click the

icon on the toolbar.

The view zooms to fit the contents of the drawing within the bounds of the window. The absolute size of the model does not change.

Fitting the Drawing Border to the Window


1.

When a border has been added to a drawing, scale the bordered contents to fit within the
current window by clicking Fit Border on the View menu.

2.

The view zooms to fit the bordered contents of the drawing within the bounds of the window.
The absolute size of the model does not change.

Panning the View


To pan (scroll) the view in any direction do one of the following:

Select Pan from the View menu. The cursor changes to a hand as you move it over the schematic window. Click and hold down the left mouse button and move the cursor to pan the view
in any direction. Release the mouse button to end the panning operation.
Hold down the Shift key and then click the left mouse button. The view is now attached to the
cursor (now shaped like a hand). Hold down the mouse button and move the cursor to pan the
view in any direction. Release the mouse button to end the panning operation.
Click the
icon on the toolbar. The cursor changes to a hand as you move it over the schematic window. Click and hold down the left mouse button and move the cursor to pan the view
in any direction. Release the mouse button to end the panning operation.
(Schematic and Symbol Editors) If you have a scroll-wheel mouse, move the wheel up to pan
the view up, down to move the view down.

Redrawing a View
You can redraw the current window view by selecting Redraw from the View menu.

Closing the Schematic Editor


To close the Schematic Editor simply click the standard window close box.

Schematic Editor 10-12

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Creating Simulation Models Using the Schematic Editor


In general, simulation models are represented by schematic designs consisting of components,
elements, and simulation (analysis) parameters.
Components

Constituent parts of a complete simulation model. Some examples of


components include: resistors, valves, motors, switches, logic gates,
measuring devices, function blocks, sensors, etc. Simplorer includes many
pre-defined components in its component libraries. Component types include:
internal components, C models, VHDL-AMS models, SML models, and
SPICE models. Users can also construct and import their own components.

Elements

Connections, display of component names and parameter on the sheet,


drawing elements, text elements, reports.

Simulation
parameters

Simulation settings for the simulator and compiler.

The following sequence of steps describes how to create a simulation model using the schematic
editor.
1.

Select and place components on a schematic sheet. Refer to the About Simplorer
Components chapter for detailed information on the types of components you can use to
create simulation models.
Note These components can also include subcircuit models coupled to external
applications.

2.

Define component parameters and properties.

3.

Connect the components.

4.

Specify simulation (analysis) parameters.

5.

Add drawing elements (including text and imported graphics), and reports as needed.

Selecting and Placing Components


Components are contained in libraries. The Components tab of the Project Manager lists the
installed libraries in the following folders: Basic Elements, Basic Elements VHDLAMS, Digital
Elements, Manufacturers, Multiphysics, and Tools. Each of these folders can contain one or
more libraries. See the Components Tab section for additional information.
To place a component on the schematic, select the schematic that will contain it, and then:
1.

In the Project Manager window, click the Components tab.

2.

In the component list, locate the component you want to place, opening library files

and

Schematic Editor 10-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

folders
Hint

3.

Searching for components in the installed libraries can be time-consuming. The Project
Manager Search feature minimizes the complexity of the search and allows quick
access to all models.

Do one of the following:

4.

as necessary to find it.

Double-click the component, and then move your mouse cursor into the schematic. Inside
the schematic window, the cursor is accompanied by the component symbol for placement.
Clicking and holding the left mouse button on the desired component, then drag the component to the desired location and releasing the mouse button.
Right-click the component, and then select Place Component.

Position the cursor where you want to place the component, and click.
Hint

You can rotate a component before placing it by repeatedly pressing R on your


keyboard. Each press rotates the component 90 counterclockwise. After placement
use Ctrl+R to rotate a component.
Similarly, you can flip a component before placing it by pressing the X key to flip
it left-to-right; or by pressing the Y key to flip it top-to-bottom. After placement
use Ctrl+X and Ctrl+Y to flip a component.

If Multiple Placement is turned on for components in Simplorers Schematic Options dialog box,
you can place additional instances of the component by clicking at additional locations.
To stop placing components during multiple placement, do either of the following:

Press Enter, the SPACEBAR, Backspace, or Esc on your keyboard.


Right-click, and then select Place and Finish, Finish, Cancel, or Back.

Hints

To help facilitate the easy copying of design materials, Simplorer allows you to drag
and drop components from the Project Manager window to the Schematic Editor. In
particular, you can select and drag components:

From the Project Tree Definitions folder to a schematic


From the Search tab component list to a schematic
From the Components tab component list to a schematic

Schematic Editor 10-14

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Note

1.

The first time you place a component in a project, entries for it are added under
the Component trees Most Recently Used and Project Components
headings. To save time as your work progresses, you can place new instances of
a component by double-clicking these icons as well.

For security reasons, encrypted components are not saved in the Most
Recently Used list or the Favorites list.

2.

To ensure electrical connectivity among schematic elements, the pins of placed


components snap to a 100-mil (2.54-millimeter) grid. This snapping cannot be
turned off, and the spacing of the connectivity grid cannot be adjusted.

3.

To move an existing component, select and drag the component to a new


position. Wiring to the component is automatically adjusted, i.e., the wiring
follows the component. To retain the in-place wiring, hold down the Alt key
as you drag the component to a new position.

Warning

When dragging a component to a new position, if the wires attached to it make an


unintended connection, a red exclamation mark is displayed as a warning. The
figure below illustrates the red circles used to indicate where connections will be
made and the exclamation point warns that there may be a connection that is not
what you intended.

Schematic Editor 10-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Editing Component Parameters


Simplorer allows you to enter component parameter values in multiples of standard SI units such as
millivolts, nanoamperes, and kilometers - as well as in non-SI units such as pounds per square inch,
degrees Fahrenheit, and feet. Simplorer automatically performs all of the necessary unit
conversions, reducing the time needed to calculate component parameters.
Component parameters that are physical quantities can be assigned expected units of measure.
These default units are the ones associated with the parameters during simulation. In addition to the
expected (default) unit of measure, an additional set of units known as used units can also be
specified for the same physical quantity. For example, the amplitude of a force source may have an
expected unit of Newtons and a set of used units that includes pounds and dynes.
Note

Simplorer internal models have predefined default units for their parameters. Parameters
of user-defined models such as C-models and text macros can be assigned expected units
when they are created.

Schematic Editor 10-16

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

To display the editable parameters of a component, either right-click the component and select
Display Component Dialog on the pop-up menu, or simply double-click the component. A typical
component Parameters dialog box is shown below.

Schematic Editor 10-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

A components Parameters dialog box opens with its left-most tab selected by default; and with
the component instance Name selected.
Note

Simplorer automatically assigns a unique Name to each component instance you


place on a schematic.

If you choose to rename a component instance, do not duplicate the name of


any other component instance (e.g., R1 and r1). Duplicate instance names
result in netlist errors when attempting to compile a circuit prior to analysis.
The first character of a name must always be a letter.
Vowel mutations (e.g., umlauts) are not allowed.
Spaces are not allowed.

The parameters and associated units of measure shown in the component dialogs vary by
component. The dialog box may also contain additional parameter settings tabs - depending on the
component type. It also contains an Output/Display tab on which you can enable parameters as
outputs, and control how they are displayed on schematics.
Note

Component Properties dialog boxes also provide access and control of the
parameters shown in the Parameters dialog boxes.
You must use the Properties dialog boxes to edit parameters of components that do
not have a Parameters dialog box.

Use the various radio buttons, checkboxes, drop-down menus, and text boxes to edit parameter
values and - where applicable - to select the unit of measure. When new units for a components
parameters have been selected and the component is simulated, Simplorer automatically converts
quantities expressed in the used units to equivalent quantities of the default (expected) units. In
other words, component parameters can be expressed in units from different systems of
measurement, and the simulation still produces accurate results.
Use your mouse to move between fields, select radio buttons, and check and uncheck checkboxes.
You can also press the Tab key to move between fields, the SPACEBAR to check and uncheck
checkboxes, and the up- and down-arrow keys to select radio buttons. Press F1 to view detailed
information for a component and its parameters.
Parameter values can also be specified via input from an external component. To do this, check the
Use Pin box next to the desired parameter. The parameters value field is grayed-out to show that
the value of the parameter will now be determined by the component to which the pin is connected.

Schematic Editor 10-18

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

The Parameters Dialog Box Output/Display Tab


The Output/Display tab allows you to control:

whether or not a parameter pin is displayed.


whether or not a parameter may be swept.
whether or not a parameters values will be stored in the project database.
how parameters and their values are displayed on a schematic page.

Descriptions of the column headings for the Output/Display tab are as follows:

Name - Non-editable field listing the names of component parameters.


Description - Non-editable field that provides a brief description of the parameter.
Show Pin - Allows you to show (when checked) or hide a parameter pin.
Sweep - When checked, enables the parameter value to be swept during an analysis.
SDB - When checked, the parameter data is saved in the project database .sdb file.
Direction - describes whether a parameter is an Input or an Output.
Visibility and Location - Control the display and location of parameter information labels on a
schematic sheet. These settings are the same as those found on the Property Display Tab of a
components Properties dialog box.

Editing Component Properties


You can edit component properties using any of the following methods:

Properties window Click on a component to select it. The Properties window displays the
properties of the selected component on a series of tabs where they may be edited.
Properties dialog box Right-click a component and select Properties on the pop-up menu to
edit properties. In addition to the tabs available on the Properties window, the Properties dialog
also contains a Property Displays tab, which can be used to control the display of properties as
text labels on the schematic.
Note

If you select multiple components, only those properties common to all selected
components are shown in the Properties window or dialog box. Changes made to
any of these common properties will affect all selected components. For example,
you can use this feature to select and deactivate several components simultaneously.
Clicking the Show Hidden checkbox allows you to view hidden properties of the
component. Hidden properties contain system-defined values and rules for
interpreting predefined component parameters. Modifying hidden properties
requires specialized knowledge of the component, and is not needed for normal
operation.

In-place editing Double-click on a property that is displayed near the component to start an
in-place edit of the property value. You can also move the property text box by dragging it to
the desired location.

Schematic Editor 10-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Favorites and Most Recently Used Components


When the Schematic Editor is the active window, the Components tab in the Project Manager
window keeps track of the components that have been Most Recently Used. In addition, you can
create a Favorites list of components you use frequently.

To add a component to the Favorites list, right-click on the component in the listing, and then
select Add to Favorites from the pop-up menu.
Note

For security reasons, encrypted components are not saved in the Most Recently Used
list or the Favorites list.

To remove a component from the Favorites list, right-click on the component in the Favorites
list, then select Remove from Favorites from the menu:

Operations on Components
Right-clicking on a component or other object in the schematic selects the object and opens a
context menu. This menu contains the following Schematic Editor commands.

Properties opens the Properties dialog box for the selected component.
Show Component Dialog... opens the component Parameters dialog box for the component.
Add at unconnected pins adds either Page Connectors, Interface Ports, or Grounds to
unconnected pins of the component.
Cut deletes the selected component or wire segment, and retains a copy for pasting into a
Schematic Editor 10-20

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

schematic in the same application.

Copy creates a local copy for pasting into a schematic in the same application.
Delete deletes the component.
Rotate rotates the component 90 degrees counterclockwise. (See also Drawing Operations:
Rotate.)
Flip Vertical flips the component in the Y-direction. (See also Drawing Operations: Flip
Vertical.)
Flip Horizontal flips the component in the X-direction. (See also Drawing Operations: Flip
Horizontal.)
Bring to Front moves the selected object to the front of the drawing. (See also Drawing
Operations: Bring to Front.)
Send to Back moves the selected object to the back of the drawing. (See also Drawing Operations: Send to Back.)
Activate restores a deactivated component to the circuit.
Deactivate (Open) temporarily converts the component into an open circuit. This is displayed graphically with a red X over the circuit element.
Deactivate (Short) temporarily converts the component into a short circuit. This is displayed
graphically with a circled red X over the circuit element.
Edit Component lets you edit the component using the Component Editor.
Edit Symbol lets you edit the component symbol using the Symbol Editor.
Copy as New Design lets you copy hierarchical designs (subcircuits) such that the pasted
copy is independent of the original source design. This menu item is also present in the context
menu for a subdesign in the Project Manager tree. (See also: Copying a Simplorer Design into
Another Design)
Edit Model lets you edit the component model using the appropriate model editor: SML
Model Editor, VHDL-AMS Model Editor, C-Model Editor, SPICE Model Editor. The message manager informs you if the model is not editable.
Alternatively, you can open the model for editing by right-clicking the model symbol in the
Project Manager Project tab, and selecting Model from the context menu

Push Down moves down one level in the project design.


Pop Up moves up one level in the project design.
Quick Probe inserts a 2D rectangular plot-on-schematic of a parameter in the list of defined
outputs for the component. Quick Probe first looks for V if it exists, then I, and then the first
quantity not starting with a lower case d, then the first quantity (in that order).
Probe inserts a 2D rectangular plot-on-schematic of a component parameter chosen from a
list of defined outputs for the component. Default parameter types can be selected on the Schematic Editor Options>Simplorer tab.
Copy to Clipboard creates a global copy on the clipboard for pasting into a different application.
Schematic Editor 10-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Paste puts the local object from the previous copy or cut into the schematic.
Print prints the schematic in the active window.
Zoom In decreases the area of the schematic in the view.
Zoom Out increases the area of the schematic in the view.
Zoom Area lets you specify the new view area by clicking to specify the upper left and
lower right corners.
Fit Drawing changes the view to include all the objects currently present.

Right-clicking a component in the Components tab of the Project window opens a menu
containing the following commands:

Add to Favorites adds the component to your list of frequently-used components (see
Favorites and Most Recently Used Components).
Place Component attaches the component symbol to the cursor for placement in the schematic.
Edit Component opens the Component Editor dialog (see The Edit Component Dialog Box
in the Component Libraries topic for details).
View Component Help opens the on-line help topic for the component.

Characteristics in Simulation Models


Some components use characteristics to specify their model properties. Characteristics allow a user
to create a unique transfer relationship between the output and input of a model. The user-defined
characteristic curve can have virtually any shape, however, it must be monotonic in X-value.
Component types that use characteristics include: nonlinear passive components, nonlinear
sources, system-level semiconductors, nonlinear transfer blocks, and nonlinear DC machines.
Simplorer provides the means to use both predefined and user-defined characteristics.
Predefined characteristics are located in the Basic Elements>Tools>Characteristics folder on the
Project Manager Components tab.
User-defined characteristics can be assigned to a component via a component dialog itself, or via
separate characteristic components such as the 2D and Multidimensional Lookup Table
components. You can also enter characteristics data directly into datasheets, or import data from a
separate .mdx, .mda, .mdk. .mdb, .xls, .txt, .csv, .out, .cfg, or .dat file.
User-defined characteristics can also be generated using the SheetScan tool, which can be used to
render a characteristic curve graphic into a simulator-legible format.

Characteristics in Component Dialog Boxes


To define a characteristic directly in a components dialog box, click the Characteristic button.
This button is only available for components that exhibit nonlinear behavior such as nonlinear
passive elements, sources, etc.

Schematic Editor 10-22

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

When the Characteristic dialog box opens, select either an internal or external reference option for
the characteristic. Internal references include Component references and Datasets. External
references can be to variables or an external data file.

Characteristic Reference via Separate Component


To define a characteristic by name reference to a external component in the dialog of a component,
select the Internal Reference option. Then select Component and enter the name of the qualifier
of the external component (e.g. XY1.VAL) in the text box. The characteristic reference cannot be a
number or expression. It must be _Empty or the VAL output of a characteristic component such as:
XY, EXP, HYP, CDI, CSP, EQUL, PO2; or the VAL array element of NDNL, NDTAB, or NXMY.
Note

If you attempt to enter an invalid reference, an error dialog box displays informing you
of the invalid entry, and recommending possible remedial actions.

If you attempt to enter an invalid reference, an error dialog box displays informing you of the
invalid entry, and recommending possible remedial actions.
This reference may also be accomplished using a pin. To do this, check the Use Pin box in the
component's dialog rather than opening the Characteristic dialog. The pin to connect the external
component becomes visible on the sheet.

Characteristic Reference via Datasets


If datasets are already defined in the project, they can be selected from the drop-down list. Use the
Datasets button to open the Datasets dialog box where you can add, edit, and import datasets. The
SheetScan tool can also be used to define characteristic datasets from images of datasheets.

Characteristics in Files
To define a characteristic using an external file, select the option External Reference, and then
select File Name. You may then browse to the external file using the available buttons.

Schematic Editor 10-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Using Pins
Pins are graphical connectors for linking nodes or parameters with a wire. There are two different
pin types: conservative nodes (also referred to as terminals) and non-conservative nodes (which
include parameters, inputs, and outputs).
Conservative

Non-conservative

Conservative pins belong to components of physical domains (electrical,


fluidic, magnetic, mechanical, thermal). Each conservative pin has a
nature type such as: electrical, thermal, or fluidic assigned to it.
Conservative pins have no direction attribute.
You can connect only pins with the same nature type directly.
To connect pins of different natures use the Domain-to-Domain (D2D)
component located in the Tools>Nature Transformation library.
Non-conservative pins can belong to circuit as well as block diagram and
state graph components. Non-conservative pins represent many different
data types. The frequency and phase of a voltage source, or the spring rate
of a spring are examples of data types.
Non-conservative pins can have one of the following direction attributes:
IN, OUT, or IN/OUT.
You can connect only pins of the same data type directly.
To connect different data types, OmniCaster components, located in the
Tools library must be used.
Non-conservative pins can be displayed or hidden. If you hide a
component pin, you can define the connection through a name reference.

Displaying and Hiding Pins


When an instance of a component has been placed on a Schematic sheet, you can show or hide its
conservative or non-conservative pins via its Properties dialog.
1.

To open the Properties dialog of an instance of a component, right-click it and choose


Properties from the context menu.

2.

Once the Properties dialog is open, select the Quantities or Signals tab. These tabs contain a list
of all of the component's pins.

3.

To show a pin, select the Show Pin check box for the desired pin. To hide a pin, deselect the
check box.

Note

4.

The Show Pin check boxes are disabled for pins that cannot be displayed. Connections to
hidden pins can be defined via a name reference.

Click <Apply>. All selected parameters and nodes receive a pin on the sheet.

Schematic Editor 10-24

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Names at Pins
The Property Displays tab controls the display of component properties associated with pins on the
schematic. Displayed properties appear as text labels on the schematic.

Connecting Components
Components on a sheet can be connected using wire mode or by dragging one pin of a component
over another pin of the same type.
Warning

By default unconnected component pins (terminals) will generate errors (displayed


in the Message Manager) when a netlist is generated. Simulation is not possible
until the errors are corrected.
You can change this default component behavior Using the Component Editor so
that either No Action is taken when unconnected terminals are netlisted; or that
unconnected terminals automatically are Grounded.

Note

Direct connections between interface ports, or between an interface port and ground, are
not allowed

Connections (wires) for the various domains are distinguished by default colors. For example,
green for hydraulic, orange for magnetic, black for electrical, etc. Connections between different
domains are blue. These default colors can be set on the Colors tab in the Schematic Editor Options
dialog box.
To start drawing a wire, do one of the following:

On the desktops Draw menu, click Wire.


Press Ctrl+W on your keyboard.
Click the desktops Wire icon

Move the mouse cursor over a component pin to display the X-shaped wiring cursor:

Wiring Start

To draw connections:
Schematic Editor 10-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Click at the point where you want the wire to start, and move the cursor to extend the wire. As
you move the cursor, click wherever you want to turn a corner.

To stop drawing a wire, do one of the following:

Click, if the wire ends at a port or component pin.


Double-click, if the wire does not end at a port or component pin.
Press the SPACEBAR on your keyboard to terminate the wire operation and leave the net
unselected.
Press Enter on your keyboard to terminate the wire operation and leave the net selected.
Right-click, and then select Place and Finish.

Wiring Finish

Selecting a Wire
Although you may draw a wire that includes bends in a single operation, Simplorer treats each
portion of a wire between bends as a separate segment during selection operations.

To select a single wire segment, click it.


To select all segments of a wire (net), press and hold Shift and Ctrl while clicking any of its
segments.
To select multiple wire segments, contiguously or otherwise, press and hold Ctrl while clicking
each segment in turn.
To cancel a selection, click outside it in the schematic window.

Related Topics
Removing Unconnected Wires

Displaying Wire Properties


To display the properties of a wire, double-click it. Its Properties dialog appears.
NetName and PinCount are two wire properties of particular interest.

NetName is the name of the unique interconnecting node, or net, a wire represents. NetNames
correspond to the node names shown in the schematics corresponding circuit file, or netlist.
PinCount reflects how many component pins a wire interconnects, with one exception: Port
connections (interface and ground) are listed separately and thus are not included in PinCount
Schematic Editor 10-26

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

values. A wire connecting a port and three component pins will therefore have a PinCount of 3.

Related Topics
Removing Unconnected Wires

Checking Connectivity
The Electric Rule Check (ERC) feature checks the circuit for valid connectivity. ERC automatically
conducts rule checking for ports, connections, dangling (unconnected) wire segments, and
components of the active schematic.
1.

To test for connectivity, select Schematic > Electric Rule Check to open the Electric
Rule Check dialog.

2.

Select Check subcircuits to run the electric rule check on subcircuits of the active
schematic display

3.

Click Run ERC to begin the error check

4.

If an error is displayed in the Results window double-click the error message or select the
message and click Goto Error to go directly to the object in the Schematic Editor that
caused the error.

5.

Click Copy Results to Clipboard to copy the Results text to the clipboard for pasting
into another application such as an e-mail program.

6.

When finished, click Close to exit the dialog.

Related Topics
Removing Unconnected Wires

Removing Unconnected Wires


In addition to deleting unconnected wire segments by selecting them individually, the Remove
Unconnected Wires command provides a way to remove from a schematic all unconnected wires.

To remove all unconnected (dangling) wires and net segments from a schematic, select
Schematic>Remove Unconnected Wires.
Note

Merged nets (two or more nets with the same name) are not removed.

Related Topics
Selecting a Wire
Displaying Wire Properties

Nets, Buses, and Bundles


A net or node is a single wire segment or a connected set of wire segments. A node name can
contain any alphanumeric characters except the space ( ), ampersand (&), and asterisk (*). See
Wiring Components.
Buses and bundles are ways to name multiple related wires, pins, and ports conveniently. This
section presents the rules for using bus and bundle wire names, and for the separation of sets of
connected wire segments into different wires based on different names.
Schematic Editor 10-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Bus Format
A bus is a collection of schematic wires that are indexes of a base name, e.g., Data[0-31]. A bus is a
schematic concept only. In the circuit and layout, all signals are individual.
A bus name consists of :

A base name. A base name can contain any alphanumeric characters except the space ( ),
ampersand (&), and asterisk (*).
A square or angle open bracket ([, <]
A number, a range of numbers specified with a hyphen or colon (n1-n2 or n1:n2), or a
comma-separated list of numbers or ranges.
A square or angle close bracket

Here are two examples:


DATA[1:5] \\ A bus with five signals
inputbus[1,3-5,11-22] \\ A bus with 15 signals

Bundle Format
A bundle is a collection of schematic wires including individual wires and buses, e.g., A,B,C[7-0].
A bundle is a schematic concept only. In the circuit and layout, all signals are individual.
A bundle name consists of a comma-separated list of single wire names and/or bus names. For
example:
DATA[1-5],node5

Creating a Bus or Bundle


To create a bus or a bundle, select Draw > Wire to first create a wire, then change the wires name
to specify more than one signal, in either bus or bundle format. The width of the wire will change to
a wide appearance when the number of signals is more than one.

When a bus or bundle is copied and pasted, its name is lost and it becomes a single-signal
wire.
Drawing a wire by starting at a bus or bundle vertex will extend/add segments to the bus
or bundle.
Drawing a wire by ending on a bus or bundle will extend or add segments to the bus/bundle, unless the wire started at a named wire, bus or bundle. If it started at a named wire,
that named wire will be extended, and it will connect to the bus or bundle if the bus or
bundle contains the signal(s) in the named wire.

Deleting Wire Segments from a Bus or Bundle


Deleting one or more wire segments will result in the remaining segments of the wire being
assembled into connected sets (based on physical and port connections) with each unique set being
an independent wire. Only one of the sets will retain the original name. The others become singlesignal wires with automatically assigned names.

Schematic Editor 10-28

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Naming a Wire in a Bus or Bundle


Selecting one or more connected segments of an existing wire and assigning a name results in the
following:

The wire is broken into sets as if the newly named segment(s) had been deleted. One set
retains the original name. The selected segments become a new wire and are assigned the
new name. The new name will spread to connected segments that are automatically
named, or that have fewer signals than the new name, and those segments will be added to
the new wire. Several different wires may result from this operation, each having a different name.
Thus, renaming a segment of bus A[0-3] to A[7-0] will rename the entire wire. Renaming
a segment of bus B[31-0] to B[0-63] with a sub-bus connected to it, B[16-31], will rename
the connected segments of B[0-31] but will not rename the sub-bus, since it is a separate
wire. Renaming the end segment of wire A[0-31] to A[0-15] will make that end segment
into a sub-bus that is a different wire than A[0-31].
If a wire with one or more pageports attached is renamed to a different width, the wire will
follow naming rules, and any pageports physically attached will also be renamed.

Naming a Pin or Port on a Bus or Bundle

The name of a pin or port can be a simple signal name, or can specify multiple signals
through bus or bundle format.
Changing the name of a port will change the name of attached wires.

Connections using Buses and Bundles

Connections between wires, between pins and ports, and between wires and pins/ports
depend on widths and names.
Wire to wire connections are made if one wire contains the signals of the other. Thus, a
wire A[0-7] would have 4 signals electrically connected to physically connected wire A[74], namely A[4], A[5], A[6] and A[7]. A bundle A,B,C would have one signal electrically
connected to physically connected wire A. A wire A,B,C,D would have two signals connected to physically connected wire C,D,E,F. (Refer to Drawing Bus Entry Objects for
information on adding visual representations of bus connections between a bus and individual wires.)
Wire to pin or port connections are determined by the number of signals in the wire and
pin/port. If the numbers of signals are the same, electrical connections are made in order.
If the widths are different, there is no connection.
Pin/port to pin/port connections are identical to wire to pin/port connections. If the widths
are the same, all signals are connected in order. If the widths are not the same, none are
connected.
Changing the name of a wire that is attached to a pin, a port, or another wire may cause
connections to be made or broken, based on the considerations above.

Schematic Editor 10-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Grounding Buses and Bundles


A bus or bundle can be grounded by renaming it with zeros. For example, to ground a bus named
A[0:2], you would name it as 0,0,0.

Drawing Bus Entry Objects


The Draw>Bus Entry object menu command provides the user a way to add visual representations
of connections from a bus to an individual net or a sub-bus. On a schematic, a bus may be shown
with individual nets (wire) or with wires where the bus width is greater than 1 (drawn with a thick
blue line). The Bus Entry object provides a mechanism for visually representing individual wires
connected to a bus consisting of multiple nets as shown in the example below. In this example, the
P1[0:5] bus is visually connected to individual wires via the bus entry objects (the diagonal red
lines).

Schematic Editor 10-30

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Note

Bus Entry objects provide only a visual representation of connections on the


schematic - not actual connections. The user still must ensure that connectivity is
maintained by properly naming the wire segments drawn out of a bus.
Because they are merely visual representations of connections, Bus Entry objects
have no significance or effect on the actual circuit, and thus do not appear in the net
list or in any results.
Bus Entry objects can be used to show connections to nets of any width and any
domain.
Both ends can only be attached to nets and cannot be directly attached to other pins
or ports.

To add bus entry objects to an existing schematic containing a bus:


1.

Add a bus to the schematic by drawing a wire and naming it as a bus. For example:
DataBus[0:2].

2.

Place a Bus Entry from the Draw menu such that one end intersects the bus.

3.

Draw another wire from the other end of the Bus Entry object.

4.

Rename this new wire as DataBus[0] to use that element of the bus as the individual net.

5.

Repeat as needed for the remaining bus elements.

Disconnects
A disconnect is a circular visual indicator at the pin of a bus entry object. Its presence indicates that
two nets though visually connected through the bus entry object are actually disconnected as
indicated by the differing names.
If a bus entry has both pins connected to two different nets (which can be of different sizes) and if
neither of the named nets are a subset of the other named net, a disconnect circle will be drawn.

Schematic Editor 10-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

The figure above shows a bus named Bus[0:5], which has five nets that are branched out through
bus entry objects. Three nets are named properly as: Bus[0], Bus[2] and Bus [3]. However two nets:
net_3 and net_6 are not connected to the bus by name - and thus are shown drawn with circular
disconnect objects.

Net and Bus Auto-Naming


Selected wires can be named as a group with either bus-style names (e.g., A[0]) or net-style names
(e.g., W1), using the Auto-Name Wires dialog.
1.

In the Schematic Editor, select the wires to be auto-named.

2.

Then click on Schematic in the top menu bar and select Auto-Name Wires (

).

Schematic Editor 10-32

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

The Auto-Name Wires dialog box opens.

3.

Adjust the Bus name setup or Net name setup, depending on which naming style you want to
use.

4.

Toggle Display name off if you do not want the wire names to display on the schematic.

5.

Select the direction for applying the names to the selected wires.

6.

Click the desired Apply button to set the names of the selected wires.

7.

Click Close to end the dialog.

Placing Ports
The following types of ports are available in Simplorer: interface, ground, global, and page.

An interface port serves as a connector into or out of a given design, and may contain termination and signal source definitions. The names of interface ports must be unique within a given
design but may be duplicated from design to design.
All ground ports connect to the reference or ground node, node 0.
A global port serves as a means of common connection in effect, a connection to a bus
within a given design, across hierarchical levels. You can define one or more circuit nodes to
connect to global ports that cross hierarchy and schematic page boundaries. Within a design,
all global ports with the same name are treated as if they are connected. The nature of the port,
electrical, fluidic, thermal, etc., is determined by the first connection made to the port. Once a
global port has a specific nature, additional connections in the same or other levels of hierarchy
can only be made to pins of that nature.
A page port (connector) serves as a named connection to a signal that is common to two or
more pages of the schematic.

Schematic Editor 10-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

The ports described in the next several topics are available from the Draw menu of the Schematic
Editor, and via toolbar icons as shown below:

Global Port

Page Port Connector


Interface Port
Ground Port

Interface Ports
Ground Ports
Global Ports
Page Connector

Interface Ports
Interface ports provide connectivity between different levels of hierarchy and serve as named
connectors in or out of a design. The interface port parameters specify the port name, its
impedance, a reference node, and (optionally) one or more power, current, or voltage source
specifications.
An interface port can have a source associated with it that provides excitation when the parent
circuit is not part of the simulation. When a parent is simulated, port sources in a subcircuit have no
effect and communication occurs between the parent and the child through the port. When the
subcircuit is simulated directly, rather than as part of a parent simulation, excitation at ports (if any)
is provided by port sources.
Similarly, a conservative interface port may have a sink associated with it. This may be a ground
reference or an impedance (to ground). These have no effect when a parent is simulated, but are
part of direct simulation of the subcircuit.
For conservative ports, the available sources and impedances depend on the port's nature. Refer to
Simplorer Options: Port Options Tab for detailed information on setting up lists of port source and
impedance components.

Related Topics
Renaming an Interface Port
Setting Interface Port Properties

Placing Interface Ports


To place an interface port, select the schematic that will contain it. Then do one of the following:

On the Draw menu, click Interface Port.


On the Schematic Draw toolbar, click the Interface Port icon

Schematic Editor 10-34

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

The cursor, now associated with an interface port symbol for placement, moves to the center of the
schematic window. To place the port, click at the desired location.
Hint

You can rotate an interface port before placing it by repeatedly pressing R on your
keyboard. Each press rotates the port 90 counterclockwise. After placement use Ctrl+R
to rotate the port.

If Multiple Placement is turned on for interface ports in the Schematic Options dialog box, you can
place additional ports by clicking at additional locations. To stop placing interface ports, do one of
the following:

Press Enter, the SPACEBAR, or Esc on your keyboard.


Right-click, and then select Place and Finish, Finish, or Cancel.
Note

To ensure electrical connectivity among schematic elements, the pins of placed interface
ports snap to a 100-mil (2.54-millimeter) grid. This snapping cannot be turned off, and
the spacing of the connectivity grid cannot be adjusted.

Note

Direct connections between interface and/or global ports, or between an interface or


global port and ground, are not allowed. Attempting to do produces cautionary messages
in the Message Manager.

Note

Unconnected interface ports automatically adjust to the domain they are being connected
to in the sub-circuit. However if the corresponding top-level pins in the parent circuit are
wired, then automatic adjustment does not occur, in which case domain conversion is
applied instead.

Adding Interface Ports at Pins


You can add an interface port directly to a components unconnected pins by right-clicking on the
component and selecting Add at unconnected pins>Interface Ports from the shortcut menu.
Alternatively, select Add at unconnected pins>Interface Ports from the Draw menu to add
interface ports to the currently selected component(s).

Related Topics
Renaming an Interface Port
Setting Interface Port Properties

Renaming an Interface Port


Each interface port you place also appears as a Port object in the Ports folder under the selected
designs icon in the project tree. The name of the port is the same as the name of the node or net to
which it is connected. Node names of the form net_n are automatically generated during the
wiring operation, but they can be renamed.
To rename an interface port, select it by doing one of the following:

Right-click its icon in the project tree, and select Edit.


Schematic Editor 10-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Right-click its schematic symbol, and select Properties to open its Properties dialog.
In the Properties window, Click on the port name button in the Port Name field to open
the Interface Port Name dialog box. Enter the desired name (including a bus name), then
click OK. The Properties window reflects the new name. Note that the port number
(pnum) does not change.

If the port is placed so that it connects to an existing node, the node is renamed to the name of
the port (even if the node was manually renamed by the user). You can also change a port
name attached to a node by selecting the node and clicking on the node name in its property
window. A Net Name dialog box similar to the one above opens for you to specify a new
name. Changing the net name changes the names of any ports attached to that node.
If you name a port the same as an existing net, the two nodes are merged into a single node
with that name. A dialog box appears for you to confirm the merge operation.
If you delete an interface port, the node to which it was attached is renamed to a systemdefined name (net_n).

Related Topics
Nets, Buses, and Bundles

Setting Interface Port Properties


1.

Select the port and either double-click the port symbol, or right-click on the port symbol and
select Edit Port. you can also right-click the port icon in the project tree and select Edit.
The Port Properties dialog box opens.

2.

You can specify a Port Name (including a bus name), and set Terminal Attributes by selecting from the following drop down menus:

Domain Conservative, Quantity, Parametric, Signal


Type Conservative Domain types (or natures): Electrical, Magnetic, Fluidic, Translational, Translational_Velocity, Rotational, Rotational_Velocity, Radiant, Thermal,
Compressible_Fluidic.
Quantity or Parametric Domain type: real.
Signal Domain types: bit, std_logic.

Direction Present when the Domain is Quantity, Parametric, or Signal. Choices


are: In, Out, InOut. The interface port symbol contains a red-filled triangle for In, a
blue-filled triangle for Out, and both red and blue-filled triangles for InOut.
Port Value Present when the Domain is Quantity, Parametric, or Signal. Enter a
port value.
If Unconnected Present when the Domain is Conservative. Choices are: No action,
Flag as error, Unique net, Grounded.

If the Port Name designates it as a bus port, you can also choose:

Common Attributes when checked, assigns the same Terminal Attributes and
Port Source or Impedance to all Bus Elements.
Schematic Editor 10-36

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

3.

Bus Element - drop down list allows unique Terminal Attributes and Port Sources
or Impedances to be assigned to individual bus elements.

You can specify a Port Source or Impedance for conservative ports by selecting the appropriate radio button: None, Source, or Impedance. Similarly, you can specify a Port Source for
non-conservative ports by selecting the Source radio button.

The Source dropdown contains a list of source components appropriate to the nature
(shown in the Terminal Attributes Type field) of the port.
Similarly, the Impedance dropdown shows appropriate impedance components.
The lists of available source and impedance components are set up in the
Tools>Options>Simplorer Options dialog, Port Options tab.
The Properties buttons open the special component dialog for the selected component, allowing complete specification of the elements properties.

The instance name of a port source has the form: <port name>_source_<comp name>. For
example, if you place an interface port named Port2 and select a voltage source E as its port
source, the instance name for this port source would be: Port2_source_E. Similarly, the name
of an port impedance would be <port name>_impedance_<comp name>. Instance names for
port sources and impedances cannot be modified, and the Output/Display tab on the special
component dialog is disabled.
Icons for defined port sources and impedances appear in the Project Manager tree under the
ports with which they are associated.

Double-clicking a port source or impedance icon opens the associated component dialog for
editing. Right-clicking an icon allows you to delete the instance.
4.

When finished setting port properties, click OK.

Related Topics
Nets, Buses, and Bundles
Schematic Editor 10-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Simplorer Options: Port Options Tab

Global Ports
A global port serves as a means of common connection in effect, a connection to a bus within a
given design, across hierarchical levels. You can define one or more circuit nodes to connect to
global ports that cross hierarchy and schematic page boundaries. Within a design, all global ports
with the same name are treated as if they are connected.
The nature of the port, electrical, fluidic, thermal, etc., is determined by the first connection made
to the port. Once a global port has a specific nature, additional connections in the same or other
levels of hierarchy can only be made to pins of that nature.
Note

Direct connections between interface and/or global ports, or between an interface or


global port and ground, are not allowed. Attempting to do produces cautionary messages
in the Message Manager.
Bringing in a model with global variables or ports will generally add those variables or
ports to the project or design, unless they are already present. If a model's global port has
one nature and a same-named global port in the target design has another, the model (and
referencing component) will be rejected with an error message.
Similarly, pasting a design into another may cause a similar conflict and will be also
rejected with an error message.

To place a global port, select the schematic that will contain it. Then do one of the following:

On the Draw menu, click Global Port.


On the Schematic Draw toolbar, click the Global Port icon

The cursor, now associated with a global port symbol for placement, moves to the center of the
schematic window. To place the port, click at the desired location.
Hint

You can rotate a global port before placing it by repeatedly pressing R on your
keyboard. Each press rotates the port 90 counterclockwise. After placement use Ctrl+R
to rotate the port.

If Multiple Placement is turned on for global ports in the Schematic Options dialog box, you can
place additional ports by clicking at additional locations. To stop placing global ports, do one of the
following:

Press Enter, the SPACEBAR, or Esc on your keyboard.

Right-click, and then select Place and Finish, Finish, or Cancel.


Note

To ensure connectivity among schematic elements, the pins of placed global ports snap
to a 100-mil (2.54-millimeter) grid. This snapping cannot be turned off, and the spacing
of the connectivity grid cannot be adjusted.

Schematic Editor 10-38

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Note

Direct connections between interface ports and/or global ports, or between a global port
and ground, are not allowed.

Renaming a Global Port


Each global port you place also appears as a Port object in the Ports folder under the selected
designs icon in the project tree. Port names of the form G_n, where n is an integer, are
automatically generated when placing them; but they can be renamed.
The name of a global port cannot be changed to 0 (which is reserved for ground ports) and the
name of a ground cannot be changed to something else. A ground port is a special example of a
global port, and it serves as reference for any or all natures.
To rename a global port, select it by doing one of the following:

Right-click its icon in the project tree, and select Edit.


In the Properties window, click on the port name button in the Port Name field to open
the Global Port Name dialog box. Enter the desired name, then click OK. The Properties
window reflects the new name.
Right-click its schematic symbol, and select Properties to open its Properties dialog.

The terminal attributes of the global port shown in the dialog are determined from the connections and are provided for informational purposes.

Page Connector
A page connector serves as a named connection to a signal that is common to two or more pages of
the schematic. Page connectors thus serve as graphic reminders that a signal may be present on

Schematic Editor 10-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

elsewhere on the page, or on another page. Any node with a given name (system-generated or userdefined) is automatically connected across all pages that reference it.
Note

When translating legacy schematics having wires that are too close to pins to which they
are not connected, page connectors are added to the pins on the translated schematic to
maintain proper connectivity.

To place a page connector in the schematic:


1.

Click on the Page Connector icon


in the Schematic Editor menu bar. (Alternatively,
click Page Connector on the Draw pulldown menu.)
The cursor, carrying a page connector symbol for placement, can be moved to the schematic
window.

2.

To place a page connector, click the desired location on the schematic.


Hint

You can rotate a page connector before placing it by repeatedly pressing R on your
keyboard. Each press rotates the page connector 90 counterclockwise. After placement
use Ctrl+R to rotate the page connector.

By default, the port is named Pageport_n, where n is an arbitrary integer.


The name of the connector is the same as the name of the node or net to which it is connected. Node
names of the form net_n are automatically generated during the wiring operation, but they can be
renamed by clicking on the wire and then clicking on the PortName in the Parameter Values tab.
If the connector is placed so that it connects to an existing node with a system-assigned name
(net_n), the node is renamed to the name of the port. If the node was manually named by the user,
the node retains its user-defined name and the page connector gets that name.
To rename a connector (and the node to which it connects):
1.

Click on the connector to select it and view its properties in the property window.

2.

Click on the connector name in the PortName field to open the Page Port Name dialog box:

3.

Enter the desired name, then click OK.

The Properties window reflects the new name.


You can also change a connector name attached to a node by selecting the node and clicking on the
node name in its property window. A Net Name dialog box opens for you to specify a new name.
Changing the net name changes the names of any connectors attached to that node.
If you name a connector the same as an existing net, the two nodes are merged into a single node
with that name. A dialog box appears for you to confirm the merge operation.
If you delete a page connector, the node to which it was attached retains the name it had before the
delete, either system-defined or user-defined.

Adding Page Connectors at Pins


You can add a page connector directly to a components unconnected pin by right-clicking on the
pin and selecting Add at unconnected pins>Page Connectors from the shortcut menu.

Schematic Editor 10-40

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

Alternatively, select Add at unconnected pins>Page Connectors from the Draw menu to add
page connectors to the currently selected component(s).

Ground Ports
A ground port serves as a connection to the reference or ground node, node 0 in Simplorer circuit
designs. Ground ports cannot be renamed.
To place a ground:
1.

Select the schematic that will contain it.

2.

On the Schematic editor menu bar, menu, click the Ground icon
Ground on the Draw pulldown menu.)

. (Alternatively, click

The cursor, carrying a ground symbol for placement, can be moved to the schematic window.
3.

To place a ground, click the desired location on the schematic.


Hint

You can rotate a ground before placing it by repeatedly pressing R on your keyboard.
Each press rotates the ground 90 counterclockwise. After placement use Ctrl+R to
rotate the ground.

Simplorer supports multi-domain grounds for conservative pins and nets. Based on the type of
net connection, Simplorer automatically changes to the appropriate ground symbol and net
(wire) color. For example, the net (wire) color for hydraulic connections is green and the
default hydraulic ground symbol is
.
If two domains are merged on a common ground, the net connection defaults to the normal
blue color and the default ground symbol
.
Net connection colors and ground symbols revert to the appropriate states when the merged
domains are separated by deleting the connecting wires.
If Multiple Placement is turned on for grounds in the Schematic Options dialog box, you can place
additional grounds by clicking at additional locations.
To stop placing grounds during multiple placement, do either of the following:

Press Enter, the SPACEBAR, Backspace, or Esc on your keyboard.


Right-click, and then select Place and Finish, Finish, Cancel, or Back.
Note

To ensure electrical connectivity among schematic elements, the pins of placed grounds
snap to a 100-mil (2.54-millimeter) grid. This snapping cannot be turned off, and the
spacing of the connectivity grid cannot be adjusted.

Selecting a Ground Symbol


Several symbols are available to represent a ground node. To select a symbol other than the default:
1.

Double click on the ground symbol to open the Properties dialog box.

2.

Select the Symbol tab.

3.

Click on the Value field for GlobalPortSymbol to display a pulldown with the symbol

Schematic Editor 10-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

choices.

4.

Select a symbol and click OK to close the Properties dialog box.


The new symbol is displayed in the schematic.

Note

All of the global port symbols except the defaultglobalport symbol can be edited in the
Symbol Editor (part of the Library Editor).

Adding Ground Connectors at Pins


You can add a ground connector directly to a components unconnected pin by right-clicking on the
pin and selecting Add at unconnected pins>Grounds from the shortcut menu.
Alternatively, select Add at unconnected pins>Grounds from the Draw menu to add grounds to
the currently selected component(s).

How Ports Affect Node Names


When you connect a port to a node or net, the net name changes to that of the port. The rules for net
renaming depend on the kinds of ports attached to the node. The precedence for port types is global
ports > interface ports > page ports.

Global Ports

If a global port is attached to a net, the net name is the global port name, and all connected
page ports have that name as well.

Interface Ports

If an interface port is attached to a net, the net name is the interface port name, and all conSchematic Editor 10-42

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

nected page ports have that name as well.

If more than one interface port are attached to a net, the net name is the first interface port
name.

Page Ports

If a page port is attached to a net (but no interface ports), the net name is the page port name.
If more than one page port is attached to a net, they will all share the same name.

Adding Ports

If a global port is added to a net, the name of the net and page ports on the net are changed to
the global port name.
If an interface port is added to a net the name of the net and page ports directly connected are
changed to the interface port name.
If a page port is added to a net (without any interface ports) the name of the net and pageports
directly connected are changed to the page port name.

Changing Node Names


You can change the name of a node (net) in the schematic by double-clicking it to open its
Properties dialog box, then clicking on the Value field for the Name property. Click OK to apply
the new name.
Here are some guidelines to keep in mind when changing the name of a node:

Net names may not contain spaces, ampersands (&), or asterisks (*).
When you try to change an interface port name to that of an existing net, the existing net of the
same name as the new port name will be connected to the new ports net. A dialog box appears
so that you can resolve the name conflict by splitting the net into two nets, or allowing the nets
to remain connected.
When you try to change an interface port name to that of an existing net, the existing net of the
same name as the new port name will be connected to the new ports net. A dialog box appears
so that you can resolve the name conflict by splitting the net into two nets, or allowing the nets
to remain connected.
When you try to change a page port name to that of an existing net, the existing net of the same
name as the new port name will be connected to the new ports net. A dialog box appears so
that you can resolve the name conflict by splitting the net into two nets, or allowing the nets to
remain connected.
If an interface port name is changed, the name of the net it is attached to and any connected
page ports are changed.
If a global port name is changed, the name of the net it is attached to and any connected page
ports are changed.
If a page port name is changed, the net is examined to see what is physically connected. Wires
and pins that are directly attached to the renamed page port are connected on the net with the
page port. If there is another net with a page port of the new name, the page port and directly
Schematic Editor 10-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Simulation Models Using the Schematic

connected objects are connected to that net. If there is no such other net, the page port and
directly connected objects become their own net.

If a net name is changed, the ports on the net that had the same name as the old net name will
be changed to the new name.

The Effect of Deleting Ports

If a global port is deleted from a net, the name of the net is determined by the remaining global
or interface ports, or becomes a new unique name.
If an interface port is deleted from a net, the name of the net is determined by the remaining
interface ports, or becomes a new unique name.
If a page port is deleted from a net, the name of the net is determined by the remaining interface ports, or becomes a new unique name.

Schematic Editor 10-44

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Finding Elements in the Schematic Editor

Finding Elements in the Schematic Editor


To find one or more elements in the Schematic Editor:
1.

On the Edit menu, click Find Elements. This opens the Find Elements dialog.

2.

Click on the Property field to open a pull-down menu that displays the element properties
to search for and select the desired property.
Buttons allow you to add and remove search properties in the table.

3.

Click on Criteria field to open a pull-down menu and select the desired search criteria.

4.

Enter a search string for the Property in the Value column. Wildcards * and ?can be
used in searches. For example, searching the Refdes property for R? with Match any of
the following and Contains criterion would find R1 and R2, but not C1.

5.

You can further control a search using the following controls:

Check a Filter box to include element types (Components, Nets, Graphics, or Ports)
in the search.
Check an Option box to vary the scope of the search.

6.

Choose Match all of the following to restrict the results to elements that meet all of the
specified search requirements. Choose Match any of the following to match elements
that meet any of the search requirements.

7.

Click Find to initiate a search.


Schematic Editor 10-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Finding Elements in the Schematic Editor

Search results are displayed in the Results window of the Find Element dialog and highlighted on the schematic circuit or subcircuit. Clicking on an individual search result entry
highlights that particular circuit or subcircuit element in the Schematic Editor.

Schematic Editor 10-46

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Selecting Elements

Selecting Elements
You can select components, wires, and primitive drawing elements for various operations, such as
rotation or deletion, in any of the following ways:

To select a single element (component or wire segment) in the Schematic Editor, place the cursor over the element and click to select it. Click again anywhere in the schematic window to
deselect the object.
To select multiple elements, hold down the Ctrl key while clicking the elements. To deselect
one of the multiple elements, hold down the Ctrl key and click on the element. To deselect all
selected elements, click anywhere in the schematic window.

When you move a selected component, connected wiring normally stays attached to the
component.

To move a component and break its connections, hold down the Shift and Ctrl keys, hold down
the left mouse button on the component, and then drag the component to its new location.
To select all connected segments of a wire (also called nets), hold down the Shift and Ctrl
keys, and then click on any segment of the wire. If instead of clicking, you hold down the
mouse button, you can drag the wire segments to a new location, breaking any connections.

If you have difficulty selecting an object, you can select it from The Select Elements dialog box:
1.

On the Edit menu, click Select Elements. This opens the Select Elements dialog.

2.

In the Select Elements dialog, click the element(s) you want to select in the Schematic
Editor. You can select/deselect the Components or Nets box to vary the list of elements
you can choose. You may also click the Select All or Deselect All buttons.

Sorting Components
The sort order of Block components affects how simulations run. To sort designs using block
components:
1.

Select Schematic>Sort Components.


The Determine Block Sequence dialog box displays.
Block sequence numbers also appear next to each block component on the schematic.

2.

Sorting can be performed in any of the three following ways:


a.

Sorting Automatically is done left to right, top to bottom on the block components as they
appear on the schematic.
Click OK when finished to close the dialog box.

b.

To sort manually, select an item in the list, then use the up and down arrow keys to move
the item in the list. The block sequence numbers update accordingly on the schematic.
Click OK when finished to close the dialog box.

c.

Choosing Interactive sorting causes the dialog box to disappear. Numbers indicating the
current sort order appear next to each block component on the schematic.
Schematic Editor 10-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Sorting Components

Click on the block components in the desired sort order. As you make selections, the numbers update accordingly disappearing when you select the last unsorted component.
Note

By default, green numbers indicate that the block has already been sorted (picked), red
means the component has not yet been selected for sorting.
The colors are arbitrary and can be changed in the dialog box as can the font size.

Schematic Editor 10-48

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Listing Design Elements

Listing Design Elements


Simplorer provides a convenient way to list the components, graphics, ports and nets of a
schematic, namely the Design List dialog box. A Design List dialog box is also used in the symbol
editor to list a symbols graphics elements.

To access the Design List dialog box in the schematic editor, select Schematic>List from the
Simplorer top menu bar:

To access the Design List dialog box in the symbol editor, select Symbol>List from the Sim-

Schematic Editor 10-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Listing Design Elements

plorer top menu bar.

Note that the Design List dialog for the schematic editor contains four tabs: Components,
Graphics, Ports, and Nets. For the symbol editor, only the Graphics tab is present.

Each tab contains a grid that shows the objects that are present in the schematic or symbol
editor.
Each row in the grid contains one item, and each column displays an aspect of that item.
Each column may be sorted by clicking on the title. Clicking multiple times reverses the
order of the sort.
Selecting a row zooms to that item in the editor and selects it.
Multiple items can be selected at once using the shift or control keys, which will zoom/pan
the display so that all selected items are visible.
The Delete and Properties buttons apply to the objects in the selected rows.
To manipulate an objects properties, select the desired object and then click the Properties button to open its properties dialog for editing.
To delete object(s), select them and click Delete.
You can undo property changes and deletions.

Schematic Editor 10-50

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Listing Design Elements

Components Tab

Name: Shows the ID of the schematic component.


Type: Shows the component name from the library.
Page: Shows the page number on which that component is located.
Description: Shows the component description.
Properties: Shows the overridden properties of that component.

Schematic Editor 10-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Listing Design Elements

Graphics Tab

Name: Shows the ID of the graphic.


Type: Shows the graphic type (Circle, Rectangle, Arc, Text, Pin, etc.).
Page: Shows the page number on which that graphic is located.
Description: Shows the descriptive text for text and pin graphic types; and is blank for
non-textual graphics.

Schematic Editor 10-52

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Listing Design Elements

Ports Tab

Name: Shows the name of the port.


Type: Shows the port type (Interface, Page, or Global).
Page: Shows the page number on which that port is located.

Schematic Editor 10-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Editing Operations

Nets Tab

Name: Shows the name of the net.


Bus: Checked if the item is a bus, and is unchecked for normal wires.
Page: Shows the page number on which that net is located.
Please note that a net may appear more than once if it spans multiple pages.

Pins: Number of pins connected to that net.


Segments: Number of individual line segments that comprise that net.

Editing Operations
When the Schematic Editor is the active window, clicking Edit on the top menu bar accesses the
pull-down that menu contains the following commands. The commands that are active depend on
what is selected, and on the previous command.
Note

Commands such as Copy, Paste, Delete, and Rename are also used in various context
menus. For example, in the Project Manager Project tab to copy and paste Analysis
setups and options, and report definitions.

Undo undoes the last operation (the last operation was changing the value of a property in the
above picture, but the pulldown will show the last operation actually performed).
Redo re-executes the last operation that was undone.
Cut deletes the selected component or wire segment, and retains a copy for pasting into a scheSchematic Editor 10-54

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Editing Operations

matic in the same application.

Copy creates a local copy for pasting into a schematic in the same application.
Paste puts the local object from the previous copy or cut into the schematic.
Delete deletes the component.
Rename activates the text field of the selected schematic, project, plot, or other editable item
in the Project tree so that you can modify the objects name.
Select All selects all the components and nets in the schematic.
Select Elements opens a dialog so that you can select a component by name. See Selecting
Elements.
Find Elements opens a dialog so that you can find all elements that match the criteria you
specify. See Finding Elements.
Copy to Clipboard creates a global copy on the clipboard for pasting into a different application.
Properties opens the Properties dialog for the selected element. See Displaying and Editing
Component Properties.
Activate restores a deactivated component to the circuit.
Deactivate (Open) temporarily converts the component into an open circuit. This is displayed
graphically with a red X over the circuit element.
Deactivate (Short) temporarily converts the component into a short circuit. This is displayed
graphically with a circled red X over the circuit element.
Name Wire opens a dialog so that you can assign a new name to the selected wire node.

Schematic Editor 10-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding Primitive Drawing Elements

Adding Primitive Drawing Elements


In Simplorer you can add primitive drawing elements such as lines, arcs, circles, rectangles,
polygons, and text. You can also import images in bitmap (.bmp) and .gif formats. You can use the
included drawing elements or imported images to create symbols for schematic pages or custom
components. These drawn elements do not affect the simulation, but can help to document or
clarify your schematic.

Properties of Drawing Elements


Each primitive drawing element has an associated Properties window that you can display when
you select the element. In the Properties window, you can edit properties such as line width, color,
and fill style.
You can select, and edit properties for, and/or delete or copy any drawing primitive.

Drawing an Arc
To add an arc to a schematic:
1.

Click Draw>Primitive>Arc or click the

icon on the toolbar.

This enables the Arc drawing mode.


2.

Move the cursor to the desired location in the schematic and left click to draw the first end
point of the arc.

3.

Move the cursor to the desired location for the second endpoint of the arc. and left-click.
This draws a straight line between the two points and gives the cursor a drag-handle at the midpoint of the line.

4.

Drag the mid-point to establish the arc, and left click release the mode.
This shows the arc selected, with the drag handles on the end points and midpoint of the arc
highlighted. If necessary, you can select a handle on the arc to change the location of the endpoints or the arc.
The arc includes a Properties window in which you can edit the arcs properties, including:
color (applies to both border and fill), line width, fill style, center coordinates, radius, and starting and ending angles.

5.

Click anywhere on the schematic off the arc to deselect it.

Drawing a Circle
To add a circle to a schematic.
1.

Click Draw>Primitive>Circle or click the

icon on the toolbar.

This enables the circle drawing mode.


2.

Move the cursor to the desired location in the schematic and left click to specify the center
point of the circle.

3.

Move the cursor to the desired location for the diameter of the circle and left-click.
Schematic Editor 10-56

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding Primitive Drawing Elements

This dynamically draws the circle and shows the arc selected, with the drag handles on the end
points and midpoint of the arc highlighted. If necessary, you can select a handle on the circle to
change the diameter. Notice that the element includes a Properties window.
The circle includes a Properties window in which you can edit the circles properties, including: fill color, border width, border color, fill style, center coordinates, and radius.
4.

Click anywhere on the schematic off the circle to deselect it.

Drawing a Line
To add a line to a schematic:
1.

Click Draw>Primitive>Line or click the

icon on the toolbar.

This enables the line drawing mode.


2.

Move the cursor to the desired location in the schematic and left click to draw the first end
point of the line.

3.

Move the cursor to the desired location for the second endpoint of the line and left-click.
This draws a straight line between the two points and shows the line selected, with the drag
handles on the end points highlighted. If necessary, you can select a handle on the line to
change the location of the endpoints.
The line includes a Properties window in which you can edit the lines properties, including:
color, line width, line style, coordinates of the endpoints, and objects such as arrowheads to be
placed at line ends.

4.

Click anywhere on the schematic off the line to deselect it.

Drawing a Polygon
To add a closed polygon to a schematic:
1.

Click Draw>Primitive>Polygon or click the

icon on the toolbar.

This enables the Polygon drawing mode.


2.

Move the cursor to the desired location in the schematic and left click to draw the first vertex.

3.

Move the cursor to the desired location for each subsequent vertex and left-click.
This draws a straight blue line between the designated vertices, and a straight black line
between the last vertex specified and the first.

4.

Right-click to complete the polygon.


The polygon remains selected, with the drag handles visible at the vertices. If necessary, you
can select a handle to drag any vertex.
The polygon includes a Properties window in which you can edit the polygons properties,
including: border color, border width, fill style, fill color, and coordinates of the vertices.

5.

Click anywhere on the schematic off the arc to deselect it.

Schematic Editor 10-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding Primitive Drawing Elements

Drawing a Rectangle
To add a rectangle to a schematic:
1.

Click Draw>Primitive>Rectangle or click the

icon on the toolbar.

This enables the rectangle drawing mode.


2.

Move the cursor to the desired location in the schematic and left click to place the first corner
of the rectangle.

3.

Move the cursor to the desired location for the opposite corner of the rectangle and left click.
This shows the rectangle selected, with the drag handles on the corners visible. If necessary,
you can select a handle resize the rectangle.
The rectangle includes a Properties window in which you can edit the rectangles properties,
including: border color, border width, fill style, fill color, center coordinates, width, height,
and angle of rotation.

4.

Click anywhere on the schematic off the rectangle to deselect it.

Adding Text to a Schematic


To add text to a schematic:
1.

Click Draw>Primitive>Text or click the

icon on the toolbar.

This enables text mode.


2.

Move the cursor to the desired location in the schematic and left click.
This places a highlighted text box with Default Text written and highlighted within it.

3.

Type in the text box to replace the default text.


The text box includes a Properties window in which you can edit the texts properties, including: text color, location (coordinates), text angle of rotation, text size, font, and justification. A
checkbox toggles display of a bounding rectangle. When displayed, additional rectangle properties can be displayed including: border color and width, fill color and style, the rectangles
center coordinates, width, height, and angle of rotation. Note that the rectangle center and
angle can differ from the text center and angle.

4.

Click anywhere on the schematic to deselect the text.

Adding a Bitmap or GIF Format Image to a Schematic


To add a bitmap or GIF image to a schematic:
1.

Click Draw>Primitive>Image or click the

icon on the toolbar.

This displays a file browser. It defaults to your PersonalLib location, but lets you use buttons
to select Syslib, UserLib, Project Folder, file path, or standard browser functions to look
through your file system and network.
2.

Specify the file format as bitmap (.bmp) or GIF (.gif).

3.

Click the Open button to import the image to the schematic.

4.

Position you cursor at the desired location and left-click.


Schematic Editor 10-58

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Drawing Operations

The image appears at the cursor location, remaining selected so that you can resize it as needed
by dragging the cursor. Resizing maintains the original proportions.
5.

Click again to anchor the image and release it from the cursor.
The image remains selected, with the drag handles on the corners visible. If necessary, you can
select a handle resize the image.
The image includes a Properties window in which you can edit the images properties, including: center coordinates, angle of rotation, width, and height. A checkbox toggles display of a
border and enables additional border properties including: border color and width. Additional
checkboxes allow the image to be mirrored left-to-right, and to establish a link to the image
file.

Drawing Operations
When the Schematic Editor is the active window, the following Draw menu commands allow you
to perform various operations on schematic elements. The commands that are active depend on
what is selected, and on the previous command.

Rotate this option, also available by pressing Ctrl+R on the keyboard, rotates a selected
object or group of objects 90 counterclockwise.
Align Horizontal This option horizontally aligns the locations of the members of a group
of selected objects with the location of the first-selected object.
To align multiple objects horizontally:
1.

Press Ctrl, and then click the object with which you want to align the others.

2.

Still pressing Ctrl, click the additional objects to add them to the selection.

Note

3.

The first-selected object is highlighted in red, and subsequently selected objects are
highlighted in dark red.
On the Draw menu, click Align Horizontal.

Align Vertical This option vertically aligns the locations of the members of a group of
selected objects with the location of the first-selected object.
To align multiple objects vertically:
1.

Press Ctrl, and then click the object with which you to align the others.

2.

Still pressing Ctrl, click the additional objects to add them to the selection.

Note

3.

The first-selected object is highlighted in red, and subsequently selected objects are
highlighted in dark red.
On the Draw menu, click Align Vertical.

Flip Vertical This option flips the selected object or group of objects around the X axis.
To flip multiple objects vertically:
Schematic Editor 10-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Drawing Operations

1.

Press Ctrl, and then click one of the objects you want to flip vertically.

2.

Still pressing Ctrl, click the additional objects to add them to the selection.

Note

3.

The first-selected object is highlighted in red, and subsequently selected objects are
highlighted in dark red.
On the Draw menu, click Flip Vertical.

Flip Horizontal This option flips the selected object or group of objects around the Y axis.
To flip multiple objects horizontally:
1.

Press Ctrl, and then click one of the objects you want to flip horizontally.

2.

Still pressing Ctrl, click the additional objects to add them to the selection.

Note

3.

The first-selected object is highlighted in red, and subsequently selected objects are
highlighted in dark red.
On the Draw menu, click Flip Horizontal.

Bring to Front moves the selected object to the front of the drawing.
Send to Back moves the selected object to the back of the drawing.

Schematic Editor 10-60

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding Reports to a Schematic

Adding Reports to a Schematic


Simplorer allows you to add several types of reports directly onto a schematic. These plots can be
modified and updated in the same way as those displayed under Results in the Project tree.
To place a Report on a schematic:
1.

Select the schematic so that the Draw menu appears in the menu bar.

2.

Click Draw>Report>report_type, where report type can be: Rectangular Plot, Polar Plot,
Radiation Pattern, Rectangular Stacked Plot, Bode Plot, Nyquist Plot, Digital Plot or
DataTable - Columns or Rows, and move the cursor over the schematic.
The mouse drags a hollow rectangular box with the cursor at the center.

3.

Click the mouse at the location where you want to place the report.
The report appears on the schematic and the Report dialog box displays enabling traces to be
added immediately.
An entry for the report also appears in the Results folder of the Project Manager.

Note

You can also add a report to a schematic by dragging an existing report entry in the
Results folder of the Project Manager onto the sheet.

Related Topics
Modifying an On-sheet Report
Opening an On-sheet Report in a New Window
Generating Reports and Postprocessing
Creating Rectangular Plots
Creating Polar Plots
Creating Radiation Patterns
Creating Rectangular Stacked Plots
Creating a Bode Plot
Creating a Nyquist Plot
Creating a Digital Plot
Creating Data Tables

Modifying an On-sheet Report


You can move or resize the report by selecting it, then using the mouse pointer move and resize it.
Text elements automatically resize with the plot. Use the Delete key to remove the report from the
schematic.
1.

Right-click on the report and choose Edit in Place on the shortcut menu.
The cursor changes from a pointer dragging a coordinate symbol to a normal mouse pointer.
When you move the pointer over an editable element of the plot, the pointer changes color.
Schematic Editor 10-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding Reports to a Schematic

2.
3.

To modify the report, i.e., add traces, variables, sweeps, etc., right-click on any elements and
select Modify Report from the shortcut menu to display the Report dialog.
To edit an elements properties do any of the following:
a.

Click on the desired element to select it, then modify its properties in the Properties Window.

b.

Double-click on the element to open its Properties dialog box in which you can edit the
element properties.

c.

Right-click on the element and select Edit>Properties on the shortcut menu to open the
elements Properties dialog box in which you can edit properties.

Related Topics
Opening an On-sheet Report in a New Window
Generating Reports and Postprocessing
Creating Rectangular Plots
Creating Polar Plots
Creating Radiation Patterns
Creating Rectangular Stacked Plots
Creating a Bode Plot
Creating a Nyquist Plot
Creating a Digital Plot

Opening an On-sheet report in a New Window


You can open an on-sheet report in a new editing window by right-clicking on the report and
selecting Open in new window on the shortcut menu. The report opens in a new report editing
window in which it can be modified and updated in the same way as reports displayed under
Results in the Project tree.

Related Topics
Modifying an On-sheet Report
Generating Reports and Postprocessing
Creating Rectangular Plots
Creating Polar Plots
Creating Radiation Patterns
Creating Rectangular Stacked Plots
Creating a Bode Plot
Creating a Nyquist Plot
Creating a Digital Plot

Schematic Editor 10-62

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Setting Up Multi-Page Schematics

Setting Up Multi-Page Schematics


Setting up multi-page schematics involves two activities: adding pages, and adding and naming
page connectors to establish electrical connectivity between them as necessary.

To add a page or pages to a schematic:


1.

Open the schematic to which you want to add a new page or pages.

2.

Click the New Page tab; or right-click the tab and select New Page from the context menu.
You are now editing the new page, 2.

3.

Repeat as necessary to add additional pages.

To remove a page from a schematic:


Warning

Removing pages containing components connected to other pages may adversely


affect simulation results or render the design inoperable. You can use the Undo
command to restore removed pages.

1.

Open the schematic from which you want to remove a page or pages.

2.

Do either of the following:


a.

Right-click on the tab of the page you wish to remove and select Remove Page from the
context menu.

b.

Click the tab of the page you wish to remove and select Remove Page on the Schematic
menu. In the Remove Pages dialog box, select the page or pages you wish to remove and
click OK.

To change a pages properties:


1.

Select the page.

2.

Do either of the following:

3.

a.

On the Schematic menu, click Page Properties.

b.

Right-click the tab of the page whose properties you wish to change and select Properties
from the context menu.

Edit the properties listed on the Page Properties tab.

To establish a common electrical connection between pages:


You can place a page connector on each page that will share the connection. To do this on each
page:
1.

Select the page.

2.

Do either of the following:

On the Draw menu, click Page Connector.


On the Schematic Draw toolbar, click the Page connector icon

Schematic Editor 10-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Setting Up Multi-Page Schematics

The cursor, now associated with a page connector symbol for placement, moves to the center of the
schematic window. To place the connector, click at the desired location.
Hint

You can rotate a page connector before placing it by repeatedly pressing R on your
keyboard. Each press rotates the connector 90 counterclockwise.

If Multiple Placement is turned on for page connectors in the Schematic Options dialog box, you
can place additional connectors by clicking at additional locations.
To stop placing page connectors during multiple placement, do either of the following:

Press Enter, the SPACEBAR, Backspace, or Esc on your keyboard.


Right-click, and then select Place and Finish, Finish, Cancel, or Back.
Note

To ensure electrical connectivity among schematic elements, the pins of placed page
connectors snap to a 100-mil (2.54-millimeter) grid. This snapping cannot be turned off,
and the spacing of the connectivity grid cannot be adjusted.

Within a design and at the same hierarchical level, all page connectors with the same name act as a
common electrical connection. Therefore, once you have finished placing page connectors that you
want to be electrically common, you must ensure that they all have the same name. To change the
name of a page connector, do either of the following:

Open its Properties dialog by double-clicking the connectors schematic symbol, type a new
name into the Value cell for the ports Name property, and then click OK.

Click the connector.


In the Parameters tab of the Properties window, click the Value cell for the NetName parameter, type the new name, and press Enter.
Note

Changing the name of any member of a group of same-named page connectors renames
all members of the group with the new name.

To remove a page or pages from a schematic:


1.

Open the schematic from which you want to remove a page or pages.

2.

On the Schematic Menu, select Remove Page to open the Remove Pages dialog box.

3.

In the Remove Pages dialog box, select the page(s) you wish to remove, and click OK.
You can also remove a page by right-clicking on the tab of the page you wish to remove and
selecting Remove Page from the context menu.

Note

The Remove Page command removes pages containing components without warning. If
you wish to restore a page, use the Undo command.

Schematic Editor 10-64

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Setting Up Hierarchical Designs

Setting Up Hierarchical Designs


A hierarchical design is a schematic design that contains subdesigns or subcircuits. Any number of
hierarchical levels can be created, and any number of subdesigns can be placed in another design.
The design at the top of such a structure is commonly called the top-level design or top-level
schematic. A design that contains a subdesign is called the parent of that subdesign. Subdesigns can
include Simplorer subcircuits, or external models coupled to the parent schematic.
You can set up analyses at any level in a hierarchy, analyze, and then view results of the analyses.
An analysis performed on a design at a level other than the top level includes that design and all of
its subdesigns and subcircuits, if any, but not its parent design or designs at any higher levels.
Analyses you specify for various designs at different levels of a hierarchy are entirely independent
of each other. For example, you can set up a linear network analysis for a filter at an intermediate
level of a hierarchy to obtain its S-parameters over a frequency range, and you can set up a spotfrequency nonlinear harmonic-balance analysis for the hierarchys top-level circuit. You can then
analyze only the filter subcircuit without having to analyze the entire hierarchical design over the
filter frequency sweep or you can run just the harmonic-balance analysis without sweeping the
filter. There are two approaches to creating a hierarchical design: bottom-up and top-down.

The Bottom-Up Approach


1.

Start Simplorer, if it is not already running.


If Simplorer is already running, create a new project by clicking New on the File menu.

2.

Insert a design in the default new project or new project you created by selecting Insert
Simplorer Design on the Project menu.

3.

Create a design at the project level by selecting Insert Circuit Design on the Project menu.

4.

Repeat step 3 for each subdesign you will need.

5.

To build the hierarchy:


a.

In the Project tree, drag the design icon for the design that you want to become a subdesign and drop it on the parent design.
The Synchronize Design dialog box opens. In this dialog box, you can select whether the
subdesign will be incorporated into the hierarchy of which the parent is part (Incorporate,
the default choice) or will merely be linked to it [Keep independent (black box)]. When
choosing Incorporate, you can also specify a name for the new subdesign.

b.

Click OK.
A symbol representing the subcircuit appears in the parent schematic. You can place and
wire it as desired.

The Top-Down Approach


1.

Start Simplorer, if it is not already running.


If Simplorer is already running, create a new project by clicking New on the File menu.

2.

Insert a design in the default new project or new project you created by selecting Insert
Simplorer Design on the Project menu.
Schematic Editor 10-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding a SubCircuit to a Simplorer Design

This will be the top-level circuit.


3.

4.
5.

For each subcircuit you will need in the top-level circuit:


a.

Make sure the top-level circuit is active in the schematic editor.

b.

On the Simplorer Circuit menu, point to Add SubCircuit, and then click Add SubCircuit on the sub-menu.

Repeat step 3 at each level of the hierarchy as needed.


To reuse subcircuits at multiple places in a design:
a.

In the Project tree, right-click the icon for a design you want to reuse, and then select
Copy.

b.

Right-click the icon for the design into which you want to copy the subcircuit, and select
Paste.
A symbol representing the subcircuit appears in the parent schematic. You can place and
wire the subcircuit as desired.

As you create subcircuits, you will probably want to rename them. To do this:
1.

In the Project tree, click the name of the icon for the design that you want to rename.

2.

Click the icon name again.


The icon name changes to an editable string that you can modify. When you renamed the
design name to your liking, press Enter.

Simplorer creates a generic rectangular symbol for each new subcircuit. You can customize the
symbol for a subcircuit as follows:
1.

Expand the folder in the project tree labeled Definitions, and then expand the Symbols
subfolder.

2.

Double-click the symbol icon that corresponds to the subcircuit symbol you want to edit.
The symbol opens for editing in Simplorers symbol editor.

3.

When youre finished editing the symbol, click Update Project on the Symbol menu to
propagate your changes through the project.

Adding a SubCircuit to a Simplorer Design


The SubCircuit menu allows you to:

Add Simplorer subcircuits to an exiting design.


Link externally developed subcircuit models from applications such as Mathcad, MATLAB/
Simulink, ANSYS Maxwell, or Q3D Extractor to a Simplorer design, and then use Simplorer
to interact with these models in a process called co-simulation.

Related Topics
Creating a SubCircuit from a Selection Area

Adding a SubCircuit
Use this command on the Add SubCircuit menu to add a Simplorer subcircuit to a design.
Schematic Editor 10-66

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Adding a SubCircuit to a Simplorer Design

To add a new Simplorer subcircuit to a design:


1.

Open the design to which you want to add a subcircuit.

2.

On the Simplorer Circuit menu, click Add SubCircuit.


This displays a menu of the kinds of subcircuits that you can choose to add.

3.

Select Add SubCircuit from the menu list.


Simplorer adds a subcircuit to the project as a blank schematic sheet and adds a default symbol
linked to the new circuit to the parent schematic. The symbols default name and other properties can be viewed and edited like any other component.
A design symbol for the new subcircuit also appears in the Project tree subordinate to the parent design.
You can add interface ports to the subcircuit sheet to provide external connections to the subsheet. The ports can be either conservative or quantity of any supported type. These interface
ports are automatically added as pins to the subcircuit symbol on the parent schematic. The pin
spacing is controlled automatically by the SubCircuit Pin Spacing setting on the Schematic
Editor Options: General tab.

Note

Unconnected interface ports automatically adjust to the domain they are being connected
to, in the sub-circuit. However if the corresponding top-level pins in the parent circuit
are wired, then automatic adjustment does not occur, in which case domain conversion is
applied instead.

Related Topics
Setting Up Hierarchical Designs
Interface Ports
Schematic Editor Options: General Tab

Schematic Editor 10-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating a SubCircuit from a Selection Area

Creating a SubCircuit from a Selection Area


The Schematic>Create SubCircuit from Selection Area command provides user a way to select
a rectangular area of the schematic and send the component instances enclosed within the area to a
subsheet attached to the current parent sheet. Net routing and port types are automatically adjusted
to make sure that connectivity is maintained.
To create a subcircuit from a selection area:
1.

Select the Schematic>Create SubCircuit from Selection Area menu command.


The cursor changes to a large

2.

for selecting the area of interest.

Click and drag the cursor until the selection rectangle encloses the area containing the components you want to include in the subcircuit, then click again to complete the selection.

A subsheet component is automatically created containing the selected components.


The new subsheets icon also appears in the Project Manager project tree under its parent

Schematic Editor 10-68

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating a SubCircuit from a Selection Area

design.

The new subsheet component pin spacing is controlled automatically by the SubCircuit Pin
Spacing setting on the Schematic Editor Options: General tab. You can right-click the new
component and select Push Down on the context menu to view the subsheet and confirm the
selected components are present.

Considerations when selecting an area:

The selection area boundaries should only intersect nets on the schematics since they form the
interface of the subsheet.
Simplorer subcircuits do not allow a single net to cross the interface more than once. For
example the following selection would fail to create a subcircuit.

Schematic Editor 10-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Copying an Existing Subcircuit within a Design

All pins of an enclosed component instance must be inside the selection boundary for that
instance to be included.
For instances that have no pins, the objects origin must be inside the selection boundary for it
to be included in the subsheet.

Interface ports are not allowed to be present inside the selection area.
Page connectors will be inserted to maintain connectivity if Simplorer is unable to automatically route the interface nets on the parent sheet.

Related Topics
Setting Up Hierarchical Designs
Interface Ports
Page Connectors

Copying an Existing Subcircuit within a Design


There are two methods for copying and pasting an existing subcircuit within a design. One method
results in a pasted component that refers to the same underlying design. The second method results
in a copy that is independent of the original source design.
Creating a Copy that refers to the same design
Schematic Editor 10-70

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Moving Between Designs in a Schematic Hierarchy

To copy an existing subcircuit within a design:


1.

Open the design that contains the subcircuit you want to copy.

2.

Do either of the following:

3.

In the project tree, right-click the icon for the subcircuit, and then select Copy.
In the design, right-click the subcircuit symbol, and then click Copy on the context menu.

Do either of the following:

On the Edit menu, click Copy.


On the keyboard, press CTRL+V.

Within the schematic window, the cursor is associated with an N-port symbol for subcircuit
placement. To place the subcircuit, click at the desired location.
Hint

You can rotate the symbol for a subcircuit before placing it by repeatedly pressing R on
your keyboard. Each press rotates the component 90 counterclockwise.

If Multiple Placement is turned on for components in Simplorers Schematic Options dialog box,
you can place additional instances of the subcircuit by clicking at additional locations.
To stop placing subcircuits during multiple placement, do either of the following:

Press Enter, the SPACEBAR, Backspace, or Esc on your keyboard.


Right-click, and then select Place and Finish, Finish, Cancel, or Back.
Note

To ensure electrical connectivity among schematic elements, the pins of placed


subcircuit symbols snap to a 100-mil (2.54-millimeter) grid. This snapping cannot be
turned off, and the spacing of the connectivity grid cannot be adjusted.

Moving Between Designs in a Schematic Hierarchy


You can move between a projects different designs and design instances at will by double-clicking
their icons in the project tree. Specific menu commands are also available for moving up and down
one level.
To move down one level:
1.

In the schematic from which you want to move, select the symbol for the design to which you
want to move.

2.

On the Schematic menu, click Push Down

To move up one level:


1.

In the schematic from which you want to move, select the symbol for the design to which you
want to move.

2.

On the Schematic menu, click Pop Up

Schematic Editor 10-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Copying a Simplorer Design into Another Design

Copying a Simplorer Design into Another Design


To copy an existing Simplorer design into another design for the first time:
1.

In the project tree, right-click the icon for the design you want to copy.

2.

Select Copy.

3.

Open the design into which you want to copy.

4.

Do either of the following:

On the Edit menu, click Paste.


On the keyboard, press CTRL+V.

The Synchronize Design dialog box opens.


5.

Specify how the circuit you are copying will be associated with the target design by doing one
of the following:

6.

Select Make Copy to create an independent subdesign, which will not be affected by
changes to the original.
Select No copy - use instance of original to keep the copy linked to the original, so that
changes to one will affect the other.

Click OK.

Within the schematic window, the cursor is associated with a symbol for subcircuit placement. To
place the subcircuit, click at the desired location.
Hint

You can rotate the subcircuit symbol before placing it by repeatedly pressing R on your
keyboard. Each press rotates the component 90 counterclockwise.

If there is already a subdesign in the parent schematic, there is an easy way to create an independent
copy. Right-click on the subdesign symbol and select Copy as New Design. Then paste using the
menu command, or CTRL+V. In this case the Synchronize Design dialog will not appear.
Note

To ensure electrical connectivity among schematic elements, the pins of placed


subcircuit symbols snap to a 100-mil (2.54-millimeter) grid. This snapping cannot
be turned off, and the spacing of the connectivity grid cannot be adjusted.
When copying components, you can also use the use the Copy to Clipboard
command in the right-click popup menu to copy and paste components into other
applications.

The first time you place a subcircuit in a design, an entry for it is added under the Project
Components heading in the Project Manager Component tree.
To save time as your work progresses, you can place new instances of the subcircuit on the
schematic:

by double-clicking its Project Components icon.


by right-clicking its Project Components icon and selecting Place Component.
Schematic Editor 10-72

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Copying a Simplorer Design into Another Design

by dragging its Project Components icon.

If Multiple Placement is turned on for components in Simplorers Schematic Options dialog box,
you can place additional subcircuit instances by clicking at additional locations.
To stop placing subcircuits during multiple placement, do any of the following:

Press Enter, the SPACEBAR, Backspace, or Esc on your keyboard.


Right-click, and then select Place and Finish, Finish, Cancel, or Back.

Schematic Editor 10-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Working with Design Configurations

Working with Design Configurations


Simplorer allows you to save the model choices for component instances from the current design
and its hierarchy to a model configuration file (.mcfg). For example, the following shows the
contents of a model configuration file for a design containing a voltage source (E1), a resistor (R1),
and a capacitor (C1):
E1.SimulatorModel=E
R1.SimulatorModel=R
C1.SimulatorModel=C
The model used by each component instance is listed following the component instance name.
If a design contains subcircuits, component instances placed on subcircuit U1 are listed thus:
U1.E2.SimulatorModel=E
Simplorer also allows you to load a saved design configuration, enabling you to reset the
component instances to the model types present in the design at the time the .mcfg file was saved.
Because .mcfg files are text files, you can edit them, allowing you to set property values for
component instances, as well as set or add design and project variables.

Related Topics
Saving a Design Model Configuration
Loading a Design Model Configuration
Editing a Design Model Configuration

Saving a Design Model Configuration


To save a model configuration for a design:
1.

Ensure that the design whose model configuration you wish to save is currently active.

2.

Select Simplorer Circuit>Save Configuration from Simplorers main menu. You can also
right-click on the designs icon in the Project Manager project tree and select Save Configuration on the context menu.
The Save Model Configuration File dialog opens.

3.

Browse to the location in which you wish to save the .mcfg file.

4.

Enter a name for the file and click the Save button to save the file and close the dialog.

Related Topics
Loading a Design Model Configuration
Editing a Design Model Configuration

Loading a Design Model Configuration


To load a model configuration for a design:
1.

Ensure that the design whose configuration you wish to update is currently active.

2.

Select Simplorer Circuit>Load Configuration from Simplorers main menu. You can also
Schematic Editor 10-74

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Working with Design Configurations

right-click on the designs icon in the Project Manager project tree and select Load Configuration on the context menu.
The Select Model Configuration File dialog opens.
3.

Browse to the .mcfg file you wish to load; and click the Open button to load the configuration
file.

Related Topics
Saving a Design Model Configuration
Editing a Design Model Configuration

Editing a Design Model Configuration File


Because .mcfg files are text files, you can edit them. This allows you to use the edited file to set
design parameters directly by loading the edited configuration file into the design. This capability
allows you to modify property values for component instances in a design, as well as set or add
design and project variables. The use of expressions is also supported. These changes are undoable,
except for project variable changes.
In general, any parameter listed in a components Properties dialog can be set. The general form
for entries in the .mcfg file is as follows:
<ComponentName>.<parameter_name>=<parameter_value>
For example:
R2.R=45kOhm
E1.Type=ESINE
E1.FREQ=400
The above configuration lines, when loaded into the target design via the Simplorer Circuit>Load
Configuration command (or via right-clicking on the designs icon in the Project Manager project
tree and selecting Load Configuration on the context menu), will set the resistance of component
R2 to 45 kOhm, and voltage source E1s type to a sine output having a frequency of 400 Hz.
.Project variables can similarly be added. For example:
$C1=22.4pF
will add project variable $C1 having an initial value of 22.4 pF
Below is an example that adds two local design variables:
aa=4
bb=if(aa < 5, 1, 0)
These lines add design variable aa having a value of 4, and a second design variable bb whose
value is determined by an expression.
When you have finished editing a .mcfg file, use the Simplorer Circuit>Load Configuration
command (or via right-clicking on the designs icon in the Project Manager project tree and
selecting Load Configuration on the context menu) to load its contents into the desired design.

Schematic Editor 10-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Design Settings

Related Topics
Saving a Design Model Configuration
Loading a Design Model Configuration
Simplorer Design Conventions

Design Settings
Simplorer Design Settings dialog box allows you to control various simulation options, and to
enable/disable the statistical package for the currently active design.
1.

To make design settings do one of the following:

Right-click the desired design icon in the project tree and select Design Settings from the
context menu.
You can also select Design Settings on the Simplorer Circuit main menu.

The Design Settings dialog box opens displaying two tabs: Simulation Options and Statistical Package.
2.

Make the desired settings on the two tabs.


a.

The Simulation Options tab settings automatically save state and initial values of a simulation model in separate files at the end of the simulation.

Automatically sort block diagram before simulation. when checked, block diagrams are automatically sorted before a simulation is run.
Enable symbol animation, output property update when checked, enables symbol animation; and also enables the Number of significant digits to display field.
Animations embedded in a symbol change the symbol appearance during the simulation process in response to a change in value of a system quantity. See Using the
Symbol Editor for more details.
Number of significant digits to display sets the number of significant digits displayed for evaluated properties on schematics. The number set in this field must be
between 1 and 14, inclusive. The default value is 5.
Simulation State (KRN): Save at end of simulation when checked, automatically
saves the simulation state to a .krn file at the conclusion of a simulation. The default
location\filename of the state file is:
\<projectname>.asmpresults\<projectname>_<designname>.krn. The file is overwritten an the end of each simulation. You can continue a simulation later with this
state file.
Check Ask for filename if you want to specify a path and name, other than the
default, for the state file at the start of simulation. When you start a simulation, the
resizeable State and Initial Value Files dialog box appears in which you can specify
this information. Clicking Cancel in this dialog box allows the simulation to proceed
without saving a file.

Simulation State (KRN): Load at start of simulation when checked, an existing


Schematic Editor 10-76

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Accessing Include Files from the Schematic Editor

simulation state file is loaded automatically at the start of simulation and is then used
for that simulation. The default location\filename of the state file is:
\<projectname>.asmpresults\<projectname>_<designname>.krn.
Check Ask for filename if you want to be prompted to choose a state file manually at
the start of simulation. When you start a simulation, the resizeable State and Initial
Value Files dialog box appears in which you can specify this information. Clicking
Cancel in this dialog box allows the simulation to proceed without loading a file.

Initial Values (AWS): Save at end of simulation when checked, automatically


saves the simulation model values (inductances and capacitances) to a .aws file at the
conclusion of a simulation. The default location\filename of this initial values file is:
\<projectname>.asmpresults\<projectname>_<designname>.aws. Saved values
can be used as initial values for a subsequent simulation.
Check Ask for filename if you want to specify a path and name, other than the
default, for the initial values file at the start of simulation. When you start a simulation, the resizeable State and Initial Value Files dialog box appears in which you
can specify this information. Clicking Cancel in this dialog box allows the simulation
to proceed without saving a file.

b.

On the Statistical Package tab, click Enable to automatically configure a special index
variable, StatIndex, enabling you to run a Statistical Analysis without any other variable
in the design specified for Statistical. This is especially useful when using a third-party
statistical VHDL-AMS package, where the statistical variation is accomplished in the
individual VHDL-AMS models using the package functions.
You can also check Specify initial seed value to start the statistical analysis at a known
initial state. The seed value is fed to the random number generator and a random number
is generated. The same seed value will generate the same random number. Not specifying a seed value causes a different seed value to be automatically created for each analysis.

3.

When finished, click OK to close the dialog box.

Accessing Include Files from the Schematic Editor


A schematic design can reference an include file. For example, frequency-dependent model data is
commonly written into a separate file rather than entered into a Property Window.
For details on accessing include files, see Accessing Include Files in the Projects topic.

Accessing Library File Blocks from the Schematic Editor


A schematic design can reference a library file block.
For details on accessing library files, see Accessing Library Files in the Projects topic.

Schematic Editor 10-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting a Schematic

Exporting a Schematic
You can export the currently active schematic to a file as follows:
1.

On the Schematic menu, choose Export File.


A Save As file browser dialog box opens.

2.

Choose either Ansoft Neutral File (V4) (*.anf) or Microsoft Enhanced Meatfile (*.emf) as
the Save as Type.

3.

Browse to the location where the file is to be saved.

4.

Enter a File name.

5.

Click OK to save the file.

Schematic Editor 10-78

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Printing a Schematic

Printing a Schematic
When you are preparing to print a schematic, you can control page setup, and preview the print
with your chosen settings before printing.
Setting Up the Page Layout
To set up the page layout before printing:
1.

Select Page Setup from the File pulldown on the Simplorer top menu bar.
The Page Setup dialog box opens.

2.

Change settings as desired.

Use the Paper, Orientation, Margins, and Print Zoom controls to specify how you wish
the print to appear.
In the Schematic Options panel, you can specify whether or not to draw the grid and print
the design variables.
In the Border type panel, you can select the type of border to print around the schematic.
Selecting the ANSYS border type places a single line box around the schematic and adds
the current date and page number to the print.
Selecting the Schematic-defined border type prints the border as defined through the
Schematic->Page Borders menu option at the size specified. Typically, select this option
when printing out at a specific scale (i.e. 100%) to ensure that the border will be visible.
Use File>Print Preview to preview the effect of your choices.

3.

Click OK to close the Page Setup dialog box with your settings.

Using Print Preview


1.

Select Print Preview from the File menu to see a preview of the schematic print.

2.

To navigate through the preview, click the Next Page, Prev Page, and/or Two Page buttons.

3.

To zoom in or out on the preview, click the Zoom In or Zoom Out buttons. You can also click
directly on the preview image to zoom in and out.

4.

Click Print to close the preview window and open the Print dialog box for printing.

5.

Click Close to dismiss the preview and return to the project.

Printing the Schematic


To print the schematic that is in the active window:
1.

Right-click in the schematic window and select Print from the menu (or select Print from the
File menu) to open the Print dialog box:

2.

Use the controls to specify how you wish the print to appear.

In the Schematic Options panel, you can specify whether or not to draw the grid and print
the design variables.
Schematic Editor 10-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Printing a Schematic

In the Border type panel, you can select the type of border to print around the schematic.
Selecting the ANSYS border type places a single line box around the schematic and adds
the current date and page number to the print.
Selecting the Schematic-defined border type prints the border as defined through the
Schematic->Page Borders menu option at the size specified. Typically, select this option
when printing out at a specific scale (i.e. 100%) to ensure that the border will be visible.

3.

Make any desired selections in the Print Range, Copies, and Print Zoom panels.

Click OK to print the schematic, or click Cancel to cancel the operation.

Schematic Editor 10-80

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

11
Product Coupling

Product coupling allows a product to leverage the capabilities of other products in specialized
areas. For example, coupling the Simplorer System Simulator to Maxwell electromagnetic field
simulation provides the accuracy benefit of full field simulation within the circuit simulation environment. Direct integration eliminates the need to translate models, saves time, and allows for
greater accuracy overall.

Product Coupling 11-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer Coupling
In addition to the components provided with Simplorer for use in Schematic Editor designs, Simplorer schematics can also link to models created in external simulation software through special
subcircuit coupling components. These coupling components may use data, extracted from full
three-dimensional field data, in a Reduced Order Model (ROM) independent of the original model;
or co-simulate with the model in its native product through a transient analysis.
For some Reduced Order Model (ROM) coupling components, the Simplorer model obtained from
the external product may be either a dynamic link (default) or static link.

A dynamic link coupling component will always check the external product for updated
ROM data before simulating.
A static link coupling component will only check the external product if parameters on the
coupling component have changed since the ROM data was acquired.

Reduced Order Model subcircuit coupling components that can be dynamic or static:

Maxwell Equivalent Circuit


Maxwell Dynamic Inductance
Maxwell Dynamic Capacitance
Maxwell Statespace
RMxprt Dynamic
Q3D Dynamic Equivalent Circuit
Q3D Dynamic Statespace

Reduced Order Model subcircuit coupling components that are only static:

PExprt Static
Mechanical
Icepak
Statespace (generic)
SIwave
HFSS
Esterel

Cosimulation coupling components:

Simulink
Mathcad
Maxwell Transient
RBD
Fluent

11-2 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer supports the following subcircuit coupling components:

Simulink Component
Mathcad Component
Maxwell Components
Rmxprt Dynamic Component
Q3D Dynamic Components
PExprt Static Component
ANSYS Mechanical Component
Icepak Component
State-Space Component
SIwave Component
HFSS Component
ANSYS RBD Component
ANSYS Fluent Component
ANSYS Esterel Component

Simulink SubCircuits
MATLAB/Simulink is a software application developed by The MathWorks Inc. to solve
numerical problems and visualize data. It can be used for a range of applications including: manipulations of vectors and matrix arrays; and problems in control engineering, system engineering, statistics, and signal processing.
The Simulink subcircuit allows co-simulation between a Simplorer schematic design and a
Simulink model.
To use a Simulink subcircuit with Simplorer you need installations of both Simplorer and
MATLAB/Simulink. The Simulink subcircuit is available only if the Simulink coupling is
licensed in the license.lic file in the Simplorer version you use. Make certain you use the correct
versions, licence.lic file and directory settings.
Related Topics
Program Requirements for MATLAB/Simulink SubCircuits
Add Simulink Component
Creating and Linking a MATLAB/Simulink Model
Simplorer/Simulink Co-Simulation

Program Requirements for MATLAB/Simulink SubCircuits

Simplorer 8.0 or higher.


Product Coupling 11-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Activated (licensed) Option Simulator coupling (Simulink) in Simplorer.


MATLAB R12, R13, R14, R2006a, R2006b, R2007a, R2007b, R2008a, R2009a, R2009b,
R2010a, R2010b, R2011a, R2011b, or R2012a.

The 64-bit version of MATLAB is not supported.


Simplorer will check the latest installed version of Matlab to establish a link. If that
version is not supported, Simplorer will check for other installed versions. If a
supported version is located, Simplorer will register that version so that a link may
be established.
In order to manually register Matlab, which is required to return to the previously
register version, do the following:
Open a Windows cmd window.
Change the current directory to <MatLabInstallDir>/bin/win32.
Type Matlab.exe /regserver and press Enter.

Add Simulink Component


Use this command on the Add Subcircuit menu to add a Simulink model to a Simplorer design.
Warning

Only one MATLAB/Simulink model subcircuit can be used in a Simplorer design.


An error message appears in the Message Manager window if you attempt to
Browse Netlist or Analyze a design containing more than one Simulink component
instance.

1.

Select Add Simulink Component from the Add Subcircuit menu to display the Simulink
Interface dialog.

2.

Specify a Name for the component. Refer to Names of Components and Variables for naming
conventions.

3.

Specify the Matlab File Name. An ellipsis button [...] lets you open a file browser to select a
file by navigating your file directories.

4.

Check Read link information from the Simulink file to enable Simplorer to launch the
Simulink application and load the Simulink .mdl file specified in the filename box. If no file
has been specified, or if the path or file name is invalid, an error dialog displays.

5.

If you want to add a copy of the Simulink file to the Simplorer project, check Insert Simulink
file in the project.

6.

The Link Assignment panel contains buttons for you to Add or Delete link assignments.
a.

Click the Add button

(the button with the dashed square and lightning symbol) to

11-4 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

display a row of fields for the link assignment.


Field

Description

Simulink Variable Enter the identifier for the variable.


Default Value

Specify an initial value for the variable.

Direction

A drop-down menu lets you specify whether the variable supplies data
values To Simulink or receives data values From Simulink.

Add Pin

Use the checkbox to add a pin for the variable to the component symbol.

Description

Enter a description of the link, if desired.

b.

You can delete existing link assignments by selecting them from the list and clicking the
Delete button
.

7.

The Run Simulink button lets you launch Simulink.

8.

Click OK to close the dialog and apply the changes or Cancel to close without changing.

9.

Place the component on the schematic sheet as you would any other component.

10. After placing the component on a sheet, its Properties dialog may be opened for configuration
of the component.
Note

The Simulink model configuration is saved with the schematic sheet. Simplorer must
establish a link to the MATLAB/Simulink application each time a simulation is run.

Related Topics
Creating and Linking a MATLAB/Simulink Model
Simplorer/Simulink Co-Simulation

Product Coupling 11-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating and Linking a MATLAB/Simulink Model


1.

In MATLAB, place an S-Function block from the Simulink library on the sheet.
Note

Only one (1) S-Function block (AnsoftSFunction) can be used in a model design.
An error message is displayed if you attempt to add a second S-Function.

2.

Double-click the S-Function block to open the Function Block Parameters dialog box.

3.

In the S-function name field, enter AnsoftSFunction (case-sensitive) and click OK.

11-6 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Simplorer Link Assignment Dialog box opens.

4.

Enable (i.e., check) Read link information from file and browse to the Simplorer project
.asmp file containing the Simplorer Simulink component.

5.

Use the Link and Autolink buttons to establish the desired signal links between the MATProduct Coupling 11-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

LAB/Simulink model and the Simplorer Simulink component. (Autolink links all signals with
the same name automatically.)
6.

Click OK when done to close the dialog box.

7.

Save the MATLAB/Simulink model.

Related Topics
Add Simulink Component
Simplorer/Simulink Co-Simulation

Simplorer/Simulink Co-Simulation
1.

After you have added a Simulink component in Simplorer and created a MATLAB/Simulink
model, start the co-simulation by clicking Analyze in the Simplorer Circuit menu.

Warning

2.

Only one Simulink subcircuit can be used in a Simplorer design. An error message
appears in the Message Manager window if you attempt to Browse Netlist or
Analyze a design containing more than one Simulink component instance.

After initialization, the Simplorer compiler and simulator start.


Messages generated during the simulation run appear in the Message Manager window. If the
Simplorer subcircuit has specified graphical outputs, they are updated. The MATLAB/Simulink scopes show the outputs defined in MATLAB/Simulink.

Note

To achieve a successful co-simulation, at least one output must be defined between the
Simplorer and MATLAB/Simulink models, and the variable step width must be chosen
as a simulation parameter in MATLAB/Simulink.

Mathcad SubCircuits
Subcircuit coupling to Mathcad integrates an existing Mathcad model into a Simplorer
simulation model and exchanges data during the simulation. Complex mathematical computations,
including curves and text descriptions, can thus be represented in Simplorer in their original form.
The coupling interface allows the simple linking of variables. In addition, you can integrate models
from other simulators simultaneously.

Program Requirements for Mathcad Model Subcircuits


To use Mathcad model subcircuits, Mathcad 15. 14. or 13 must be installed on your PC. Further
settings are not necessary.
Note

Mathcad .mcd and .xmcd file formats are supported.


Mathcad 2000 is not supported.

11-8 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Add Mathcad Component


Use this command on the Add SubCircuit menu to add a Mathcad coupling component to a
Simplorer design.
1.

Select Add Mathcad Component from the Add Subcircuit menu to display the Mathcad
Interface dialog.

2.

Specify a Name for the component. Refer to Names of Components and Variables for naming
conventions.

3.

Specify the Mathcad File Name. An ellipsis button [...] lets you open a file browser to select a
.mcd or .xmcd file by navigating your file directories.

4.

Checking Insert Mathcad file in the project places an embedded object in the schematic. If
left unchecked, the component is linked to an external Mathcad .mcd file.

5.

The Data Exchange field can be set to Complete or Single.


Selecting Single returns a single number, whereas Complete returns a vector. The choice of
Single or Complete is valid for all Mathcad outputs. Matrix arrays and complex numbers cannot be returned to Simplorer directly. Instead, these variables must be converted in Mathcad
into the appropriate format.

6.

The Link Assignment panel contains buttons for you to Add or Delete link assignments.
a.

Click the Add button


(the button with the dashed square and lightning symbol) to
display a row of fields for the link assignment.
Field

Description

Mathcad Variable Enter the identifier for the variable.


Default Value

Specify an initial value for the variable.

Direction

A drop-down menu lets you specify whether the variable supplies data
values To Mathcad or receives data values From Mathcad.

Add Pin

Use the checkbox to add a pin for the variable to the component symbol.

Description

Enter a description of the link, if desired.

b.
7.

You can delete existing link assignments by selecting them from the list and clicking the
Delete button
.

The Run Mathcad button lets you launch Mathcad.

Click OK to close the dialog and apply the changes or Cancel to close without changes.

Adding a Dynamic Coupling Component SubCircuit


The following general procedure provides an overview for adding a dynamic coupling component
subcircuit to a Simplorer design. Detailed information for each dynamic coupling component type
is also available following this general procedure.

Product Coupling 11-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics

Maxwell Coupling Component Subcircuits


Rmxprt Dynamic Component Subcircuits
Q3D Dynamic Component SubCircuits

1.

Select the appropriate command from the following list to add the corresponding model type:

Subcircuit>Add RMxprt Dynamic Component


Subcircuit>Maxwell Component>Add Transient Cosimulation
Subcircuit>Maxwell Component>Add Dynamic Inductance
Subcircuit>Maxwell Component>Add Dynamic Capacitance
Subcircuit>Maxwell Component>Add Equivalent Circuit
Subcircuit>Maxwell Component>Add State Space
Subcircuit>Q3D Dynamic Component>Add Equivalent Circuit
Subcircuit>Q3D Dynamic Component>Add State Space

A <Model_Type> Dynamic Coupling dialog box appears, and Simplorer launches the application in which the model type was created.
Note

You can resize the coupling dialog box to allow you to view long field entries in the
Name and File input fields, and in all dropdown lists as shown in the example below.

11-10 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

On the Link Description tab:


a.

Note

b.

specify a Name for the component. Refer to Names of Components and Variables for
naming conventions.
The name specified cannot be the same as any existing coupling component and/or
model.
In the Selection panel, enter the project File. An ellipsis button opens a file selection dialog that lets you navigate to find and select the Maxwell (or RMxprt) model file (*.mxwl)
or Q3D model file (*.q3dx) that you want to use.
The selected project is loaded into its application.

c.

Select either a 2D or 3D Design Type as appropriate for your model.


Simplorer communicates with the models source application, retrieves the applicable
Design, Solution, Matrix (Maxwell only) or Reduced Matrix (Q3D only) information,
and Scale (Maxwell only) and populates the corresponding fields with the information.
The dialog boxs Information tab is also updated to show the Number of Conservative
Pins and various other Quantities present in the selected model.

d.

After you select the File and Design Type, select the design you wish to use in the coupled
model from the list in the Design drop down menu.
Product Coupling 11-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

e.

Select the desired solution from the Solution drop down menu.

f.

For Maxwell Dynamic Inductance, Dynamic Capacitance, and State Space coupling
components, select the Matrix to be used with the component during simulation.

g.

Optionally, for Maxwell Dynamic Inductance, and Dynamic Capacitance coupling


components, set the Scale to be passed on to Maxwell during simulation, where it performs the same function as the Maxwell Symmetry Multiplier setting. Maxwell then
passes the results back to Simplorer. (Refer to Setting a Symmetry Multiplier in the Maxwell online help for additional information.)

Note

Coupling components created in Simplorer versions prior to version 10 may need to be


recreated to enable use of the Scale setting.

h.

For Q3D Equivalent Circuit, and State Space dynamic coupling components, select the
Reduced Matrix to be used with the component during simulation.

i.

If you wish to edit the active project in its own application, click the Edit Project button
on the Link Description tab to open the project in its application window.

Note

Be sure to re-run the project analysis after making changes.

3.

Edit the project as desired.

When finished editing, click the Obtain Design Information button to update the
data in the Information panel.
If you added new designs or solutions, or changed the name of an existing design or
solution, you may need to re-select the desired Design and Solution from the lists in
the respective drop down menus.

On the Options tab:


a.

Select Save project after use to have the linked project file saved by its application after
co-simulation is completed.

b.

Select Unload project after use to have the linked project file closed by its application
after co-simulation is completed.

c.

If appropriate for your coupling component type, select Create static link to create a
static link and enable the Clear Static Cache button.

If Create static link is not selected, Simplorer obtains sml/netlist information from
the coupled product application every time a simulation analysis is run even if no
parameter has changed. This is the default behavior.
If Create static link is selected, Simplorer obtains sml/netlist information from the
coupled product application only if a parameter value has changed since the previous
simulation run. Clicking the Clear Static Cache button deletes the sml/netlist information currently stored in the Simplorer model. The next simulation run will then
obtain fresh sml/netlist information from the other product application and store it in
the Simplorer model.

11-12 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

d.
Note

Choose to show either the Pin Name or Pin Description on the new component. By
default, pin names are shown.
Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

e.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.

For Maxwell and Q3D State Space coupling components:

Choose a Reference Pins option from the drop-down menu. Choices allow you to
Automatically ground reference pins through call line, to Show all reference
pins, and to Show one reference pin.
Choose whether or not to Enforce Passivity.
Specify Desired Fitting Error (Percent) and Maximum Order values.

4.

The dialog boxs Information tab shows the Number of Conservative Pins and various other
Quantities present in the selected model. Users can choose to add pins for listed Quantities.

5.

When finished click OK to accept the values and close the dialog.

Note

6.

Place the component on the schematic sheet as you would any other component.

Note

7.

If a model is generated with this component, it will be given the same name as the
component. Also, the name specified cannot be the same as any existing coupling
component and/or model. An informational dialog box displays if the name chosen in
step 2 is already used by another coupling component or model.

The dynamic coupling component configuration is saved with the schematic sheet.
Simplorer must establish a link to the associated application each time a simulation is
run.

After placing the component on a sheet, its Properties dialog box may be opened for configuration of the component.

Note

On the Properties dialog box Parameter Values tab, clicking the component Data
button opens the <Component_Type> Dynamic Coupling dialog box in read-only mode
so that you can review the coupling settings. If the component instance contains SML
code, the dialog box contains a Preview tab on which you can view the SML code.

Product Coupling 11-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Maxwell Coupling Components


Coupling between Simplorer and Maxwell can take several forms depending upon user requirements. The following types of coupling components are available to use detailed electromagnetic
field simulation models in the Simplorer environment:

Transient Cosimulation
Equivalent Circuit
Dynamic Inductance
Dynamic Capacitance
State Space

Maxwell Transient Cosimulation Component


Maxwell is an interactive software package that uses Finite Element Analysis (FEA) to solve 2D
and 3D electromagnetic problems. To analyze a problem, the component designer specifies the
appropriate geometry, material properties, and excitations for a device or a system of devices.
When a Transient Cosimulation Component subcircuit is used in a Simplorer design, Maxwell
2D or 3D transient and Simplorer transient solvers exchange data during each simulation time step.

This section contains information on:

Program Requirements
Transient Cosimulation Interface concept
Maxwell 2D Finite Element Model Prerequisites
Adding a Maxwell Transient Cosimulation Component
Preparing a Maxwell 2D Transient Model for a Link to Simplorer
How to Use a Maxwell 2D Finite Element Model in Simplorer
Continuing a Cosimulation with Maxwell

Transient Cosimulation Component Program Requirements

Simplorer 8.0 or higher.


Maxwell 2D or 3D version 10.0 or higher, on a Windows platform only.

11-14 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Maxwell 2D or 3D v10 Updates for the Transient Link:

For two-way interactive use, Maxwell must be installed and licensed on the same
computer as Simplorer.
If the computer is connected to a network and is set to obtain an IP address
automatically, and the computer has an IP address in the range 192.168.x.y,
disconnecting from the network while co-simulating will cause the co-simulation to
stop.
Maxwell 2D or 3D may be installed on a different computer than the Simplorer
Installation - provided that a TCP/IP link can be established between the two
computers for co-simulation.

Transient Cosimulation Component Interface Concept


The Maxwell 2D and 3D Transient solvers incorporate circuit equations into the finite element
system of equations. Maxwell uses a loop form of the circuit equations, while Simplorer uses a
nodal form of the circuit equations. After each time step, Simplorer forms a Norton-equivalent
of the drive circuit at the coupling pins between the Maxwell component and the rest of the
system. Maxwell converts this to a loop matrix, solves the finite element equations, and then
outputs a Thevenin-equivalent for the next Simplorer time step. This parameter-based coupling
enhances solution accuracy and stability.

Simplorer controls the time step during simulation, and also controls the rotational speed or linear
velocity of the Maxwell component.

Product Coupling 11-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

During each time step, the two solvers exchange coupling matrix data over TCP/IP connections.
Since the data exchange is relatively small, the Maxwell 2D or 3D Transient and the Simplorer
transient solvers can run on different computers, as long as they have access to each other over a
TCP/IP network (which can include the Internet).

Maxwell 2D and 3D Finite Element Model Prerequisites


A Maxwell 2D or 3D Transient project must satisfy the following requirements before Simplorer
can link to it:

Note

The model must be ready to solve.


The model must have mechanical motion.
The model must have at least one external winding.
It is recommended that design names avoid using illegal characters such as the space
character. Illegal characters are replaced with an underscore character. Refer to the section
on naming conventions for additional information.
It is recommended, but not required, that the model be solved under some conditions, such
as without external windings, or with a very simple TDSLink external circuit.
Please refer to the Maxwell documentation for detailed information on working with
Maxwell 2D and 3D projects.

After Simplorer runs the Maxwell 2D or 3D Transient project, the model, mesh, materials, sources,
and boundary conditions will remain unchanged. But the following changes will occur:

The previous solution is over-written, and most likely is different from a standalone Maxwell 2D or 3D Transient solution.
Time step and stopping time may change.
Mechanical transient setup will have been disabled, but the functions are still there.
User control program will have been replaced by tdslink_tcp.exe. This should not be configured manually from m2dfs.

Adding a Maxwell Transient Cosimulation Component


Note

While Simplorer allows you to add more than one Maxwell Transient Cosimulation
component to a schematic, only one can be active for simulation. You must deactivate all
others before successful simulation can proceed.

To add a Maxwell Transient Cosimulation component to a Simplorer design:


1.

On the Simplorer Circuit main menu, select Subcircuit>Maxwell Component>Add


Transient Cosimulation.
This launches the Maxwell application. The Maxwell Transient-Transient coupling dialog box appears after Maxwell has finished loading.

2.

On the Link Description tab, specify a Name for the component. Refer to Names of Components and Variables for naming conventions.

11-16 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

In the Selection panel, click the [...] button to open a file browser window, and locate and
choose the Maxwell Finite Element model .mxwl file containing the design you wish to
add.
The selected project is loaded into Maxwell.

4.

Select either a 2D or 3D Design Type as appropriate.


Simplorer communicates with Maxwell to load the selected file. A list of designs is
retrieved from the Maxwell file and displayed in the Design drop-down menu.
The dialog boxs Information tab is also updated to show the Number of Conservative
Pins and various other Quantities present in the selected model. You can choose to add
pins to the component for listed Quantities.

5.

Select the Design and related Solution you wish to use from the drop-down lists on the
Link Description tab.

6.

On the Options tab, choose to show either the Pin Name or Pin Description on the new
component. By default, pin names are shown.

Note

Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

7.

If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.
Optionally, choose to Save and/or to Unload the Maxwell project after use by checking the appropriate checkboxes.

Optionally on the Link Description tab, choose the Edit Project button to open the Maxwell project window if you wish to edit the model directly in Maxwell.
a.

Note

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.

Edit the model in Maxwell.

Be sure to re-run the model analysis after making changes to the model.
b.

When finished editing, click the Obtain Design Information button to update the
data on the Information tab.

8.

When finished, click OK to accept the values and close the dialog, or Cancel to close the
dialog without the changes.

9.

Place the component on the schematic sheet as you would any other component.

10. After placing the component on a sheet, the Properties dialog may be opened for configuration of the component. The component includes the following outputs on the Quantities
Product Coupling 11-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tab, which may be plotted in display elements or saved with simulation results:

Note

For each winding: the current, terminal voltage, flux linkage, and internal EMF.
Total core loss.
Total winding conductor loss.
For linear motion: the force, displacement, and velocity.
For rotational motion: the torque, angle, and speed.

The Transient Cosimulation coupling configuration is saved with the schematic sheet.
Simplorer must establish a link to Maxwell 2D each time the simulation is run.

Preparing a Maxwell 2D or 3D Transient model for a link to Simplorer


The following steps outline the process for preparing and using a Maxwell 2D or 3D Transient
component in a Simplorer Transient simulation.
1.

Open a Maxwell project or create a new project using the Maxwell Desktop.

2.

Right click on the design name in the Project Manager window. Choose Solution Type in
the shortcut menu.
The Solution Type dialog box appears.

3.

Click the Transient radio button in the Magnetic section of the dialog box and click OK.

4.

Right-click on the design name in the Project Manager window. Choose Design Settings
in the shortcut menu.

5.

Note

a.

If necessary, choose Symmetry Multiplier tab and type the appropriate symmetry
value.

b.

Choose the Advanced Product Coupling tab and check the Enable transient link
with Simplorer checkbox.

c.

If a 2D design is involved choose the Model Depth tab and enter a value, and the
appropriate units, to represent the length of the device.

d.

Click OK to accept the changes and dismiss the dialog.

Transient-Transient coupling requires a motion setup in Maxwell as follows:


a.

Right-click on Model in the Project Manager window and choose Motion Setup/
Assign Band..., from the shortcut menu.

b.

Choose the Type tab within the Motion Setup dialog box and set the desired Motion
Type and the corresponding Moving Vector.

c.

Click OK.

You do not need to define an initial position since the initial condition will be established
by the Simplorer simulator.

6.

Define the appropriate boundary conditions using the Maxwell2D/Boundaries menu.

7.

Define the model excitation using the Maxwell2D/Excitations menu. The Maxwell

11-18 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

model must have at least one external winding as follows:

Note

8.
Note

9.

a.

When assigning the Coil Excitation the user should enter the coil Name, the Number
of Conductors and the appropriate Polarity and then click OK. This step has to be
performed for each Coil definition.

b.

When assigning a Winding configuration for a selected Coil Excitation, the Winding Type should be External as either Solid or Stranded. The user should define the
number of parallel branches and then click OK.

You do not need to define an initial current since the initial condition will be established
by Simplorer simulator.
Add a Solution Setup under Analysis.
The Maxwell simulation end time (Tend) must be greater than or equal to that of
Simplorer. All the other options within the Solve Setup are optional as far the Simplorer
coupling task is concerned.
Save the Maxwell Project. If you exit the Maxwell simulator, Simplorer will launch it
again in a non-graphical Extractor mode to establish the link. If you leave Maxwell
open, the link will be established with the open Maxwell Desktop and you will be able to
monitor the solution process in Maxwell as well as any messages that may be displayed
during the simulation process.

For more information regarding Motion Setup, Boundaries, Excitations or Solution Setup in
Maxwell, consult the Maxwell documentation.

How to Use a Maxwell 2D or 3D Finite Element Model in Simplorer


The following steps outline the process for preparing and using a Maxwell 2D or 3D Finite
Element model in Simplorer.
1.

Create a model of the component in Maxwell 2D or 3D Transient, including the geometry,


a moving band, materials, boundary conditions, external windings, and mesh.

2.

Solve the problem in Maxwell to ensure that the Maxwell 2D or 3D Transient project is
set up correctly. Errors in the Maxwell project cannot be corrected from Simplorer.

Note

Please refer to the Maxwell documentation for detailed information on creating and
solving the Maxwell 2D or 3D model.
This preliminary Maxwell solution need not be for the same conditions or ending
time that Simplorer will establish.

3.

Ensure that Simplorer has run-time access to Maxwell, either on the same computer, or
another computer on the network via TCP/IP.

4.

Establish a link to the Maxwell 2D or 3D Transient project, and place a Maxwell Transient
Cosimulation Component on the Simplorer schematic.
Product Coupling 11-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Connect electrical and mechanical pins of the Maxwell Transient Cosimulation component to other models on the Simplorer schematic.

6.

Select a Transient Analysis Setup for the simulation. Attempting to simulate using either
AC and DC analysis setups will fail setup with resulting error messages in the Message
Manager.

7.

Run the simulation in Simplorer.


Maxwell 2D or 3D Transient will start automatically in a co-simulation mode.

Continuing a Cosimulation with Maxwell


After a successful simulation, either to completion or clean-stopped, you can continue the simulation from the current end time.
To enable this possibility:

Note

You must first have saved a Simulation State (KRN) file at the end of simulation.

When using Simplorer-Maxwell Transient Cosimulation, save / load state only works
with the largest time at which Maxwell was solved. (This is because Maxwell can
currently only save one state.) While it is possible to start from an earlier saved time,
results may be incorrect.
For example, suppose you solve a transient analysis up through 1second and save the
simulation state to a file named one_second.krn, then load one_second.krn and solve
up through 2seconds and save the new state to a file named two_seconds.krn; if you
then reload one_second.krn and solve, Simplorer may give incorrect results because the
internal state of Maxwell is as it was at 2 seconds. Resuming from two_seconds.krn will
give correct results.

Note

You must load the saved KRN file at the beginning of the continuing simulation.

To specify the saving and loading of Simulation State (KRN) files, see Design Settings.

You must specify an end time greater than the current end time. To reset the end time,
double click on the analysis setup in the project window.

Then, simply start analysis. Simulation can be extended this way as many times as desired.

11-20 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

If Maxwell is used non-interactively i.e., the Save project after use checkbox is
unchecked, it shuts down after each simulation and results data is lost if not saved, so a
KRN file cannot be used successfully.
If Save project after use is checked, the end time in the setup must be made greater
before the KRN file is loaded or Simplorer simulation will fail.
If KRN file save or load is set and the Maxwell project is not set to be saved the
following error message displays:
The Maxwell TR-TR coupling component is not set to save the Maxwell project, but
saving or loading a state file has been specified. Maxwell results valid at the state file's
end time will be necessary when using a state file.

Note

Unlike usage in a non-cosimulation setting, a specific Simulation State (KRN) file


cannot be reused once Maxwell has results at a later time. Also, the Enable continue to
solve option is ignored for cosimulation with Maxwell.

Maxwell Equivalent Circuit Component


Maxwell is an interactive software package that uses finite element analysis to solve twodimensional (Maxwell 2D) or three-dimensional (Maxwell 3D) electromagnetic problems. To
analyze a problem, the component designer specifies the appropriate geometry, material properties,
and excitations for a device or a system of devices. The Export Equivalent Circuit function in
Maxwell allows you to create a circuit model whose behavior at the input/output pins models the
characteristic of the device based on the solution of the electromagnetic fields.
When this subcircuit is used in a Simplorer design, Maxwell solves the equivalent circuit problem
first, and then exports a model for Simplorer. These models can be used for AC, DC, and transient
analysis in Simplorer.

This chapter contains information on:

Maxwell Equivalent Circuit Component Program Requirements


Maxwell Equivalent Circuit Component Interface Concept
Adding a Maxwell 2D Finite Element Component
Preparing a Maxwell Equivalent Circuit Model for Simplorer
How to Use a Maxwell Equivalent Circuit Model in Simplorer

Product Coupling 11-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Maxwell Equivalent Circuit Component Program Requirements

Note

Simplorer 8.0 or higher.


Maxwell 2D 8.0 or higher, or Maxwell 3D 9.0 or higher.

For two-way interactive use, Maxwell must be installed and licensed on the same
computer as Simplorer. However, Maxwell equivalent circuit models may be used
in Simplorer without a Maxwell license.
If the computer is connected to a network and is set to obtain an IP address
automatically, and the computer has an IP address in the range 192.168.x.y,
disconnecting from the network while co-simulating will cause the co-simulation to
stop.

Maxwell Equivalent Circuit Component Interface Concept


The Maxwell Equivalent Circuit Component interface allows the offline coupling between a
Simplorer and a Maxwell model. At the same time you can integrate couplings to other simulators such as Simulink. During simulation an automatic step width control in Simplorer takes
place. Equivalent Circuit models are created independently in Maxwell, then imported by Simplorer and placed on a schematic as components.

Adding a Maxwell Equivalent Circuit Component


To add a Maxwell Equivalent Circuit component to a Simplorer design:
1.

On the Simplorer Circuit main menu, select Subcircuit>Maxwell Component>Add


Equivalent Circuit.
This launches the Maxwell application. The Maxwell Equivalent Circuit Model dialog
appears after Maxwell has finished loading.

2.
Note

3.
Note

Specify a Name for the component. Refer to Names of Components and Variables for
naming conventions.
The model generated with this component will be given the same name as the
component. Also, the specified name cannot be the same as any existing coupling
component and/or model.
In the Selection panel, click the [...] button to open a file browser window, and locate and
choose the Maxwell EC model .mxwl file containing the design you wish to add.

It is recommended that design names avoid using illegal characters such as the
space character. Illegal characters are replaced with an underscore character.
Refer to the section on naming conventions for additional information.

The selected project is loaded into Maxwell.


4.

Select either a 2D or 3D Design Type as appropriate for your model.


Simplorer communicates with Maxwell to load the selected file. A list of designs is

11-22 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

retrieved from the Maxwell file and displayed in the Design drop-down menu.
The dialog boxs Information panel is also updated to show the Number of Conservative Pins and various other Quantities present in the selected model. You can choose to
add pins to the model for listed Quantities.
5.

Select the Design you wish to use from the drop-down list.
The Information tab displays the following information:

a.
Note

Quantities lists the Name and Value of model parameters that can be included in
the imported model by checking Add Pin.
Optionally, the Edit Project button opens the Maxwell project window if you wish to
edit the model.
Edit the model in Maxwell.

Be sure to re-run the model analysis after making changes to the model.
b.

6.

The Number of Conservative Pins in the model.

When finished editing, click the Obtain Design Information button to update the
data in the Information panel.

Click Extract Equivalent Circuit.


The Export Equivalent Circuit>From Parametric Solutions wizard is launched in
Maxwell. Refer to the Maxwell documentation for help with the wizard dialogs.
The Maxwell Desktop is displayed with the Export Equivalent Circuit wizard running.
Select the Model Type from the list below for further instructions:

Linear Motion
Rotational Motion
Matrix
Transformer
Lookup Table

When finished with the wizard, the Quantities listing is updated. Select any parameter
pins you wish to include in the imported model.
7.
Note

On the Options tab, choose to show either the Pin Name or Pin Description on the new
component. By default, pin names are shown.
Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide indiProduct Coupling 11-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

vidual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.

8.

Selecting the Unload project after use checkbox causes Maxwell to close the project
and shut down after the Simplorer simulation is complete. This will release the Maxwell license.

When finished, click OK to accept the values.


Simplorer generates the equivalent circuit model component and closes the dialog box.

Note

9.

The model generated with this component will be given the same name as the
component. Also, the specified name cannot be the same as any existing coupling
component and/or model. An informational dialog box displays if the name chosen in
step 2 is already used by another coupling component or model.
Place the component on the schematic sheet as you would any other component.

10. After placing the component on a sheet, its Properties dialog may be opened for configuration of the component. The component includes the following outputs on the Quantities
tab, which may be plotted in display elements or saved with simulation results:

For each winding, the current, terminal voltage, flux linkage, and internal EMF
Total core loss
Total winding conductor loss
For linear motion, the force, displacement, and velocity
For rotational motion, the torque, angle, and speed

The Equivalent Circuit coupling configuration is saved with the schematic sheet. Simplorer must establish a link to Maxwell each time the simulation is run.

Preparing a Maxwell Equivalent Circuit Model for Simplorer


The following steps outline the process for preparing and using a Maxwell Equivalent Circuit
model in Simplorer.
1.

Create a model of the component in Maxwell, including the geometry and material properties.

2.

Define the appropriate boundary conditions under Boundaries.

3.

Define the model excitation under Excitations.


a.

Note

4.

When assigning the Excitation as Current the user should enter the Current Excitation Name, the Value as an independent variable, the Type as either Solid or
Stranded and then click OK.

This step has to be performed for each terminal or group of terminals are intended to be
included on Current Excitation definitions.
Define the appropriate model parameters assigning them under Parameters.

11-24 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

a.

When considering exporting a matrix into the circuit design, you must assign a
Matrix:

b.

In the Matrix dialog box, click the Include checkbox for each of the existing
sources to be included into the matrix calculation.
Use the Post Processing tab to specify turns and group together windings to better represent the physical winding topology.

When considering exporting a specific force calculation into circuit design as a measure of the mechanical through quantity of a linear motion design, a solid object has
to be selected and a Force parameter defined:

c.

Right-click on Parameters and select Assign>Matrix.

Select a portion of the geometry on which to calculate the force.


Right-click on Parameters and select Assign>Force.
In the Force Setup dialog box, enter a Name for the force parameter.
Select the Type of the force computation, either Virtual or Lorentz force.
Use the Post Processing tab to set a coordinate system of reference.

When considering exporting a specific torque calculation into circuit design as a measure of the mechanical through quantity of a rotational motion design, a solid object
has to be selected and a Torque parameter defined:

Select a portion of the geometry on which to calculate the torque.


Right-click on Parameters and select Assign>Torque.
In the Torque dialog box, enter a Name for the Torque parameter.
Select the Type of the torque computation, either Virtual or Lorentz torque.
Select the Axis about which to calculate the torque, and the rotational sign.

5.

Solve the problem in Maxwell to ensure that the Maxwell project is set up correctly.
Errors in the Maxwell project cannot be corrected from Simplorer.

Note

Please refer to the Maxwell documentation for detailed information on creating and
solving the Maxwell model.

6.

Add a Solution Setup under Analysis. The Maxwell simulation end time (Tend) must be
greater than or equal to that of Simplorer.

7.

Add a Parametric Setup within Optimetrics.


The Parametric Setup must have the selected independent variables varied to form a complete nested parametric solution (e.g. if two variables are entered as Current with the variations 1, 2, 3 and second independent variable Position with the variations 0, 10, 20 then
the parametric table will have for first variation value of the Current 1, a sweep of all
available variations for Position and so on. So the very first three rows within the parametric table will represent the very first parametric nest solution and it will be sufficient to

Product Coupling 11-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

extract an equivalent circuit to be imported into circuit design).


Note

In order to extract an equivalent circuit within the Parametric Setup there is no need to
define any Calculations entries unless this is a user choice to bring more field related
quantities as outputs into the circuit design.

8.

Save the Maxwell Project.

9.

Ensure that Simplorer has run-time access to Maxwell on the same computer or another
computer on the network.

10. Establish a link to the Maxwell Equivalent Circuit model project, and place a Maxwell
Equivalent Circuit Model component on the Simplorer schematic.
11. Connect electrical and mechanical pins of the Maxwell Equivalent Circuit model component to other models on the Simplorer schematic.
Note

Equivalent Circuit models exported from Maxwell that have mechanical pins must be
connected by these pins to a mechanical subsystem having a ROTATIONAL _V nature.
For versions of Maxwell lower than Version 10, Service Pack 1, this must be done using
a Domain to Domain component. For later versions, the connection can be made
directly.

12. Run the simulation in Simplorer.


13. Switch back to Maxwell if you need to update the model design.

Linear Motion Equivalent Circuits


When exporting a Linear Motion model type:
1.

Choose the appropriate Parametric Setup (defined within Optimetrics).

2.

Choose the Solution Setup.

3.

Choose the Matrix Setup.

4.

Choose the Force Setup and select its coordinate representation as component.

5.

Choose the appropriate Current Variables Represent value as Ampere-Turns or


Amperes.

Note

If within the Excitation definition the Solid configuration is selected to represent the
topology of the winding then the swept values of the current independent variable in the
parametric table has a physical meaning of Amperes or if within the Excitation definition
the Stranded configuration is selected to represent the topology of the winding then the
swept values of the current independent variable in the parametric table has a physical
meaning of Amperes-Turns.

6.

Click Next.

7.

Under Circuit Inputs and Outputs the user may select the appropriate Type for each
entry (e.g., Current for independent variable which stands for current excitation, and

11-26 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Position for independent variable which stands for motion definition) and define the
Extrapolation method only for Inputs based on specific design considerations choosing the
Bezier Interpolation method (for both Inputs and Outputs) or using the default Linear
Interpolation method.
8.

Click Next.

9.

Under Terminals dialog the user has to define the Scaling Factor (the default is 1 considering that the geometry and Boundary Conditions are related to the whole device). The
user may set accordingly the Coil Terminals (in terms of Resistance, Turns and Branches)
based on the definition of the Matrix entry. The Mechanical Terminals are automatically
selected based on the selections made at the Circuit Inputs and Outputs dialog.

Rotational Motion Equivalent Circuits


When exporting a Rotational Motion model type:
1.

Choose the appropriate Parametric Setup (defined within Optimetrics).

2.

Choose the Solution Setup.

3.

Choose the Matrix Setup.

4.

Choose the Torque Setup.

5.

Choose the appropriate Current Variables Represent value as Ampere-Turns or


Amperes.

Note

If within the Excitation definition the Solid configuration is selected to represent the
topology of the winding, then the swept values of the current independent variable in the
parametric table has a physical meaning of Amperes; or if within the Excitation
definition the Stranded configuration is selected to represent the topology of the
winding, then the swept values of the current independent variable in the parametric
table has a physical meaning of Amperes-Turns.

6.

Click Next.

7.

Under Circuit Inputs and Outputs the user may select the appropriate Type for each
entry (e.g. Current for independent variable which stands for current excitation and Rotation for independent variable which stands for motion definition) and define the Extrapolation method only for Inputs based on specific design considerations choosing the Bezier
Interpolation method (for both Inputs and Outputs) or using the default Linear Interpolation method.

8.

Click Next.

9.

Under Terminals dialog the user has to define the Scaling Factor (the default is 1 considering that the geometry and Boundary Conditions are related to the whole device). The
user may set accordingly the Coil Terminals (in terms of Resistance, Turns and Branches)
based on the definition of the Matrix entry. The Mechanical Terminals are automatically
selected based on the selections made at the Circuit Inputs and Outputs dialog. The user
may check the box to Use rotational velocity as mechanical terminals conservative definition for the circuit design component (e.g. if the box is unchecked the DisplacementProduct Coupling 11-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Force-Representation as Rotational is used otherwise the Velocity-Force-Representation


as Rotational_V is employed).

Matrix Equivalent Circuits


When exporting a Matrix model type:
1.

Choose the appropriate Parametric Setup (defined within Optimetrics).

2.

Choose the Solution Setup.

3.

Choose the Matrix Setup.

4.

Choose the appropriate Current Variables Represent value as Ampere-Turns or


Amperes.

Note

If within the Excitation definition the Solid configuration is selected to represent the
topology of the winding then the swept values of the current independent variable in the
parametric table has a physical meaning of Amperes or if within the Excitation definition
the Stranded configuration is selected to represent the topology of the winding then the
swept values of the current independent variable in the parametric table has a physical
meaning of Amperes-Turns.

5.

Click Next.

6.

Under Circuit Inputs and Outputs the user may select the appropriate Type for each
entry (e.g. Current for independent variable which stands for current excitation) and
define the Extrapolation method only for Inputs based on specific design considerations
choosing the Bezier Interpolation method (for both Inputs and Outputs) or using the
default Linear Interpolation method.

7.

Click Next.

8.

Under Terminals dialog the user has to define the Scaling Factor (the default is 1 considering that the geometry and Boundary Conditions are related to the whole device). The
user may set accordingly the Coil Terminals (in terms of Resistance, Turns and Branches)
based on the definition of the Matrix entry.

Transformer Equivalent Circuits


When exporting a Transformer model type:
1.

Choose the appropriate Parametric Setup (defined within Optimetrics).

2.

Choose the Solution Setup.

3.

Choose the Matrix Setup.

4.

Choose the appropriate Current Variables Represent value as Ampere-Turns or

11-28 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Amperes.
Note

If within the Excitation definition the Solid configuration is selected to represent the
topology of the winding then the swept values of the current independent variable in the
parametric table has a physical meaning of Amperes or if within the Excitation definition
the Stranded configuration is selected to represent the topology of the winding then the
swept values of the current independent variable in the parametric table has a physical
meaning of Amperes-Turns.

5.

Click Next.

6.

Under Circuit Inputs and Outputs the user may select the appropriate Type for each
entry (e.g. Current for independent variable which stands for current excitation) and
define the Extrapolation method only for Inputs based on specific design considerations
choosing the Bezier Interpolation method (for both Inputs and Outputs) or using the
default Linear Interpolation method.

7.

Click Next.

8.

In the Terminals dialog the user has to define the Scaling Factor (the default is 1 considering that the geometry and Boundary Conditions are related to the whole device). The
user may set accordingly the Coil Terminals (in terms of Resistance, Turns and Branches)
based on the definition of the Matrix entry.

Lookup Table Equivalent Circuits


When exporting a Lookup Table model type:
1.

Choose the appropriate Parametric Setup (defined within Optimetrics).

2.

Click Next.

3.

Under Circuit Inputs and Outputs the user may select the appropriate Type for each
entry (e.g. Current for independent variable which stands for current excitation and Rotation for independent variable - if any - which stands for motion definition) and define the
Extrapolation method only for Inputs based on specific design considerations choosing the
Bezier Interpolation method (for both Inputs and Outputs) or using the default Linear
Interpolation method.

Note

In case of Lookup Table choice the user has to enter Calculations under Parametric
Setup within Optimetrics to be able to get output entries in the Table dialog within
the extraction wizard.
User should use Simplorer compiler supported characters when naming these
calculations entries within Optimetrics otherwise the user will encounter Simplorer
compiler errors when instantiating the ECE component).

Product Coupling 11-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

How to Use a Maxwell Equivalent Circuit Model in Simplorer


The following steps outline the process for preparing and using a Maxwell Equivalent Circuit
model in Simplorer.
1.

Create a model of the component in Maxwell, including the geometry, materials, boundary conditions, external windings, and mesh.

2.

Solve the problem in Maxwell to ensure that the Maxwell project is set up correctly.
Errors in the Maxwell project cannot be corrected from Simplorer.

Note

Please refer to the Maxwell documentation for detailed information on creating and
solving the Maxwell model.

3.

Ensure that Simplorer has run-time access to Maxwell on the same computer or another
computer on the network.

4.

Establish a link to the Maxwell Equivalent Circuit model project, and place a Maxwell
Equivalent Circuit component on the Simplorer schematic.

5.

Connect electrical and mechanical pins of the Maxwell Equivalent Circuit component to
other models on the Simplorer schematic.

Note

Equivalent Circuit models exported from Maxwell that have mechanical pins must be
connected by these pins to a mechanical subsystem having a ROTATIONAL_V nature.
For versions of Maxwell lower than Version 10, Service Pack 1, this must be done using
a Domain to Domain component. For later versions, the connection can be made
directly.

6.

Run the simulation in Simplorer.

7.

Switch back to Maxwell if you need to update the model design.

Exporting a Maxwell Equivalent Circuit Model


You can export an Equivalent Circuit model to a .sml file. The exported model can then be
imported and used by a Simplorer user who does not have Maxwell.
To export a Maxwell Equivalent Circuit model to a file:
1.

Create the Maxwell 2D or 3D model with the required coupling information.

2.

Solve the model to ensure that the EC model is set up correctly.

3.

Export the EC model as an .sml file using the Maxwell 3D>Export Equivalent Circuit>From Parametric Solution command. A corresponding .gif graphic file is also created. This graphic appears on the schematic

Note

If you are sending this model to another user, the exported .sml file is required but the
.gif file is optional.

Note

See Exporting Equivalent Circuit Data in the Maxwell Online Help for more
information.

11-30 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Maxwell Dynamic Inductance Coupling Component


ANSYS Maxwell Inductance Dynamic coupling components allow you to extract inductance data
from a Maxwell inductance matrix solution and use the data in a Simplorer circuit.
This section contains information on:

Program Requirement for Maxwell Dynamic Inductance Coupling


Maxwell Inductance Coupling Component Interface Concept
Overview of Maxwell Dynamic Inductance Coupling
Adding a Maxwell Dynamic Inductance Coupling Component

Program Requirements for Maxwell Inductance Dynamic Coupling

Simplorer 8.0 or higher.


Licensed version of ANSYS Maxwell 12.0 or higher.

Maxwell Inductance Coupling Component Interface Concept


The Maxwell Inductance Dynamic component provides dynamic coupling between Simplorer
and the electromagnetic field simulator. The model is very efficient, and it allows the use of
multiple instances, and coupling with other components and simulators. During simulation, the
component can limit the Simplorer time step for accurate results.

Overview of Maxwell Dynamic Inductance Coupling


To prepare and use a Maxwell Dynamic Inductance component do the following:
1.
Note

Create a Magnetostatic model of the device in Maxwell.


Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

2.

Assign a Matrix calculation in the Parameters folder of Maxwell.

3.

Perform a Magnetostatic simulation with an inductance matrix parameter setup.

4.

In Simplorer, add the Maxwell Inductance Dynamic coupling component to the sheet.

5.

Create the rest of the simulation design on the sheet.

6.

Start the simulations in Simplorer.

Adding a Maxwell Dynamic Inductance Coupling Component


To add a Maxwell Dynamic Inductance component to a Simplorer design:
1.

On the Simplorer Circuit main menu, select Subcircuit>Maxwell Component>Add


Dynamic Inductance.
The Maxwell Inductance Dynamic Coupling dialog appears.
Product Coupling 11-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

Specify a Name for the component. Refer to Names of Components and Variables for
naming conventions.

3.

In the Selection panel, click the [...] button to open a file browser window, and locate and
choose the Maxwell .mxwl file containing the design you wish to add.

Note

Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.
The selected project is loaded into Maxwell.

4.

Select either a 2D or 3D Design Type as appropriate for your coupling component.


Simplorer communicates with Maxwell to load the selected file. A list of designs is
retrieved from the Maxwell file and displayed in the Design drop-down menu.
The dialog boxs Information tab is also updated to show the Number of Conservative
Pins and various other Quantities present in the selected design. You can choose to add
pins to the coupling component for listed Quantities.

5.

Select the Design you wish to use from the drop-down list.

6.

Select the Solution and Matrix to use from the selected Design. The Information tab displays the following information:

7.

Note

8.

Note

9.

The Number of Conservative Pins in the component.


Quantities - lists the Name and Value of parameters that can be included in the
imported model by checking Add Pin.

For 2D designs, a Depth field is displayed. Enter a positive number for the design length
in this field. The default unit of length is meter. You can change this to any valid unit of
length (ft or cm, for example). If you omit the unit of length, the component will use
the default unit of length set in the Default Units tab of the General Options dialog box.
Depth is controlled based on the DEPTH_FROM_SIMPLORER design quantity of
the component instance, so changes will propagate only by changing this property on the
Quantities tab of the components Properties dialog box.
Optionally, set the Scale to be passed on to Maxwell during simulation, where it performs
the same function as the Maxwell Symmetry Multiplier setting. Maxwell then passes the
results back to Simplorer. (Refer to Setting a Symmetry Multiplier in the Maxwell online
help for additional information.)
Coupling components created in Simplorer versions prior to version 10 may need to be
recreated to enable use of the Scale setting.
Optionally, the Edit Project button opens the Maxwell project window if you wish to edit
the Maxwell project.

11-32 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Edit the project in Maxwell.

Be sure to re-run the analysis after making changes.

When finished editing, click the Obtain Design Information button to update the
data in the Information tab.

10. In the Options tab, choose to show either the Pin Name or Pin Description on the new
component. By default, pin names are shown.
Note

Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.

11. You can select the following additional options on the Options tab:

Selecting the Save project after use checkbox will cause Maxwell to save any solutions data after the Simplorer simulation, overwriting any previously saved data.
Selecting the Unload project after use checkbox will cause Maxwell to close the
project and shut down after the Simplorer simulation is complete. This will release
the Maxwell license.
The Create static link option will force Simplorer to load the data currently available
from the project and maintain it internally. Additional calls to Maxwell will not be
performed unless the properties of the component are changed. This option can result
in faster run times by minimizing the number of calls to Maxwell for data sharing.
Use the Clear Static Cache button to force Simplorer to remove the cached data and
acquired new data from Maxwell.

12. When finished, click OK to accept the values.


Simplorer generates the equivalent circuit coupling component and closes the dialog box.
13. Place the component on the schematic sheet as you would any other component.
14. After placing the component on a sheet, its Properties dialog may be opened for configuration of the component.

Maxwell Dynamic Capacitance Coupling Components


ANSYS Maxwell Dynamic Capacitance coupling components allow you to extract capacitance
data from a Maxwell capacitance matrix solution and use the data in a Simplorer circuit.
Product Coupling 11-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

This section contains information on:

Program Requirement for Maxwell Dynamic Capacitance Coupling


Maxwell Capacitance Coupling Component Interface Concept
Overview of Maxwell Dynamic Capacitance Coupling
Adding a Maxwell Dynamic Capacitance Coupling Component

Program Requirements for Maxwell Dynamic Capacitance Coupling

Simplorer 8.0 or higher.


Licensed version of ANSYS Maxwell 12.0 or higher.

Maxwell Capacitance Coupling Component Interface Concept


The Maxwell Capacitance Dynamic coupling component provides dynamic coupling between
Simplorer and the electromagnetic field simulator. The coupling component is very efficient,
and it allows the use of multiple instances, and coupling with other models and simulators.
During simulation, the coupling component can limit the Simplorer time step for accurate
results.

Overview of Maxwell Dynamic Capacitance Coupling


To prepare and use a Maxwell Dynamic Capacitance coupling component do the following:
1.
Note

Create an Electrostatic model of the device in Maxwell.


Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

2.

Assign a Matrix calculation in the Parameters folder of Maxwell.

3.

Perform an electrostatic simulation and compute the capacitance matrix.

4.

In Simplorer, add the Maxwell Capacitance Dynamic component to the sheet.

5.

Create the rest of the simulation design on the sheet.

6.

Start the simulations in Simplorer.

Adding a Maxwell Dynamic Capacitance Coupling Component


To add a Maxwell Dynamic Capacitance component to a Simplorer design:
1.

On the Simplorer Circuit main menu, select Subcircuit>Maxwell Component>Add


Dynamic Capacitance.
The Maxwell Capacitance Dynamic Coupling dialog appears.

2.

Specify a Name for the component. Refer to Names of Components and Variables for
naming conventions.

3.

In the Selection panel, click the [...] button to open a file browser window, and locate and

11-34 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

choose the Maxwell .mxwl file containing the design you wish to add.
Note

Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.
The selected project is loaded into Maxwell.

4.

Select either a 2D or 3D Design Type as appropriate.


Simplorer communicates with Maxwell to load the selected file. A list of designs is
retrieved from the Maxwell file and displayed in the Design drop-down menu.
The dialog boxs Information tab is also updated to show the Number of Conservative
Pins and various other Quantities present in the selected design. You can choose to add
pins for listed Quantities.

5.

Select the Design you wish to use from the drop-down list.

6.

Select the Solution and Matrix to use from the selected Design.
The Information tab displays the following information:

7.

Note

8.

Note

9.

Quantities - lists the Name and Value of parameters that can be included in the
imported design by checking Add Pin.

For 2D designs, a Depth field is displayed. Enter a positive number for the design length
in this field. The default unit of length is meter. You can change this to any valid unit of
length (ft or cm, for example). If you omit the unit of length, the component will use
the default unit of length set in the Default Units tab of the General Options dialog box.
Depth is controlled based on the DEPTH_FROM_SIMPLORER design quantity of
the component instance, so changes will propagate only by changing this property on the
Quantities tab of the components Properties dialog box.
Optionally, set the Scale to be passed on to Maxwell during simulation, where it performs
the same function as the Maxwell Symmetry Multiplier setting. Maxwell then passes the
results back to Simplorer. (Refer to Setting a Symmetry Multiplier in the Maxwell online
help for additional information.)
Coupling components created in Simplorer versions prior to version 10 may need to be
recreated to enable use of the Scale setting.
Optionally, the Edit Project button opens the Maxwell project window if you wish to edit
the Maxwell design.

Note

The Number of Conservative Pins in the selected design.

Edit the model in Maxwell.

Be sure to re-run the analysis after making changes.

Product Coupling 11-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When finished editing, click the Obtain Design Information button to update the
data in the Information tab.

10. In the Options tab, choose to show either the Pin Name or Pin Description on the new
component. By default, pin names are shown.
Note

Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling Show Name in the pin properties dialog box. You
can then add descriptive text to the pin using the editors Draw>Text tool.

11. You can select the following additional options on the Options tab:

Selecting the Save project after use checkbox will cause Maxwell to save any solutions data after the Simplorer simulation, overwriting any previously saved data.
Selecting the Unload project after use checkbox will cause Maxwell to close the
project and shut down after the Simplorer simulation is complete. This will release
the Maxwell license.
The Create static link option will force Simplorer to load the data currently available
from the project and maintain it internally. Additional calls to Maxwell will not be per
formed unless the properties of the component are changed. This option can result in
faster run times by minimizing the number of calls to Maxwell for data sharing. Use
the Clear Static Cache button to force Simplorer to remove the cached data and
acquired new data from Maxwell.

12. When finished, click OK to accept the values.


Simplorer generates the component and closes the dialog box.
13. Place the component on the schematic sheet as you would any other component.
14. After placing the component on a sheet, its Properties dialog may be opened for configuration of the component.

11-36 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Maxwell State Space Coupling Components


Please note the following when working with Maxwell state space components:
Note

Each port in the coupling object corresponds to two terminals, one of which is the
reference terminal. Users can choose to automatically ground all reference pins
through call line, show all reference pins, or show one reference pin. If all the
reference pins are automatically grounded through call line, none of the reference
terminals will show up in the symbol, and they will be connected to ground
internally through the netlist (e.g., T1:= %0, T1_ref:=GND). If the second option
shows all reference pins selected, then all the reference terminals will be visible on
the symbol, and users are responsible for the connecting them appropriately.
Finally, if users choose to show only one reference pin, then the reference terminals
are internally connected together, and one common pin is made available on the
symbol for connection.
The simulation end time (tend) of Maxwell must be greater than or equal to that of
Simplorer.

This section contains information on:

Program Requirement for Maxwell State Space Coupling


Overview of Maxwell State Space Coupling
Adding a Maxwell State Space Coupling Component

Program Requirements for Maxwell State Space Coupling

Simplorer 8.0 or higher.


Licensed version of ANSYS Maxwell 12.0 or higher.

Overview of Maxwell State Space Coupling


To prepare and use a Maxwell State Space coupling component do the following:
1.
Note

Create a 2D or 3D Eddy Current model of the device in Maxwell.


Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

2.

Perform a frequency sweep electromagnetic field solution using the Eddy Current solver.

3.

In Simplorer, add the Maxwell State Space component to the sheet.

4.

Create the rest of the simulation design on the sheet.

Product Coupling 11-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.
Note

Start the simulations in Simplorer.

To make changes in the Maxwell Design, you must edit the design, recalculate the
field solution, and re-export the design.
The dynamic link with the Maxwell State Space design will not automatically solve
if a change is made to the analysis settings. Most importantly, if the sweep type is
changed and therefore the frequency points themselves are changed, solving
through Simplorer will not cause Maxwell to solve automatically. The intersection
of frequencies in the old and new analyses will be used. Users must go into Maxwell
and manually solve to use the new frequency sweep.

Adding a Maxwell State Space Coupling Component


Use the following procedure to add a Maxwell State Space component to a Simplorer design.
1.

On the Simplorer Circuit main menu, select Subcircuit>Maxwell Dynamic Component>Add State Space.
The Maxwell State Space Dynamic Coupling dialog box appears.

2.

On the Link Description tab, specify a Name for the component. Refer to Names of Components and Variables for naming conventions.

3.

In the Selection panel, enter the project File. An ellipsis button opens a file selection dialog that lets you navigate to find and select the Maxwell file (*.mxwl) that you want to
use. The selected project is loaded into its application.

4.

Select either a 2D or 3D Design Type as appropriate.


Simplorer communicates with the Maxwell, retrieves the applicable Design, Solution, and
Matrix information, and populates the corresponding menus with the information.
The dialogs Information tab is also updated to show the Number of Conservative Pins
and various other Quantities present in the selected design. Users can choose to add pins
for listed Quantities.

5.
6.

Select the Design you wish to use from the drop-down list.
Select the Solution and Matrix to use from the selected Design.
The Information tab displays the following information:

7.

Quantities - lists the Name and Value of parameters that can be included in the
imported design by checking Add Pin.

If you wish to edit the active project in Maxwell, click the Edit Project button in the
Information tab to open the project in its application window.
a.

Note

The Number of Conservative Pins.

Edit the Maxwell project as desired.

Be sure to re-run the analysis after making changes.


b.

When finished editing, click the Obtain Design Information button to update the
data in the Information tab.

11-38 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

c.

8.

If you added new designs or solutions, or changed the name of an existing design or
solution, you may need to re-select the desired Design, Solution, or Matrix from the
lists in the respective drop down menus. Any changes made cause Simplorer to
request updated data from the Maxwell project.

For 2D designs, a Depth field is displayed. Enter a positive number for the design length
in this field. The default unit of length is meter. You can change this to any valid unit of
length (ft or cm, for example). If you omit the unit of length, the component will use
the default unit of length set in the Default Units tab of the General Options dialog box.

Note

Depth is controlled based on the DEPTH_FROM_SIMPLORER design quantity of


the component instance, so changes will propagate only by changing this property on the
Quantities tab of the components Properties dialog box.

9.

On the Options tab, choose to show either the Pin Name or Pin Description on the new
component. By default, pin names are shown.

Note

Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.

10. You can select the following additional options on the Options tab:

Selecting the Save project after use checkbox will cause Maxwell to save any solutions data after the Simplorer simulation, overwriting any previously saved data.
Selecting the Unload project after use checkbox will cause Maxwell to close the
project and shut down after the Simplorer simulation is complete. This will release
the Maxwell license.
The Create static link option will force Simplorer to load the data currently available
from the project and maintain it internally. Additional calls to Maxwell will not be
performed unless the properties of the component are changed. This option can result
in faster run times by minimizing the number of calls to Maxwell for data sharing.
Use the Clear Static Cache button to force Simplorer to remove the cached data and
acquired new data from Maxwell.
The Reference Pins drop-down menu allows you to choose whether to Show one
reference pin, Show all reference pins, or Automatically ground reference pins
through call line.
Product Coupling 11-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Select Enforce Passivity to...


Desired Fitting Error (Percent) sets the S-Matrix fitting error tolerance.
Maximum Order sets the number of poles...

11. When finished click OK to accept the values and close the dialog.
12. Place the component on the schematic sheet as you would any other component.
13. After placing the component on a sheet, its Properties dialog may be opened for configuration of the component.
The dynamic coupling component configuration is saved with the schematic sheet. Simplorer must establish a link to the associated application each time a simulation is run.

RMxprt Dynamic Coupling Component


RMxprt is a software package, installed with Maxwell, that can be used to design, analyze, and
optimize rotating machines. It combines rapid analytical solution with optional finite element
analysis. The RMxprt Link allows you to use a motor or generator model for system simulation in
Simplorer, and to use both programs interactively.
This section contains information on:

Program Requirement for RMxprt Dynamic Coupling


Overview of RMxprt Dynamic Coupling
Mechanical Pins for RMxprt Dynamic Coupling Components
Electrical Pins for RMxprt Dynamic Coupling Components
Adding an RMxprt Dynamic Coupling Component in Simplorer

Program Requirements for RMxprt Dynamic Coupling Components

Note

Simplorer 8.0 or higher.


Maxwell 12.0 RMxprt or higher.
For two-way interactive use, RMxprt must be installed and licensed on the same
computer as Simplorer. However, RMxprt equivalent circuit models may be used in
Simplorer without an RMxprt license.

11-40 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Overview of RMxprt Dynamic Coupling


To prepare and use an RMxprt Dynamic coupling component do the following:
1.

Open a project or create a new project in RMxprt, corresponding to the desired motor type.

Note

2.

Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

Enter basic input data, and analyze the design in RMxprt.

3.

Create the motor equivalent circuit model in RMxprt.

4.

In Simplorer, add the RMxprt coupling component to the sheet.

5.

Create the rest of the simulation design on the sheet.

6.

Start the simulations in Simplorer.

7.

Switch back to RMxprt if you need to update the motor design.

Note

RMxprt motor models are generally used for transient analysis, but they also support AC
and DC analysis.

Mechanical Pins for RMxprt Dynamic Coupling Components


Please note the following when working with RMxprt dynamic coupling components:

All motor models exported from RMxprt have two mechanical pins that must be connected to a mechanical subsystem having a ROTATIONAL_V nature.
In RMxprt 4, the port labeled Torque is an electrical current source that is grounded internally. The voltage on this pin is sensed as the motor speed. A Domain to Domain component must be used to interface with the mechanical subsystem, as shown in the figure. The
pin labeled Position is for output only, and is an electrical voltage numerically equal to the
rotor angle.
In RMxprt 5 and later versions, the mechanical pins are of ROTATIONAL_V nature, and
the Domain to Domain component need not be used. The two pins are ROT1 and ROT2,
with torque as the through variable and speed as the across variable. The angle is output as
a real number.

Electrical Pins for RMxprt Dynamic Coupling Components

Motor models exported from RMxprt 4 have the neutral grounded internally. The neutral
is not available for external connections, and in this example, the simulation runs even
though the sources are not grounded.
In RMxprt 5 and later versions, the neutral pin is available for external grounding.

Product Coupling 11-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding an RMxprt Dynamic Coupling Component in Simplorer


Use the following procedure to add an RMxprt Dynamic coupling component to a Simplorer
design.
1.

On the Simplorer Circuit main menu, select Subcircuit>Add RMxprt Dynamic Component.
The RMxprt Dynamic Coupling dialog box appears.

2.

Specify a Name for the component. Refer to Names of Components and Variables for naming
conventions.

3.

In the Selection panel, enter the project File. An ellipsis button opens a file selection dialog
that lets you navigate to find and select the RMxprt file (*.mxwl) that you want to use.
The selected project is loaded into its application.

4.

Simplorer communicates with RMxprt, retrieves the applicable Design and Solution information, and populates the corresponding menus with the information.
The dialog boxs Information tab is also updated to show the Number of Conservative Pins
and various other Quantities present in the selected design. Users can choose to add pins for
listed Quantities.

5.

After you select the File, select the design you wish to use in the coupled design from the list in
the Design drop down menu.

6.

Select the desired solution from the Solution drop down menu.

7.

Optionally, on the Options tab:


a.

Select Save project after use to have the linked project file saved by its application after
co-simulation is completed.

b.

Select Unload project after use to have the linked project file closed by its application
after co-simulation is completed.

c.

Select Create static link to create a static link and enable the Clear Static Cache button.

If Create static link is not selected, Simplorer obtains sml/netlist information from
RMxprt every time a simulation analysis is run - even if no parameter has changed.
This is the default behavior.
If Create static link is selected, Simplorer obtains sml/netlist information from RMxprt only if a parameter value has changed since the previous simulation run. Clicking
the Clear Static Cache button deletes the sml/ netlist information currently stored in
the Simplorer model. The next simulation run will then obtain fresh sml/netlist information from the other product application and store it in the Simplorer component.

By default, pin names are shown. The option to Show Description is disabled.
8.

If you wish to edit the active project in its own application, click the Edit Project button in the
Information tab to open the project in its application window.
a.

Note

Edit the project as desired.


Be sure to re-run the analysis after making changes.

11-42 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

9.

b.

When finished editing, click the Obtain Design Information button to update the data in
the Information tab.

c.

If you added new designs or solutions, or changed the name of an existing design or solution, you may need to re-select the desired Design and Solution from the lists in the
respective drop down menus.

When finished click OK to accept the values and close the dialog.

10. Place the component on the schematic sheet as you would any other component.
11. After placing the component on a sheet, its Properties dialog may be opened for configuration
of the component.
The dynamic coupling component configuration is saved with the schematic sheet. Simplorer
must establish a link to the associated application each time a simulation is run.

Example of an RMxprt Dynamic Model in Simplorer

Q3D Dynamic Coupling Components


The following Q3D components are supported for use in Simplorer:

Q3D Equivalent Circuit Component


Q3D State Space Component

Q3D Equivalent Circuit Component


ANSYS Q3D Extractor SML models are derived from electromagnetic field solutions for the
device. Typical applications include signal integrity, RF design, and wireless system design.

Product Coupling 11-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

This section contains information on:

Program Requirement for Q3D Equivalent Circuit Coupling


SML Equivalent Circuit Coupling Component Interface Concept
Overview of SML Equivalent Circuit Component Coupling
Adding an SML Equivalent Circuit Component in Simplorer

Program Requirements for Q3D Equivalent Circuit Component Coupling

Simplorer 8.0 or higher.


Licensed version of ANSYS Q3D Extractor 8.0 or higher.

Q3D Dynamic Equivalent Circuit Coupling Component Interface Concept


The Q3D Dynamic SML Equivalent Circuit coupling component provides dynamic coupling
between Simplorer and the electromagnetic field simulator. The component is very efficient,
and it allows the use of multiple instances, and coupling with other models and simulators.
During simulation, the SML model can limit the Simplorer time step for accurate results.
Note

The Q3D Equivalent Circuit component creates an equivalent circuit at a single


frequency while the Q3D State Space component creates a state-space model that is
valid over a range of frequencies.

First create a 2D or 3D model, with material and boundary assignments, in Q3D. Then perform
a frequency sweep solution on this model.

Overview of Q3D Dynamic Equivalent Circuit Component Coupling


To prepare and use a Q3D Dynamic Equivalent Circuit coupling component do the following:
1.
Note

Create a 2D or 3D model of the device in Q3D.


Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

2.

Perform a frequency sweep electromagnetic field solution.

3.

In Simplorer, add the Q3D Dynamic Equivalent Circuit component to the sheet.

4.

Create the rest of the simulation design on the sheet.

5.

Start the simulations in Simplorer.

Note

To make changes in the Q3D SML model, you must edit the 3D model, recalculate the
field solution, and re-export the model.

Adding a Q3D Equivalent Circuit Coupling Component


Use the following procedure to add a Q3D SML Dynamic Equivalent Circuit component to a
Simplorer design.
11-44 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

1.

On the Simplorer Circuit main menu, select Subcircuit>Q3D Dynamic Component>Add Equivalent Circuit.
The Q3D SML Dynamic Coupling dialog appears.

2.

Specify a Name for the component. Refer to Names of Components and Variables for
naming conventions.

3.

In the Selection panel, enter the project File. An ellipsis button opens a file selection dialog that lets you navigate to find and select the Q3D file (*.q3dx) that you want to use.
The selected project is loaded into its application.

4.

Select either a 2D or 3D Design Type as appropriate.


Simplorer communicates with Q3D, retrieves the applicable Design, Solution, and
Reduced Matrix information, and populates the corresponding menus with the information.
The dialogs Information tab is also updated to show the Number of Conservative Pins
and various other Quantities present in the selected design. Users can choose to add pins
for listed Quantities.

5.

After you select the File and Design Type, select the design you wish to use in the coupled
component from the list in the Design drop down menu.

6.

Select the desired solution from the Solution drop down menu.

7.

Select the Reduced Matrix to be used with the component during simulation.

8.

Optionally, on the Options tab:


a.

Select Save project after use to have the linked project file saved by its application
after co-simulation is completed.

b.

Select Unload project after use to have the linked project file closed by its application after co-simulation is completed.

c.

Select Create static link to create a static link and enable the Clear Static Cache
button.

9.

If Create static link is not selected, Simplorer obtains sml/netlist information


from Q3D every time a simulation analysis is run - even if no parameter has
changed. This is the default behavior.
If Create static link is selected, Simplorer obtains sml/netlist information from
Q3D only if a parameter value has changed since the previous simulation run.
Clicking the Clear Static Cache button deletes the sml/ netlist information currently stored in the Simplorer component. The next simulation run will then
obtain fresh sml/netlist information from Q3D and store it in the Simplorer component.

Choose to show either the Pin Name or Pin Description on the new component. By

Product Coupling 11-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

default, pin names are shown.


Note

Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.

10. If you wish to edit the active project in its own application, click the Edit Project button
in the Information tab to open the project in its application window.
a.
Note

Edit the project as desired.

Be sure to re-run the analysis after making changes.


b.

When finished editing, click the Obtain Design Information button to update the
data in the Information tab.

c.

If you added new designs or solutions, or changed the name of an existing design or
solution, you may need to re-select the desired Design and Solution from the lists in
the respective drop down menus.

11. When finished click OK to accept the values and close the dialog.
12. Place the component on the schematic sheet as you would any other component.
13. After placing the component on a sheet, its Properties dialog may be opened for configuration of the component.
The dynamic coupling component configuration is saved with the schematic sheet. Simplorer must establish a link to the associated application each time a simulation is run.

11-46 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Q3D State Space Components


Please note the following when working with Q3D state space components:
Note

Each port in the coupling object corresponds to two terminals, one of which is the
reference terminal. Users can choose to automatically ground all reference pins
through call line, show all reference pins, or show one reference pin. If all the
reference pins are automatically grounded through call line, none of the reference
terminals will show up in the symbol, and they will be connected to ground
internally through the netlist (e.g., T1:=%0, T1_ref:=GND). If the second option
shows all reference pins selected, then all the reference terminals will be visible on
the symbol, and users are responsible for the connecting them appropriately.
Finally, if users choose to show only one reference pin, then the reference terminals
are internally connected together, and one common pin is made available on the
symbol for connection.

This section contains information on:

Program Requirement for Q3D State Space Component Coupling


Overview of Q3D State Space Coupling
Q3D State Space Component Design Considerations for AC Analysis
Adding an Q3D State Space Component in Simplorer

Program Requirements for Q3D State Space Component Coupling

Simplorer 8.0 or higher.


Licensed version of ANSYS Q3D Extractor 8.0 or higher.

Overview of Q3D State Space Coupling


Note

The Q3D State Space component creates a state-space model that is valid over a range of
frequencies, while the Q3D Equivalent Circuit component creates an equivalent circuit
at a single frequency.

To prepare and use a Q3D State Space component do the following:


1.
Note

Create a 2D or 3D model of the device in Q3D.


Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

2.

Perform a frequency sweep electromagnetic field solution.

3.

In Simplorer, add the Q3D state space coupling component to the sheet.

4.

Create the rest of the simulation design on the sheet.

Product Coupling 11-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.
Note

Start the simulations in Simplorer.


To make changes in the coupling component, you must edit the Q3D design, recalculate
the field solution, and re-export the model.

Q3D State Space Component Design Considerations for AC Analysis


Users need to ensure that the Q3D design has been set up with accuracy settings sufficient to
ensure that AC analysis results are as expected. (Transient analysis is much more tolerant to
error.)
On the Q3D/Q2D side, accuracy can be improved by:
1.

Refining the mesh (refer to Q3D help)

2.

Doing either of the following:


a.

Check the Automatically increase solution order box on the CG tab under Solve
Setup (Analysis->Setup)

b.

Set the Maximum Number of Passes in both the DC RL and AC RL fields (under
Analysis->Setup) for Multipole Adaptive Solutions to be greater that 1.

11-48 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Product Coupling 11-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3. Ensure that the end frequency specified for the frequency sweep in Q3D/Q2D is greater that
the end frequency use in the Simplorer AC analysis.

11-50 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

On the Simplorer side:


Accuracy can be adjusted by reducing the fitting error on the state-space dialog.

Product Coupling 11-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding a Q3D State Space Component


Use the following procedure to add a Q3D State Space coupling component to a Simplorer
design.
1.

On the Simplorer Circuit main menu, select Subcircuit>Q3D Dynamic Component>Add State Space.
The Q3D State Space Dynamic Coupling dialog box appears.

2.

On the Link Description tab, specify a Name for the component. Refer to Names of Components and Variables for naming conventions.

3.

In the Selection panel, enter the project File. An ellipsis button opens a file selection dialog that lets you navigate to find and select the Q3D file (*.q3dx) that you want to use.
The selected project is loaded into its application.

4.

Select 2D or 3D Design Type.


Simplorer communicates with Q3D, retrieves the applicable Design, Solution, and
Reduced Matrix information, and populates the corresponding menus with the information.
The Information tab is also updated to show the Number of Conservative Pins and various other Quantities present in the selected design. Users can choose to add pins for
listed Quantities.

5.

Select the Design you wish to use from the drop-down list.

11-52 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

Select the Solution and Reduced Matrix to use from the selected Design.
The Information tab displays the following information:

7.

8.
Note

Edit the design as desired.

Be sure to re-run the analysis after making changes.


b.

When finished editing, click the Obtain Design Information button to update the
data in the Information tab.

c.

If you added new designs or solutions, or changed the name of an existing design or
solution, you may need to re-select the desired Design, Solution, or Reduced Matrix
from the lists in the respective drop down menus. Any changes made cause Simplorer
to request updated data from the Q3D project.

On the Options tab, choose to show either the Pin Name or Pin Description on the new
component. By default, pin names are shown.
Pin description properties are always added to the component regardless of whether or
not they are selected to be shown with pins.

9.

Quantities - lists the Name and Value of parameters that can be included in the
imported design by checking Add Pin.

If you wish to edit the active project in Q3D, click the Edit Project button in the Information tab to open the project in its application window.
a.

Note

The Number of Conservative Pins.

If you chose Pin Description when adding the component, you can subsequently
enable individual pin names by opening the component symbol in the symbol editor,
deleting a pins description, then double-clicking the pin and enabling ShowName in
the pin properties dialog box.
If you chose Pin Name when adding the component, you can subsequently hide individual pin names by opening the component symbol in the symbol editor, then double-clicking a pin and disabling ShowName in the pin properties dialog box. You can
then add descriptive text to the pin using the editors Draw>Text tool.

You can select the following additional options on the Options tab:

Selecting the Save project after use checkbox will cause Q3D to save any solutions
data after the Simplorer simulation, overwriting any previously saved data.
Selecting the Unload project after use checkbox will cause Q3D to close the project
and shut down after the Simplorer simulation is complete. This will release the Q3D
license.
The Create static link option will force Simplorer to load the data currently available
from the project and maintain it internally. Additional calls to Q3D will not be performed unless the properties of the component are changed. This option can result in
faster run times by minimizing the number of calls to Q3D for data sharing.
Product Coupling 11-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Use the Clear Static Cache button to force Simplorer to remove the cached data and
acquired new data from Q3D.
The Reference Pins drop-down menu allows you to choose whether to Show one
reference pin, Show all reference pins, or Automatically ground reference pins
through call line.
Select Enforce Passivity to...
Desired Fitting Error (Percent) sets the S-Matrix fitting error tolerance.
Maximum Order sets the number of poles...

10. When finished click OK to accept the values and close the dialog.
11. Place the component on the schematic sheet as you would any other component.
12. After placing the component on a sheet, its Properties dialog may be opened for configuration of the component.
The dynamic coupling model configuration is saved with the schematic sheet. Simplorer
must establish a link to the associated application each time a simulation is run.

PExprt Static Coupling Components


PExprt Static SML coupling components are derived from analytical models of magnetic components such as inductors and transformers. With PExprt, designers can quickly calculate all possible
combinations of core size, core material, wire gauge, turns, and gap length that satisfy user-supplied electrical specifications. The resulting virtual designs are then further refined and optimized
using embedded finite element calculations to predict quantities such as magnetizing and leakage
inductance, interwinding capacitance, peak flux density, DC winding resistance, eddy current
effects, core loss and temperature rise. PExprt generates an equivalent-circuit model (SML)
accounting for magnetic and thermal properties for use in Simplorer for complete circuit optimization.
This section contains information on:

Program Requirement for PExprt Static Component Coupling


Overview of PExprt Static Component Coupling

Program Requirements for PExprt Static Component Coupling

Simplorer 8.0 or higher.


Licensed version of PExprt 6.0 or higher.

11-54 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Overview of PExprt Static Component Coupling


To prepare and use a PExprt Static component do the following:
1.

Create a model of the device in PExprt.

Note

Avoid using illegal characters such as the space character in design names. Illegal
characters are replaced with an underscore character. Refer to the section on naming
conventions for additional information.

2.

Use the Modeler>Generate Model command to open the PExprt Modeler(PEmag).

3.

In the modeler, select either Modeler>Analystical Modeler>Start 1D Model Generation or


Modeler>FEA Based Modeler>Start 2D Model Generation to generate the .sml model.

4.

On the Simplorer Circuit main menu, select Subcircuit>Add PExprt Static Component to
add the PExprt Static Component to the sheet.

5.

Create the rest of the simulation design on the sheet.

6.

Start the simulations in Simplorer.

Note

To make changes in the PExprt SML model, you must edit the PExprt design and reexport the model.

Product Coupling 11-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ANSYS Mechanical Components


This section contains information on:

Program Requirements for ANSYS Mechanical Component Coupling


ANSYS Mechanical Component Interface Concept
Overview of ANSYS Mechanical Component Coupling Workflow
Adding an ANSYS Mechanical Component
ANSYS Mechanical Link Example

Program Requirements for ANSYS Mechanical Component Coupling

Simplorer 8.1 or higher.


ANSYS 12.1 or higher

ANSYS Mechanical Component Interface Concept


The Simplorer-ANSYS Mechanical component interface is a static link that allows a user to add the
reduced-order model of a structural system to a Simplorer schematic. Using model order reduction
techniques implemented in ANSYS Mechanical, (for more information refer to the ANSYS Workbench Mechanical APDL documentation) a user can create a reduced-order equivalent state-space
model for Simplorer.

Models support Transient, AC, and DC analysis.


An initial condition can be specified for a model that will initialize the state variables (i.e., initial positions). Initial condition values must be specified as a vector of double values only.
Based on the flags specified during the reduction procedure, the generated Simplorer model
(.spm) file may have conservative or non-conservative terminals.

Conservative terminals
Conservative terminals use the force-displacement mechanical domain representation and may be
either rotational or translational in nature (based on the definition of the Degree of Freedom in
ANSYS Mechanical). For conservative terminals, the system implemented is of the form:

dx
= Ax + BF
dt
s = Cx
where,
F is the vector of forces (or torques) at each terminal,
s is the vector of displacements at each terminal,
x is the vector of states.
Also in the conservative implementation, references are present in one of the following three forms:

no reference
common reference (only when all terminals have the same nature)

11-56 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

individual references

Non-conservative terminals
In the non-conservative representation, input and output pins are separate and non-conservative in
nature. The system implemented by the model is of the form:

dx
= Ax + B + u
dt
y = Cx
where,
u is the vector of inputs,
y is the vector of outputs.

Overview of ANSYS Mechanical Component Coupling Workflow


ANSYS Mechanical component coupling allows Simplorer to import a structural model created in
ANSYS Workbench/APDL into a schematic for simulation and analysis.

Adding an ANSYS Mechanical Component


To create a new ANSYS Mechanical component:
1.

Follow the steps outlined in the ANSYS Mechanical help to generate an .spm file in SML format for the Workbench/APDL static structural model with the desired degrees of freedom,
type (conservative or non-conservative) and references (single or individual). An image file for
Product Coupling 11-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the component is also generated. (The output of the spmwrite command will be an .spm file
and an image file.)
2.

Select the Simplorer Circuit > Subcircuit > Add Mechanical Component menu item.

3.

In the MechanicalData Link Data dialog box, locate and select the appropriate .spm file to create a new component in Simplorer.

The .spm file is compiled and Parameters and Terminals information displays. Pin display can
be turned on or off through the Add Pin checkbox column in the Parameters grid.
4.

Optionally change the Model Name.

5.

Click OK to create a component and symbol (with image from the 3D model) and a model and
add them to the project.

11-58 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

Position the new component on the schematic and make the appropriate connections between it
and existing schematic components.

7.

Run Simplorer Transient, AC, and/or DC analyses as desired.

Related Topics
ANSYS Mechanical Link Example
File Link Dialog Box

ANSYS Mechanical Link Example


An example Simplorer project for an ANSYS Mechanical Link has been provided in the
Simplorer11.0\Windows\Examples\Components\Interfaces\Mechanical folder. Click the link
below to open the example in Simplorer:
The example shows three separate reduced order models generated by ANSYS Mechanical for
Simplorer:

Clamped Free Beam

Clamped Free Beam with a 20 kg mass at the free end

Clamped Free Beam with a spring (stiffness of 10000 Newton per meter) and 20kg mass at the
Product Coupling 11-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

free end

The ANSYS Mechanical source project files are also included in the
BarExample_SimplorerMechanicalLink.zip file.
The Simplorer project was created by first bringing the three models into Simplorer. Three separate
instances of the Clamped Free Beam were created and one instance each of the other two models
were created on the schematic. A 20kg mass was applied to one instance of the Clamped Free
Beam and a 10000 N/m spring and a 20 kg mass were applied to the third instance of the Clamped
Free Beam. The results for TR and AC simulation are compared against the corresponding reduced
order models.

11-60 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

File Link Dialog Box


The file link dialog box is used to link data files for components generated in external applications
such as the ANSYS Mechanical .spm file shown in the example below. The dialog box name
shown in its title bar varies to correspond with the coupling source type.

The ellipsis button [...] opens a file selection window for locating and selecting the desired File
Source. You can assign a unique Model Name to the model and component being created. Clicking Obtain Design Info retrieves design information for the chosen source file. The Parameters
and Terminals panels display information about the parameters and terminals for the model being
created. Checking Add Pin adds a pin for the associated parameter to the new component.

Product Coupling 11-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Adding an ANSYS Mechanical Component Subcircuit

Icepak Components
This section contains information on:

Program Requirements for ANSYS Icepak Component Coupling


ANSYS Icepak Component Interface Concept
Overview of ANSYS Icepak Component Coupling Workflow
Adding an ANSYS Icepak Component

Program Requirements for ANSYS Icepak Component Coupling

Simplorer 8.1 or higher.


ANSYS 12.1 or higher.

ANSYS Icepak Component Interface Concept


Thermal Analysis using a Foster Network
In this method, the thermal problem is treated like a system. A system is an entity that processes a
set of inputs and yields another set of outputs. For the thermal problem at hand, the inputs are
power (or heat source), and the outputs are the temperature at user-specified locations. When a system is Linear and Time Invariant (LTI), the system has the following features. First of all, such a
system is completely characterized either by its impulse response or step response. Secondly, if two
LTI systems have the same impulse or step response, the two systems behave identically in that the
outputs of the two systems are the same provided that the inputs to the two systems are the same.
This feature allows a Foster network, which is an LTI system, to represent the thermal system,
which also can be an LTI system under certain conditions.
Single input and single output system
This section describes the simplest system, one with a single input and a single output. The thermal
problem is such that the power is from one component, and the output is the temperature at one
user-specified location. A Foster network problem for this kind of system is shown in Figure 1, in
which the input is the current to the network, and the output is the voltage at the same location.

11-62 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Figure 1. Foster Network


As mentioned above, both the thermal and Foster systems are LTI under certain conditions and thus
they will behave identically if they have the same impulse or step response. Since the step response
is easier to work with, the goal is to match the step response of the two systems. The step response
of a typical thermal system is shown in Figures 2 and 3 for self-heating and cross-heating, respectively. Note that the self-heating curve has a positive slope at the start of the curve, while the crossheating curve typically has close to zero slope at the start of the curve.

Figure 2. Typical step response for self-heating

Product Coupling 11-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Figure 3. Typical step response for cross-heating


The step response of a Foster network can be shown to be the following:
m

V = I Ri ( 1 e

t i

i=1

where m is the number of rungs or RC pairs, and parameters Ri and i will need to be extracted
through curve fitting the transient step response of the thermal system.
A typical step response from a Foster network will not give close-to-zero slope as required by the
cross-heating curves and thus will not allow us to match the step response of cross-heating from the
thermal system. However, if one allows for negative R, the resistance, the curve fit works well.
Even though negative R poses no difficulty mathematically, it causes problems in circuit simulators. This difficulty can be overcome by using positive R but subtracting the V contribution from
that part of the RC circuit. Figure 4 shows an example. In this example, the voltage (or output) is

11-64 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

equal to VM1 minus VM2 rather than VM1 plus VM2. So, the Foster network itself has no negative Rs, but rather it has a part with negative voltage contribution.

Figure 4. A Foster Network accounting for negative R


As long as the step response from the Foster network matches that from the thermal system, we are
guaranteed that the subsequent response from the thermal system under any transient input can be
represented by the Foster network, due to the characteristics of LTI systems mentioned in the introduction. Mathematically, if the step response of a system is known, then the impulse response, designated typically by h(t), is known to be the derivative of the step response; and h(t) entirely
characterizes the system through the following equation:

y( t) = h( t)*x(t )
where x(t) is the input, y(t) is the output, h(t) is the impulse response, and * designates convolution.
Even though we could use the convolution equation to calculate the thermal response, we choose to
use the Foster network to represent the thermal system due to its simplicity to implement in circuit
simulators. In passing we note that, if the step response is too complex for the Foster network to
curve fit, one can always rely on the convolution method. Also, convolution notation makes it easier to express the solution for systems with many inputs and outputs as described below.
Systems with many inputs and many outputs
For systems with many inputs and many outputs, the superposition property is used to obtain the
solution. Superposition means that the overall output at one location is the sum of the contribution
from individual inputs. The convolution equations satisfy the superposition property. In terms of
the impulse response hij, the solution for a system with m inputs and n outputs can be calculated
using the matrix below:
Product Coupling 11-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

y1 ( t )
y2 ( t )

yn ( t )

h11 ( t ) h12( t ) h1m( t )


=

h21 ( t ) h22( t ) h2m( t )

x1 ( t )
*

x2 ( t )

hn1( t ) hn2( t ) hnm( t ) xm( t )

where hij represents the impulse response of the jth input on the ith output, and again * designates
convolution rather than product. As before, instead of using the convolution method, a Foster network will be used to represent the thermal system. But instead of curve fitting one step response,
we need to curve fit nm number of step responses in principle. However, many of the cross-heating responses have very small values, and thus their contribution can be neglected. In passing we
note that the Laplace transform of the hij represents the impedance between the jth input and the ith
output.
Also note that the impulse response matrix would, in general, not be symmetrical even though the
system is linear. This is because, in a convection heat transfer problem, a downstream object will
strongly feel the heat from an upstream object but not vice versa. However, there are problems
with symmetrical impulse responses, for instance, diffusions problems with temperature boundary
condition.
Limitations and assumptions
As mentioned above, this method works provided that both systems are LTI. The linearity part of
LTI means that the system must satisfy the superposition property. The time invariant part of LTI
mainly concerned with the coefficients of various terms in the governing equations of the system,
which are typically ordinary or partial differential equations. For the Foster network, if the resistance and capacitance are constants, the system is linear and time invariant. We will next discuss
under what conditions thermal systems are LTI.
Thermal problems, governed by Navier-Stokes equations, are, in general, notoriously non-linear.
So, thermal systems processing power inputs and yielding temperature outputs are in general not
linear. The linearity is mainly due to, but not limited to, the momentum equation. However, if density and properties are constant, the momentum equation is decoupled from energy equation. This
decoupling makes the energy equation linear and thus the thermal systems linear. But as mentioned
above, the thermal system needs to be time invariant as well. To make the thermal system time
invariant, the coefficients of all terms in the energy equation need to be constant. Flow velocity,
which serves as the coefficients for energy equation in the convection term, is the main concern.
So, in order for the system to be time invariant, velocity cannot change as a function of time even
though no restriction is applied on spatial variation.
The thermal system can also be linearized by choosing the properly operating point. However, this
method has limited application for thermal systems as linearization requires that heating has a large
DC component and relatively small variation superposed onto it. Most thermal problems do not satisfy this condition. However, if this condition is satisfied, the Foster network method is valid.

11-66 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To summarize, the following conditions must be satisfied in order for the thermal system to be LTI
and thus make the method valid:

Constant density This is a very good assumption for incompressible fluids like water.
For compressible fluids like air, constant density implies low Mach number and adiabatic
temperature boundary condition. Even though the low Mach number condition does not
pose real restrictions on most of problems considered, the adiabatic temperature boundary
certainly cannot be satisfied strictly for heat transfer is the main point of interest. However, testing shows that the method still gives very decent results even when the max temperature increase goes up to 140K.
Constant property This is not a major concern as the properties either do not change
appreciably within the range of temperature, or the impact of the property is rather negligible. Density variation will likely show signs of a problem before properties variation.
Constant velocity The Foster network, characterized at one velocity, cannot be used for
other velocities. A new characterization (curve fitting) is needed if velocity changes.
No radiation This restriction is due to the non-linear relationship between temperature
and radiation heat flux.

Foster network and thermal network


Before concluding the discussion, it might be worthwhile to talk about the difference between the
current Foster network method and a traditional thermal network. In the traditional thermal network, the thermal problem is represented by thermal resistors and thermal capacitors. To obtain the
model parameters, no curve fitting of step (or impulse) response is typically performed; and the
parameters can be extracted from various methods, ranging from physical argument to testing. The
thermal network method is not limited to linear systems, even though it is applied most successfully to such a system. Another important difference is that in a thermal network each node represents a physical location, while in the Foster network it is noted that only the input and output
nodes have physical connections; and the rest of the nodes in the Foster network have no physical
significance. Finally, the Foster network has the advantage of being more accurate provided the
conditions are satisfied because the results from the Foster network are as accurate as the method
generating the step (or impulse) response.
In summary, the thermal network is more general with perhaps compromised accuracy; while the
Foster network is more accurate but with more restrictions attached to it.

Product Coupling 11-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Overview of ANSYS Icepak Component Coupling Workflow


The flow chart below outlines the workflow for performing thermal analysis using linear superposition in Simplorer.

11-68 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding an ANSYS Icepak Component Subcircuit


The following procedure assumes a system (such as the one shown below) having four potential
heat sources, block.1 through block.4, has been constructed in Icepak.

To create a new ANSYS Icepak component subcircuit:


1.

Follow the steps outlined below to generate an .simpinfo file Icepak thermal model and associated output and symbol files:
a.

In the Icepak Model Manager Window, select each potential heat source (block.1 through

Product Coupling 11-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

block.4), and assign a variable for the Total power of each potential heat source.

b.

Select menu item Solve>Run optimization, and in the Parameters and optimization

11-70 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

dialog box that appears, select Parametric trials.

c.

Select the Trials tab in the Parameters and optimization dialog box, and set up the parametric analysis. Make sure the number of trials corresponds to the number of potential
heat sources. In each trial, one and only one of the heat source variables should have a
positive value, and the rest should be set to 0 (zero).

d.

Click Done, then reopen the Parameters and optimization dialog box and select the Trials tab.Make sure that all the trials are selected, and the Write Simplorer File option is
selected as well.

Note

Due to an error in Icepak trials settings, it is necessary to close the Parameters and
optimization dialog box by clicking Done after setting up the trails; then reopening it to
perform the parametric analysis. This guarantees the specified values for the heat source
variables are set properly during the parametric simulation.

Product Coupling 11-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

e.

Run the parametric analysis.

f.

When the analysis is completed, a file with the extension .simpinfo is written in the same
location as the results .out files. A .gif image file for the model symbol is also generated
and written to this location.

11-72 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

On the Simplorer main menu, select Simplorer Circuit > Subcircuit > Add Icepak Component.
The Icepak Interface dialog box displays.

3.

In the Icepak Source panel, click the ellipsis button [...] and select the appropriate .simpinfo

Product Coupling 11-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

file to create a new component in Simplorer.


Note

The Icepak output (.out) and symbol (.gif) files generated by Icepak must be present
in the same directory as the .simpinfo file. If the Icepak output files are missing, an
error dialog box displays, and the component will not be generated. If the symbol
file is missing, a generic symbol is used for the component.
In Icepak-Simplorer coupling, the model names are used to name ports and
terminals. Because model names in Icepak may include characters that are illegal in
Simplorer, name checking has been implemented in Simplorer so that illegal
characters such as the dash - and period . characters are replaced with an
underscore _ character in the generated SML file. For example, the Icepak name
block.1 is changed to block_1 in the generated SML file.

The panel also indicates the number of Sources and trial Points present in the Icepak output
file.
4.

Optionally, change the Model Name.

5.

Choose the desired Model Type. The thermal model can be represented either an by equivalent
thermal network (Equivalent circuit model) or in state-space format (State-Space model).
Each representation can be either Conservative or Non-Conservative. When the Conservative option is selected, the generated thermal component can be connected to an external thermal network through conservative thermal terminals, while the Non-Conservative thermal
component uses input heat source quantities and computes the temperature output quantities.
In order to enable selection of the Conservative model type, the Icepak thermal system needs
to contain at least one heat source and temperature measurement point pair, or in other words,
at least one thermal model which has heat dissipation needs to have temperature measurement
assigned to it. If there is no heat source and temperature measurement point pair in the Icepack
system, the Conservative option is disabled, and only the Non-Conservative option will be
available.
If State-Space model representation is selected, the requirement for selecting the Conservative model type is even stricter (due to model restrictions). In this case, all the heat source variables and the temperature measurement points have to be in pairs, or in other words, all the
thermal models with heat dissipation must have temperature measurement points assigned. If
this condition is not satisfied when State-Space model is selected, then the Conservative
option is disabled, and only the Non-Conservative option will be available.

6.

Click Generate.
Simplorer generates the new component. Information on the Parameters and Terminals for
the component appear in their respective panels. Pin display can be turned on or off through
the Add Pin checkbox column in the Parameters grid

Note

7.

Depending on the complexity of the Icepak output, several seconds may elapse before
the component is generated and available for placement on the schematic.

Click OK to create a component and symbol (using the image from the 3D model) and model

11-74 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

and add them to the project.


8.

Position the new component on the schematic and make the appropriate connections between it
and existing schematic components.

9.

Run Simplorer analyses as desired.

Product Coupling 11-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

State-Space Components
This section contains information on:

Program Requirements for State-Space Components


Overview of State-Space Component Coupling
Generate State-Space Component Dialog Box
Adding a State-Space Component

Program Requirements for State-Space Components

Simplorer 8.1 or higher.

Overview of State-Space Component Coupling


The state-space component represents a physical system as n first-order coupled differential equations. This form is better suited for computer simulation than an nth order input-output differential
equation.
The general vector-matrix form of the state-space model is:

dx
= Ax + Bu
dt
y = Cx + Du
where y is the output equation, and x is the state vector.
Detailed description of variables:

x - internal states (dynamics)


u - inputs (function of time)
y - outputs (function of time)
A, B, C, and D - state-space matrices
IC - Matrix of initialization values for the state vector
Sizes of matrices are as follows:

A = (number of states) x (number of states)


B = (number of states) x (number of inputs)
C = (number of outputs) x (number of states)
D = (number of inputs) x (number of outputs)
IC = number of states

11-76 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Generate State-Space Component Dialog Box


The Generate State-Space Component dialog box (see below) allows you to define the parameters
needed to generate a state-space component.

Model Type Panel


The state-space component supports both Conservative and Non-Conservative models.

Conservative models have bi-directional terminals where the number of inputs equals the
number of outputs. The state-space component currently supports three matrix forms:
1.

Z Formulation

2.

Y Formulation

3.

S Formulation
Product Coupling 11-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The S Formulation requires specification of a Zref Value for each port. A default
value of 50 ohms can be used; or you can specify values independently for each port
via the Matrix List.

Non-Conservative models have separate, non-conservative input and output terminals.

Model Parameters Panel


For Conservative models, you can specify the Number of States, Number of Terminals, and the
Domain (i.e., the nature) of the terminals. For Non-Conservative models, you can specify the Number of States, Number of Inputs, and Number of Outputs. The values you specify determine the
sizes of the state-space matrices in the Matrix List.
Terminal Reference Panel
In a physical system each terminal may be assigned a reference port with respect to which the measurement of physical quantities is performed. The state-space model implementation provides the
following choices for Conservative models:

None - no reference port is added to the model.


Common - One common reference port is added to the model.
Independent - Each terminal has its own separate reference port added to the model.

Choose Matrix List


This list contains all the matrices whose values need to be specified by the user to generate the
model. You must specify at least the A, B, and C matrices to enable the Generate button for component generation. Checkmarks next to each matrix name indicate if the matrix has been populated or
accepted by the dialog. Sizes of matrices are calculated automatically based on the Model Parameters. After you select a matrix in the list, use the Matrix Entry fields to specify the Matrix Source
and to populate it. If the View Matrix checkbox is checked, a spreadsheet-style table allows you to
view and edit the matrix entries directly.
Matrix Entry Group Panel
Use the settings in the Matrix Entry group to specify a correctly sized matrix as a list of floating
point values. All values must be specified. For example, a 3X3 matrix should have nine values in
row-major format.
Matrix Source - either of two matrix sources can be chosen:

Select Manual as the Matrix Source if you want to enter matrix data manually in the Enter
Matrix text field.
Select File as the Matrix Source if you want to importing the matrix data via a text file.

Matrix data must be entered in row-major order separated by any of the following delimiters: space,
comma, or semicolon. In text files, you can also use newline characters to break the entry at the end
of each row.
Matrices can be populated either by pressing the Populate button, or by directly editing the matrix
in the table. Attempting to populate the matrix with incorrectly sized or formatted data generates an
error message: Size of input does not match matrix size.

11-78 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

By default, the View Matrix box is checked and the selected matrix data can be viewed and edited
directly in the matrix table. When View Matrix is unchecked, the Viewer button is enabled and can
be used to view the matrix data in Notepad.

Adding a State-Space Component


To add a State-Space component:
1.

On the Simplorer main menu, select Simplorer Circuit > Subcircuit > Add State Space
Component.
The Generate State-Space Component dialog box displays.

2.

Select the desired Model Type: Z Formulation, Y Formulation, S Formulation, or NonConservative.

3.

In the Model Parameters panel:

4.

6.

For Non-Conservative models, enter the number of States, Inputs, and Outputs.

For conservative models, in the Terminal Reference panel, choose the reference port assignment for the models physical ports.

5.

For conservative models (i.e., Z, Y, or S Formulation), enter the number of States and
Terminals, and select the physical Domain.

None - no reference port is added to the model.


Common - One common reference port is added to the model.
Independent - Each terminal has its own separate reference port added to the model.

For S Formulation models, the Zref Specification panel controls are enabled for use as follows:
a.

Check Use Default to use the specified Zref Value for all ports in the model.

b.

Uncheck Use Default if you wish to specify the Zref value independently for each model
port. A Zref matrix entry is added to the Choose Matrix list box for this purpose. Select
the Zref matrix in the list, then use the Matrix Entry fields to specify the Zref values. You
can also enter the values directly in the matrix table if View Matrix is enabled.

Specify values for the model matrices. At a minimum, the A, B, and C matrices must be specified.
a.

Select the matrix for which you wish to enter values from the entries in the Choose
Matrix list.
The Matrix Entry panel fields are enabled. Also, if View Matrix is checked, an editable
matrix table displays.

b.
Note

Select the Matrix Source and specify values:


Matrix data must be entered in row-major order separated by any of the following
delimiters: space, comma, or semicolon. In text files, you can also use newline
characters to break the entry at the end of each row.

Select Manual if you wish to enter the matrix values directly; then enter the desired
Product Coupling 11-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

values in the Enter Matrix box or the matrix table.

c.
7.

Select File if you wish to import the matrix values from a delimited text file; then
click the [...] button to open a file selection dialog box. The selected text file path is
entered in the Enter Matrix box.

Click Populate to transfer the entered matrix values into the model.

Repeat step 6 for each matrix in the list.

Note

At a minimum, the A, B, and C matrices must be specified.

8.

Optionally, you can edit matrix values directly in the matrix table, provided that View Matrix
is checked.

9.

Optionally, uncheck View Matrix to enable the Viewer button to view the matrix data in
Notepad. Typically this would be used for viewing large matrices. Do not edit the data in the
viewer.

10. Click Generate.


Simplorer generates the new component.
Note

Depending on the complexity of the model, several seconds may elapse before the model
is generated and available for placement on the schematic.

11. Position the new component on the schematic and make the appropriate connections between it
and existing schematic components.
12. Run Simplorer analyses as desired.

Viewing and Editing State-Space Component Matrix Values

You can view matrix values for existing state-space components by double-clicking the
component instance on a schematic to open the component dialog in read-only mode.
By default, the View Matrix box is checked and the selected matrix data can be viewed
directly in the matrix table. When View Matrix is unchecked, the Viewer button is
enabled and can be used to view the matrix data in Notepad.

You can edit matrix values for an existing state-space component instance using the Edit
Component dialog box.
a.

Expand the Definitions>Components subfolder for the project that contains the
instance you want to edit. Double-click the entry for the component you want to edit,
or right-click the entry and then select Edit Component to open the Edit Component dialog box.
Alternatively, right-click on the component in the schematic and select Edit Component from the shortcut menu.

b.

Click the Properties button on the General tab to open the Properties dialog box.

c.

On the Parameter Defaults tab, click the StateSpaceModel button in the Value field
to open the Component dialog in which you can change matrix values as needed.

11-80 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When finished, click OK to close the Component dialog, then OK to close the Properties dialog, then OK to close the Edit Component dialog and complete the change
process.
You can double-click the component instance on the schematic to re-open the Component dialog in read-only mode and confirm the changes.

Changing or Moving Coupling Model Files


It is important to note that the components placed on a schematic are copies or instantiations of the
components in the Simplorer libraries. When placed on the schematic, changes affect only the local
instantiation, not the component definition. This is particularly important in the coupling area since
the coupling component instantiated on the schematic is a link to a project file outside of the Simplorer environment.
Changing Coupling Model Files
The following procedure can be used to change the coupling model file for a schematic coupling
component. Also, if the location (path) for a coupling model file associated with a schematic component changes, as it often does when moving projects and their related coupling files from one
machine to another, you can use this procedure to re-establish the link to it.
1.

In the project tree, expand the Definitions>Components subfolder for the project that contains
the coupling model you want to edit. Double-click the entry for the component you want to
edit, or right-click the entry and then select Edit Component to open the Edit Component
dialog box.
Alternatively, right-click on the component in the schematic and select Edit Component from
the shortcut menu.

2.

Click the Properties button on the General tab to open the Properties dialog box.

3.

On the Parameter Defaults tab, click the button in the Value field for the Data property. (The
buttons label is the name of the coupling object.)
If the coupling model file is not in its original location, a message displays informing you that
the file does not exist. Click OK to continue.
The coupling dialog box for the object opens.

4.

Click the [...] button to open a file browser window, and locate and choose the desired model
file to restore the link to it.

5.

Click OK to close the dialog boxes.

Moving Coupling Model Files


When you save a Simplorer project containing a coupling component, the current link to the Coupling Model associated with that component is also saved. If the location (path) for the coupling
model file associated with a schematic component subsequently changes, for example when moving projects and their related coupling files from one machine to another, Simplorer will open a dialog box asking if you wish to search for the missing coupling model file.

Choosing No opens the project, but the coupling component retains the original path information to the related coupling model. You can then use the Changing Coupling Model Files proProduct Coupling 11-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

cedure above to locate and re-establish the link to it.

Choosing Yes opens the coupling dialog box for the component. Click the [...] button to open a
file browser window, and locate and choose the desired model file to re-establish the link to it.

SIwave Components
SIwave is a tool used by signal and power integrity engineers to study complex electromagnetic
phenomena on printed circuit boards (PCBs) and IC packages. It can identify signal delay and
excessive cross-talk between interconnects, deficiencies in the power distribution network, and
regions in the layout that may cause EMC/EMI problems.
SIwave Full-Wave SPICE models are computed from broadband S-parameter data representing
PCB geometry. They are compact macro-models that are typically used in circuit tools for timedomain simulations. They optionally incorporate corrections for passivity and causality violations
that arise due to issues such as incorrect upstream material parameters.
Exporting an SIwave subcircuit allows you to perform an analysis of the structure in Simplorer.
Refer to the SIwave documentation for detailed information.
This section contains information on:

Program Requirement for SIwave Component Coupling


Overview of SIwave Component Coupling
Push Excitations for HFSS and SIwave Components

Program Requirements for SIwave Component Coupling

Simplorer 9.0 or higher.


Licensed version of SIwave 5.0 or higher.

Overview of SIwave Component Coupling


To use an SIwave model do the following:
1.

Create and export a model of the component in SIWave.

Note

2.

Refer to the SIwave online help Getting Results >Computing Full-Wave SPICE
Subcircuits topic for detailed information on computing and exporting the Simplorer
model.
If using SIwave v5, the export process generates three files: <simplorer_model>.sml,
<simplorer_model>.ss, and <simplorer_model>.jpg.
If using SIwave v6.0 or higher, the export process generates two files:
<simplorer_model>.sml, and <simplorer_model>.jpg

On the Simplorer Circuit main menu, select Subcircuit>Add SIWave Component to add
the component to the sheet.
In the Select SIWave generated SML file dialog box, navigate to the desired SIwave generated .sml file, then click Open to close the dialog, and place the component on the schematic

11-82 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

sheet.
Note

The associated component image (<simplorer_model>.jpg) file (and state space


<simplorer_model>.ss file if exported using SIwave v5) must be in the same location as
the <simplorer_model>.sml file.

3.

Create the rest of the simulation design on the sheet.

4.

Start the simulation in Simplorer.

Note

To make changes in the SML model, you must edit the SIwave design and re-export the
model.

HFSS Components
Exporting an HFSS model allows you to perform an analysis of the structure in Simplorer. Refer to
the HFSS documentation for detailed information on exporting an HFSS model.
This section contains information on:

Program Requirement for HFSS Component Coupling


Overview of HFSS Component Coupling
Push Excitations for HFSS and SIwave Components

Program Requirements for HFSS Component Coupling

Simplorer 9.0 or higher.


Licensed version of HFSS 13.0 or higher.

Overview of HFSS Component Coupling


To use an HFSS model do the following:
1.

Create and export a model of the component in HFSS.

Note

Refer to the HFSS online help for detailed information on computing and exporting the
Simplorer model.

The export process generates three files: <simplorer_model>.sml, <simplorer_model>.ss, and


<simplorer_model>.jpg.

2.

If using HFSS v13, the export process generates three files: <simplorer_model>.sml,
<simplorer_model>.ss, and <simplorer_model>.jpg.
If using HFSS v14.0 or higher, the export process generates two files:
<simplorer_model>.sml, and <simplorer_model>.jpg

On the Simplorer Circuit main menu, select Subcircuit>Add HFSS Component to add the
component to the sheet.
In the Select HFSS generated SML file dialog box, navigate to the desired HFSS generated
Product Coupling 11-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

.sml file, then click Open to close the dialog, and place the component on the schematic sheet.
Note

The associated component image (<simplorer_model>.jpg) file (and state space


<simplorer_model>.ss file if exported using HFSS v13) must be in the same location as
the <simplorer_model>.sml file.

3.

Create the rest of the simulation design on the sheet.

4.

Start the simulation in Simplorer.

Note

To make changes in the SML model, you must edit the HFSS design and re-export the
model.

Push Excitations for HFSS and SIwave Components


Simplorer provides a way to export and push back excitation results of a transient simulation to
HFSS 14.0 or later, and to SIwave 6.0 or later.
1.

Create or open a coupling design containing a coupling component created using either HFSS/
14.0 or later, or SIwave 6.0 or later.

2.

Run a transient simulation to generate results.

3.

Select and right-click on the HFSS or SIwave coupling component and select Push Excitations... to open the Push Excitations Dialog.

4.

In the Push Excitations Dialog, select the various excitation options to control the transformation of signal from transient to spectral domain. The Push Excitations Dialog automatically

11-84 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

takes the results data from the available solutions

a.
Note

b.

5.

Select the ports and frequency points of interest. By default all are selected.
The initial set of frequency points are the same as the ones used and passed by HFSS/
SIwave to generate the state space model.
Select the solutions of interest and choose the Transformation Parameters as explained
in the section Plotting Spectral Domain Data. You must uncheck Use Default Values if
you wish to set any of the advanced spectral Transformation Parameters.

Click OK to generate an Excitation file that can be imported back into HFSS and SIwave. The
location and name of the generated file are given in the Message Manager window.
Product Coupling 11-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Ansys RBD Components


The feature is a new state-of-the-art co-simulation (Transient - Transient) link between Simplorer
and ANSYS Rigid Dynamics. This link allows the designer to combine detailed rigid mechanics
models with system models such as complex electronic semiconductor device models used in controls. Exporting an ANSYS RBD subcircuit allows you to perform an analysis of the structure in
Simplorer. Refer to the ANSYS documentation for detailed information on exporting an RBD project.
This section contains information on:

Program Requirement for ANSYS RBD Component Coupling


Overview of ANSYS RBD Component Coupling

Program Requirements for ANSYS RBD Component Coupling

Simplorer 10.0 or higher.


Licensed version of ANSYS 14.0 or higher.

Limitations
The following limitations should be noted when designing and using RBD subcircuits:

Discontinuous stops defined in Rigid Dynamics can cause convergence issues. To use
stops, define them in the Simplorer schematic.
Rigid Dynamics designs with contacts are not currently supported.

Overview of ANSYS RBD Component Coupling


To use Simplorer ANSYS RBD co-simulation follow the procedure outlined below:
Note

For details on creating a model in Rigid dynamics, please refer to the ANSYS Rigid
Dynamics/Mechanical help. Once the desired Rigid Dynamics model is setup correctly,
proceed with the following steps to setup and perform the co-simulation.

1.

Create the desired Pins in the RBD system in Workbench.

2.

Link the RBD system to Simplorer.

3.

Connect the RBD component in Simplorer.

4.

Simulate.

5.

View Postprocessing Results.

Creating Pins for the RBD System in Workbench


1.

Open the desired Rigid Dynamics (RBD) analysis system in Workbench; then doubleclick on the Model field to open the model for editing in the Mechanical application.

2.

Create the desired pins in Rigid Dynamics. The pins/terminals describe the interface
between Simplorer and Rigid Dynamics. Pins can be added on any of the joints.
a.

To add pins, in the ANSYS Rigid Dynamics window, use the New Simplorer Pin

11-86 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

icon in the tool bar as shown below. When the New Simplorer Pin icon is clicked
while the joint of interest is highlighted, the pin will automatically have joint information associated with it. Otherwise, you can select and apply the appropriate joint after
adding the pin.

b.

Once the pin has been added, select the DOF, Type, and Pin Nature to complete the
pin setup. Finally, rename the pin to the name that should appear in Simplorer.

Product Coupling 11-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

c.
3.

Repeat steps a and b to add all pins of interest.

When finished adding pins, continue with Linking the RBD System to Simplorer.

Linking the RBD System to Simplorer


The link to Simplorer can be added in either of two ways:

Note

Link with Simplorer in Workbench.


Link with Simplorer in standalone mode.

The link can be created to a new Simplorer project or to an existing one.

Creating the link with Simplorer in Workbench.


1.

To create the link with Workbench, return to the Workbench window. Either drag and
drop a new Simplorer analysis system, or bring an existing one into the Workbench window.

2.

Drag and drop the Rigid Dynamics setup cell to the Simplorer Setup cell to establish the
link.

3.

When establishing the link for the first time, it is necessary to manually instantiate the link
component in Simplorer. To do this, first update the Simplorer setup. Then go into the
Simplorer menu bar and select the Simplorer Circuit> SubCircuit>Add RBD Component menu item to open the file select dialog. Select the desired .mbd file and the component will be created.

4.

When finished, continue with Connecting the RBD Component in Simplorer.

Creating the link with Simplorer outside of Workbench.


1.

In this case, the .mbd file that describes the interface must be manually exported to Simplorer. To export the .mbd file, click on the Transient cell and then select Tools>Write
Input File. Specify the file name and location in the dialog that appears and select OK.

11-88 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

To instantiate the link component in Simplorer, use the Simplorer Circuit>Sub-circuit>Add RBD Component menu item to open the file select dialog. Select the .mbd file
that was exported in the previous step and the component will be created in Simplorer.

3.

When finished, continue with Connecting the RBD Component in Simplorer.

Connecting the RBD Component in Simplorer


Wire (connect) the Simplorer design containing the Rigid Dynamics component as appropriate.

Product Coupling 11-89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When finished making the required connections, continue with Simulating the RBD Coupled
Component.

Simulating the RBD Coupled Component


The simulation can be started either directly from Simplorer or from Workbench.

To start the simulation in Simplorer, in the Project Manager tree, right-click on the Optimetrics icon and select DefaultDesignXplorerSetup>Analyze.
Simulation can be controlled using the progress bar in Simplorer (pause, stop, clean stop,
abort, etc).

To start the simulation from Workbench, use the systems Solution cell Update command.

During simulation, the two solvers both solve simultaneously and exchange data in an iterative
relaxation scheme at each time step to reach convergence.
Related Topics
RBD Coupled Component Postprocessing Results

11-90 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

RBD Coupled Component Postprocessing Results


Simulation results on all interface pins on the Rigid Dynamics component are available as
usual in Simplorer. All other postprocessing results are also available in Simplorer. The following shows some of the kinds of results that can be obtained.

To view simulation results in Rigid Dynamics, the results file must be manually imported into
the Rigid Dynamics setup. To do this, in the Rigid Dynamics window, select the solution cell
and then click on Tools>Read Result Files. (Refer to the ANSYS help for more details.)

Product Coupling 11-91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ANSYS Fluent Components


The feature is a new state-of-the-art co-simulation link between Simplorer and ANSYS Fluent.
This link allows the designer to combine detailed flow models with system models such as complex
models used in controls. Refer to the ANSYS Fluent documentation for detailed information on setting up a Fluent project.
This section contains information on:

Program Requirement for ANSYS Fluent Component Coupling


Overview of ANSYS Fluent Co-simulation with Simplorer

Program Requirements for ANSYS Fluent Component Coupling

Simplorer 10.0 or higher.


Licensed version of ANSYS 14.0 or higher.

11-92 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Overview of ANSYS Fluent Co-simulation with Simplorer


The following overview describes the procedure for sutting up and running a Fluent co-simulation
using the example project provided with Simplorer as reference.
Note

1.

The example project (FluentBattery_OneCell_ActiveCooling.asmp) demonstrates a


non-linear control to control the coolant flow rate in a Battery cell to maintain a target
temperature (310 K). The Battery cell is simulated in Fluent while the control is
simulated in Simplorer. The Battery is assumed to be operating at a load that results in a
heat source of 400,000 W/m3.

Setup Fluent: Load the Fluent design independently and create input and output parameters
(Boundary Conditions) for all desired interface points with the Fluent component. Save the cas

Product Coupling 11-93

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

and dat files and exit Fluent. They may also be saved as cas.gz and dat.gz files.
Note

Refer to the ANSYS Fluent documentation for detailed information on setting up a


Fluent project.

2.

In Simplorer, use Simplorer Circuit>SubCircuit>Add Fluent Component.

3.

If the aaS Session Manager is already running, enter the machine name or IP address and port
number. If the Session Manager is not running, Simplorer will try to locate it on the current
machine and automatically start it in default mode.

4.

In the dialog box, select the CAS file - if there is a DAT file of the same name in the same location, Simplorer will automatically locate it. Use the selection button [...] and dialog if a different DAT file is desired.

5.

Click Obtain Design Info. Simplorer will launch/connect to the Ansys Session Manager and

11-94 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

query the Fluent design for design parameters. These parameters will be used as pins for the
Simplorer component.
6.

Select OK and place the component on the schematic.

In the Simplorer co-simulation component, there are two additional inputs that can be used to
control the simulation. To access these, right-click on the component and open its Properties
dialog box. On the Quantities tab, the SynchType input can take values of 0 (default), 1 or 2.
Depending on the value of SynchType, SynchValue may be used as follows:
SynchType

SynchValue

0 - Synchronize Simplorer and Fluent at


every time step

Ignored

1 - Synchronize Simplorer and Fluent after


every 'n' time steps

Number of time steps to synchronize after ('n')

2 - Synchronize Simplorer and Fluent after


every 't' seconds of simulation time

Period after which to synchronize ('t')

7.

Wire up the rest of the schematic.

8.

Start the simulation. Simplorer will launch and connect to Fluent and co-simulate. At the end
of the simulation, Simplorer will shut down Fluent if it was launched by Simplorer.
Product Coupling 11-95

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ANSYS Esterel Components


Esterel Technologies SCADE Suite models can be included in a Simplorer project for simulation
and analysis. Refer to the Esterel documentation for detailed information on generating and exporting an Esterel SCADE Suite model.
This section contains information on:

Program Requirement for ANSYS Esterel Component Coupling


Overview of ANSYS Esterel Coupling with Simplorer

Program Requirements for ANSYS Esterel Component Coupling

Simplorer 12.0 or higher.


Licensed version of Esterel Technologies SCADE Suite version 6.3 or higher.

Overview of ANSYS Esterel Coupling with Simplorer


The following overview describes the procedure for setting up a Simplorer design and running an
analysis using an Esterel component.
1.

Create the Esterel design; then export the Esterel model dll file.

Note

2.

Refer to the Esterel documentation for detailed information on creating an Esterel model
and saving it as a dll file.

In Simplorer, select Simplorer Circuit>SubCircuit>Add Esterel Component and use the


Import Esterel File dialog box to locate and open the Esterel model dll file you want to
import.
a.

If the selected Esterel model has more than 10 quantities, the Import Components dialog
box displays in which you can select the pins and SDB outputs you want to enable in the

11-96 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

component you are adding. Clicking OK then creates the component.

b.
3.

If the selected Esterel model has 10 or fewer quantities, Simplorer automatically adds pins
for all quantities, selects all quantities as SDB outputs, and creates the component.

Place the component on the schematic.

Product Coupling 11-97

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Create the rest of the simulation design on the sheet.

11-98 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Simulate in Simplorer and analyze results.

Product Coupling 11-99

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

11-100 Product Coupling

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

12
Netlist Editor

A netlist is an SML textual representation of a design that describes the designs model instances,
connections, subcircuits, ports, as well as instructions for data recording and analysis information.
Each component instance in a schematic provides an entry for the netlist based on the model or netlist line chosen for that particular instance (using SML syntax and netlist property expansion rules).
Simplorer creates a netlist from the schematic design, then prepares a binary version of the netlist
(i.e., a .smt file). The simulator then uses the binary file to perform the simulation.

Note

A Simplorer netlist does not contain information about the physical layout of a circuit.

You can use the Netlist Editor to view (browse) the derived netlist without making any changes.
The Netlist Editor display is colored to provide easy identification of variables, values, comments,
bookmarks, and other elements of the netlist. Printing the netlisting is also supported.

Related Topics:
Viewing Netlists in Schematic Designs
Netlist Editor Operation
Text Editor Options
Printing

Viewing Netlists in Simplorer


In Simplorer designs, the schematic defines the circuit, and the derived netlist can be viewed for
reference only. Internally, the simulator generates a netlist from the schematic, and updates it from
the schematic before performing any simulation.
To view the netlist do either of the following:

Select Simplorer Circuit > Browse Netlist.


In any simulator design, right click the name of the design in the Project window, and
Netlist Editor 12-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

select Browse Netlist.


Warning

By default unconnected component pins (terminals) will generate errors (displayed


in the Message Manager) when a netlist is generated. Simulation is not possible
until the errors are corrected.
You can change this default component behavior Using the Component Editor so
that either No Action is taken when unconnected terminals are netlisted; or that
unconnected terminals automatically are Grounded.

Note

The netlist in a Simplorer schematic design is for reference only so that you can
view what will be sent to the simulator.
The netlist should not be modified within the Netlist Editor view. While the Netlist
Editor will allow you to modify the netlist, and will ask if you want to save the
changes, any modifications you make will be overwritten the next time the netlist is
generated from the schematic.

Netlist Editor Operation


The Netlist Editor conventions for text entry, selection, modification, and deletion are common to
text editors such as MS Notepadtm.
In addition, the Netlist Editor commands give you the ability to employ bookmarks to mark
significant locations in the netlist, to perform text searches, to search for text and replace it with
new text, and to go to a numbered line in the netlist. Netlist Editor commands may be accessed in
three ways: from a toolbar, from the Edit menu, and with keyboard shortcuts.
Netlist Editor Toolbar
Edit Menu
Using Bookmarks
Searching for Text
Searching for and Replacing Text
Going to a Numbered Line

Netlist Editor Toolbar


Note

This toolbar is also used with the C, VHDL, and SML model editors.

When the Netlist Editor is the active window, the Editor Toolbar is displayed in the Simplorer tool
bar area.

12-78 Netlist Editor

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The table below summarizes the Editor Toolbar commands.


Command Function

Toolbar Commands

Description

Toggle Bookmark

Inserts a bookmark at the active cursor


position, or turns off an existing bookmark.

Delete All Bookmarks

Deletes all bookmarks in the text.

Next Bookmark

Moves the cursor to the next bookmark in


the text.

Previous Bookmark

Moves the cursor to the previous bookmark


in the text.

Find Window

Displays the text string you have entered to


find. Click the pull-down arrow to display
previously searched for text strings.

Find Forward

Searches forward in the listing for text


entered in the Find Window.

Find Backward

Searches backward in the listing for text


entered in the Find Window.

Find Forward,
Case-sensitive

Searches forward in the listing for text


entered in the Find Window with casesensitive control.

Find Backward,
Case-sensitive

Searches backward in the listing for text


entered in the Find Window with casesensitive control.

Netlist Editor 12-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Edit Menu
When the Netlist Editor is the active window, the Edit menu on the top menu bar includes Netlist
Editor commands.

The menu also identifies keystroke shortcuts that may be used in place of the mouse-oriented
command methods.
The Replace and Go To Line commands are not available on the Netlist Editor Toolbar. These
commands must be executed from the Edit menu or with a keystroke shortcut.

Using Bookmarks
A bookmark is a colored overlay that highlights a line in the netlist text that is significant to you.
Once created, Netlist Editor bookmarks allow quick access to text sections.
Inserting a Bookmark
Deleting a Bookmark
Deleting All Bookmarks
Moving Forward to the Next Bookmark
Moving Backward to the Previous Bookmark

Inserting a Bookmark
To insert a bookmark, position the cursor anywhere in the line to be marked, and then do one of the
following:

Click the Toggle Bookmark command icon

on the toolbar.

Select Edit > Toggle Bookmark.

12-80 Netlist Editor

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Press Ctrl+F2.

A colored overlay indicates that the line is bookmarked.


(The color used for bookmarks can be specified as a Netlist Editor option. See Netlist Editor
Options for details.)

Deleting a Bookmark
To delete a single bookmark, position the cursor anywhere in the bookmarked line, and then do one
of the following:

Click the Toggle Bookmark icon on the toolbar.


Select Edit > Toggle Bookmark.
Press Ctrl+F2.

The overlay disappears.

Deleting All Bookmarks


To delete all bookmarks in the netlist, do one of the following:

Click the Delete All Bookmarks icon

Select Edit > Delete All Bookmarks.


Press Ctrl+B.

Moving Forward to the Next Bookmark


To move the cursor forward to the next bookmark, do one of the following:

click the Next Bookmark icon

Select Edit > Next Bookmark.


Press F2.

If no bookmarks have been inserted, the Next Bookmark command does not move the cursor. If
the cursor is on or past the last bookmark in the netlist, the Next Bookmark command moves the
cursor to the first bookmark in the netlist.

Moving Backward to the Previous Bookmark


To move the cursor backward to the previous bookmark, do one of the following:

Click the Previous Bookmark icon

Select Edit > Previous Bookmark.


Press Shift+F2.

If no bookmarks have been inserted, the Previous Bookmark command does not move the cursor.
If the cursor is on or before the first bookmark in the netlist, the Previous Bookmark command
moves the cursor to the last bookmark in the netlist.

Searching the Netlist


The Netlist Editor can locate an item of interest in the netlist. You can specify the search
parameters via the toolbar icons, from the Edit menu, or with a keystroke shortcut.
Netlist Editor 12-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The topics for this section include:


Searching from the Toolbar
Searching from the Edit Menu or by Keyboard Shortcut

Searching from the Toolbar


To search for an item of text in the netlist, enter the search text in the Find Window in the toolbar:

To search forward for the text, using case-insensitive matching, click the Find Forward icon
on the toolbar. If the cursor is past the location of the search text, the search wraps from the
beginning of the netlist.
To search backward for the text, using case-insensitive matching, click the Find Backward
icon
on the toolbar. If the cursor is ahead of the location of the search text, the search wraps
from the end of the netlist.
To search forward for the text, using case-sensitive matching, click the Find Forward, Casesensitive icon
on the toolbar. If the cursor is past the location of the search text, the search
wraps from the beginning of the netlist.
To search backward for the text, using case-sensitive matching, click the Find Backward,
Case-sensitive icon
on the toolbar. If the cursor is ahead of the location of the search text,
the search wraps from the end of the netlist.

If any search fails to find the target text, Designer notifies you with a message.

Searching from the Edit Menu or by Keyboard Shortcut


Another way to start a text search is to select Edit > Find or pressing Ctrl+F at the keyboard.
Either of these operations opens the Find dialog box.
1.

Enter the search text in the Find what field.

2.

Select the Direction for the search. Up searches from the cursor toward the front of the netlist,
wrapping from the front to the back if the text is not found. Down searches from the cursor
toward the back of the netlist, wrapping from back to front is the text is not found.

3.

Toggle Match case to enable case-sensitive text matching.

4.

Click the Find Next button to start the search.

If any search fails to find the target text, Simplorer notifies you with a message.

Searching for and Replacing Text


To search for a text item and replace it with new text, select Edit > Replace or press Ctrl+R.
Either of these operations opens the Replace dialog box.
1.

Enter the search text in the Find what field.

2.

Enter the replacement text in the Replace with field.

12-82 Netlist Editor

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

Select the Direction for the search. Up searches from the cursor toward the front of the netlist,
wrapping from the front to the back if the text is not found. Down searches from the cursor
toward the back of the netlist, wrapping from back to front is the text is not found.

4.

Toggle Match case to enable case-sensitive text matching.

5.

To find and replace text item-by-item, click the Find Next button to start the search. When the
next instance of the search text is highlighted, click Replace to replace the search text with the
replacement text, or click Find Next again to leave the instance unchanged. Repeat this step
until all replacements have been made.

6.

To replace all instances of the search text with the replacement text globally, click the Replace
All button.

7.

When all replacements have been made, click the Cancel button to close the Replace dialog
box.

Going to a Numbered Line


Errors and warnings from the netlist parser refer to line numbers in the netlist. Line numbers are
displayed in the Netlist Editor by default, and you can move the cursor to a line by specifying its
number. To move the cursor to a numbered line, select Edit > Go To Line or press Ctrl+G. Either
operation opens the Go To Line dialog box.

1.

The parenthesized display shows the range of available line numbers in the netlist that is
currently being edited.

2.

Enter the number of the line and click OK. The cursor moves to the beginning of that line.

Note

The Go To Line command and dialog box are also used by various other Simplorer text
editors such as the VHDL-AMS, Package, Script, C-Model, SPICE, Modelica, and SML
editors.

Exporting a Netlist or Script


To export the netlist representation of a design to a file (to use as the basis of a new model, for
example):
1.

Click on Netlist in the top menu bar, and select Export. The Netlist Export dialog opens:

2.

In the Save in field, browse to the directory where the netlist file is to be saved,
Netlist Editor 12-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

In the File name field, enter the complete name of the file, including the extension if any.

4.

Click Save to save the netlist file and close the dialog, or click Cancel to cancel the export
operation without saving anything.

Note

The above procedure can also be used to export a script composed in the Script Editor, in
which case the menu item and dialog names will be Script and Script Editor.

Text Editor Options Tab


You can set text options for the following Simplorer text editors:

1.

Netlist and Script Editor


SML Model Editor
VHDL Model Editor
Package Editor
Modelica Model Editor
C Model Editor
Spice Model Editor

Click Tools>Options><text_editor_type> Editor Options.


The <text_editor_type> Editor Options window appears, in which you can make the following settings on the Text Options tab:

2.

Check Display Line Numbers to display line numbers in the editing window.
Click the Bookmark button to open a Color selection dialog box in which you can select
a color for bookmarks.
The font panel displays the current font Name selection and font Size. Some non-editable
sample text displays the currently selected font and size. To change the font, select the
desired font name from the Name drop down list. To change the font point size, edit the
Size text field.

Make the desired selections and click OK.

12-84 Netlist Editor

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

13
ANSYS Workbench Integration
Overview

ANSYS Workbench combines the strength of its core product solvers with the project management
tools necessary to manage project workflow. In ANSYS Workbench, analyses are built as systems,
which can then be combined into a project. The project is driven by a schematic workflow that
manages the connections between the systems.
From the schematic, you can interact with applications (called workspaces) that are native to
ANSYS Workbench and that display within the ANSYS Workbench interface. Native workspaces
include: Project Schematic, Engineering Data, and Design Exploration (Parameters and Design
Points).
You can also launch applications that are data-integrated with ANSYS Workbench, meaning the
applications interface remains separate, but the data from the application communicates with the
native ANSYS Workbench data. Thus, data can be passed back and forth between any ANSYS
Electromagnetics product on a Workbench Project Schematic and any supported ANSYS or
ANSYS Electromagnetics desktop product. Depending on the application, data integration can
include basic actions such as saving projects, as well as more complex actions such as the coupling
of ANSYS Electromagnetics product variables to Workbench Design Exploration parameters.
Data-integrated applications include the following ANSYS Electromagnetics products: Designer
6.1 or later, HFSS 13.0 or later, Maxwell/RMxprt 14.0 or later, Q3D Extractor 10.0 or later, and
Simplorer 9.0 or later.
Note

For detailed information on working with ANSYS Workbench, please refer to the
Workbench documentation.

Integrating ANSYS Electromagnetics Products with ANSYS


Workbench
You can integrate ANSYS Electromagnetics products with ANSYS Workbench 14.5 in one of two
ways:
ANSYS Workbench Integration Overview 13-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

During product installation, or


After product installation

Integration with ANSYS 14.5 During ANSYS Electromagnetics Product


Installation
You can choose to integrate ANSYS Electromagnetics products with ANSYS 14.5 during
installation as follows:
1.

If you have not already installed ANSYS 14.5, do so before proceeding. Refer to the ANSYS
documentation for instructions on installing the ANSYS 14.5 software.

2.

Launch Autorun.exe or Setup.exe for the ANSYS Electromagnetics product you wish to
install.

3.

Proceed through the installation dialogs.

4.

When the Integration with ANSYS 14.5 dialog displays, select the Yes radio button to have
the installer automatically integrate the ANSYS Electromagnetics product with ANSYS 14.5.

13-2 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

5.

If you choose not to integrate the product with ANSYS 14.0 during installation, you can
perform this step after installation.

Complete the product installation and exit the installer.

Integration with ANSYS 14.5 after ANSYS Electromagnetics Product


Installation
If you want to integrate an ANSYS Electromagnetics product with ANSYS 14.5 after installation,
do the following:
1.

Select Programs>ANSYS Electromagnetics>Ansoft_Product>Modify Integration with


ANSYS 14.5 from the Start menu.

ANSYS Workbench Integration Overview 13-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

In the Integration with ANSYS 14.5 dialog box, ensure that the Yes radio button is selected,

then click OK to complete the integration process.

13-4 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

You can confirm that ANSYS 14.5 is aware of the ANSYS Electromagnetics integrated
applications via the ANSYS Workbench Options dialog, which shows the paths to the integrated
ANSYS Electromagnetics applications.

ANSYS Workbench Integration Overview 13-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Workbench Data Integration Overview


ANSYS Electromagnetics data-integrated applications reside on a Workbench Project Schematic

13-6 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

as shown below.

Objects, such as instances of ANSYS Electromagnetics projects, that are placed on a Workbench
Project Schematic are referred to as systems. ANSYS Electromagnetics circuit/system products:
ANSYS Workbench Integration Overview 13-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Rmxprt 16.0, Designer 8.0, and Simplorer 11.0, appear on Workbench Project Schematics as
systems with two cells Setup and Solution. ANSYS Electromagnetics field products: HFSS
15.0, Maxwell 16.0, and Q3D Extractor, add an additional Geometry cell. If you invoke ANSYS
DesignXplorer to use variables for refining a design, a Parameters cell is added with a link to the
associated Workbench Parameter Set. Refer to the ANSYS 14.5 Workbench help for details on
working with systems, cells, and parameter sets.

ANSYS Electromagnetics desktop products integrate with Workbench commands, services, and
DesignXplorer in a similar manner. Here are some of the ways in which ANSYS Electromagnetics
products integrate with Workbench:

Adding new analysis systems


Importing existing desktop projects
Editing models
Analyzing models
Performing parameter studies
Scripting

In addition to these major features, Workbench also allows you to Archive, Save, Backup,
Duplicate, and Delete ANSYS Electromagnetics projects used in a Workbench project. Progress
information and messages from integrated ANSYS Electromagnetics projects are also displayed in
Workbench.
Note

Detailed information for how to use ANSYS Workbench 14.5 for these operations can be
found in the ANSYS 14.5 documentation and online help.

Adding New ANSYS Electromagnetics Analysis Systems


A new ANSYS Electromagnetics Analysis System can be added to a Workbench Project Schematic
either by dragging and dropping it from the Toolbox:
13-8 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

or by selecting it from the context menu in the Workbench Project Schematic window:

Importing ANSYS Electromagnetics Projects into ANSYS Workbench


You can import existing ANSYS Electromagnetics desktop projects to a Workbench Project
Schematic. When you do, a copy of the Ansoft project is put into the Workbench Project folder. The
original ANSYS Electromagnetics project remains intact.

ANSYS Workbench Integration Overview 13-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Import existing Desktop projects

Editing ANSYS Electromagnetics Models in Workbench


You can edit various properties and parameters (geometry, setup, solution, etc.) of the ANSYS
Electromagnetics project either by right-clicking on the project in Workbench and selecting Edit on
the context menu; or by double-clicking the project. Doing so launches the ANSYS
Electromagnetics desktop application and loads the project so that you can setup your project in a
familiar desktop environment. Changes made to the ANSYS Electromagnetics project are saved to
the project instance in the Workbench project folder.

13-10 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Analyzing ANSYS Electromagnetics Models in Workbench


You can use Workbenchs Update command to run analyses in the integrated ANSYS
Electromagnetics project. Progress information is also shown in Workbench.

ANSYS Workbench Integration Overview 13-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Performing Parameter Studies in Workbench


Workbench Parameter Sets allow you to change parameter values and units of measure, or add
new parameters. Parameter data is passed back to the ANSYS Electromagnetics application for
updated analyses.

13-12 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Parameters from the Ansoft project are exposed to Workbench through the DesignXplorer setup.
The ANSYS Electromagnetics systems cell status on the Workbench project is updated as changes
are made in the ANSYS Electromagnetics application desktop.

ANSYS Workbench Integration Overview 13-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Scripting in Workbench
Scripts that include ANSYS Electromagnetics projects can be recorded and played back via
Workbench.

ANSYS Electromagnetics - ANSYS Multiphysics Coupling


Data integration provides improved multiphysics workflow between ANSYS Electromagnetics
designs and ANSYS applications such as Mechanical and Thermal. Coupling is provided through
project schematic links. Heat losses and force data are automatically transferred to ANSYS
Mechanical - there is no need to export/import transfer xml files. Edits you make in ANSYS
Electromagnetics applications are automatically transferred to the ANSYS multiphysics
application through a Workbench Refresh command. Workbench commands also enable easier
automation of iterative coupling of thermal feedback. The following sections provide some
examples of multiphysics coupling.

13-14 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Multiphysics Coupling on Workbench with ANSYS Thermal


Using data integration, HFSS, Maxwell, and Q3D Extractor provide heat losses (heat generation
and heat flux) to ANSYS Thermal. Note how the HFSS design is linked visually to ANSYS
Thermal on the Workbench project schematic.

In this example, HFSS coax model Solution provides heat loss data as a thermal load to the ANSYS
Thermal Setup. The resulting analysis shows a thermal hotspot, providing the user with the
information needed to adjust the designs material to fix the problem.

HFSS Model

ANSYS Thermal

ANSYS Workbench Integration Overview 13-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Multiphysics Coupling on Workbench with ANSYS Structural


Using data integration, Maxwell 2D and Maxwell 3Dcan provide forces to ANSYS Structural.

In this example, the Maxwell 3D electromagnetic force density Solution is used as the load in
ANSYS Structural to determine how these forces deform the motors stator and coils.

Maxwell 3D Model

Deformation of the Stator Coil Deformation

Multiphysics Coupling between ANSYS Electromagnetics Field Systems

13-16 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

on Workbench
You can setup links between ANSYS Electromagnetics field systems that reside on a Workbench
project schematic. Linking is setup in the ANSYS Electromagnetics application as shown in the
example below.

ANSYS Electromagnetics CAD Integration through Workbench


ANSYS Electromagnetics CAD integration is a Workbench feature available for ANSYS
Electromagnetics 3D Products - HFSS, Maxwell and Q3D, as the ANSYS Framework for Ansoft
package. The feature is available only through Workbench, not available with standalone ANSYS
Electromagnetics products.
ANSYS Electromagnetics CAD integration provides a bi-directional dynamic link through
Workbench, which makes it possible to get updated geometry from CAD and to modify CAD
ANSYS Workbench Integration Overview 13-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

parameters in ANSYS Electromagnetics products to return updated geometry. It is associative in


that IDs persist between the ANSYS Electromagnetics model and CAD model during model
refresh. The feature is non-associative due to a need to reassign boundaries if modified CAD model
is to be used. The process creates a User Defined Model (UDM) for each geometry source

The User Defined Model (UDM) format makes it possible to exchange parameters.

See here for further description of the UDM feature and function.
ANSYS Electromagnetics CAD integration makes it possible to consume geometry from multiple
upstream source which can be any CAD or ANSYS Electromagnetics product. This feature
supports direct interfaces with all major CAD systems.

Pro/E Wildfire
UG NX
CATIA V5
SolidWorks
ANSYS Design Modeler (DM)
ANSYS SpaceClaim Direct Modeler (SCDM)
CAD software must be installed on user machine
Not required on solve nodes

13-18 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Modeler Import / MCAD Links is


Static: not possible to get updated CAD model

Platforms Supported

Windows 32 bit
Windows 64 bit
Linux is NOT supported but it is possible setup project on windows and use Linux nodes for
solves.

See the following sections:


CAD Integration and Geometry Sharing
Bi-Directional CAD Integration
CAD Integration Model Edits
Multiple Geometry Links for CAD Integration
CAD Integration Functionality
Healing with CAD Integration
Important Geometry Options for CAD Integration

CAD Integration and Geometry Sharing


CAD model comes into the ANSYS Electromagnetics design as User Defined Model (UDM).
The input to the ANSYS Electromagnetics design from CAD is:

Geometry/Topology with persistent IDs


CAD parameters
Material assignment
Attributes like name, and color

For example, in Workbench, a Pro/E Model can be linked to and HFSS design.

ANSYS Workbench Integration Overview 13-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The geometry can then be viewed in HFSS as a UDM.

The CAD or WB model parameters appear in the Workbench:

13-20 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Through ANSYS Electromagnetics CAD Integration, the linked UDM includes the same
parameters.

Related Topics
Ansoft CAD Integration Through Workbench
Bi-Directional CAD Integration
CAD Integration Model Edits
Multiple Geometry Links for CAD Integration
CAD Integration Functionality
Healing with CAD Integration
Important Geometry Options for CAD Integration

Bi-Directional CAD Integration


ANSYS Electromagnetics CAD Integrations uses Refresh (or Generate) CAD Model to pass
updates.

ANSYS Workbench Integration Overview 13-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For example, you make an edit in a CAD application and either run Refresh on an ANSYS
Electromagnetics design Geometry Cell or run Generate on the UDM in the ANSYS
Electromagnetics design window

Refresh pulls the current state of CAD model (geometry, parameters, materials etc) and updates the
corresponding data in the ANSYS Electromagnetics application.
If you edit UDM (CAD) parameters in the ANSYS Electromagnetics modeler window you can run
the Send Parameters and Generate command

The command passes the edited parameters to the linked CAD application and then pulls
corresponding CAD geometry.
Related Topics
ANSYS Electromagnetics CAD Integration Through Workbench
CAD Integration and Geometry Sharing
CAD Integration Model Edits
Multiple Geometry Links for CAD Integration
CAD Integration Functionality
Healing with CAD Integration
13-22 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Important Geometry Options for CAD Integration

CAD Integration Model Edits


Several modeling operations are allowed on a CAD model in the ANSYS Electromagnetics
Modeler window. Operations will included in the History tree and retained during model Refresh.

The following operations are not allowed

Non history tree operations like Heal or defeature.


Operations which use UDM parts as Tool such as Sweep, or Boolean operations like Split or
Unite (but allowed when you select the clone tool option).

The following part attributes can be modified for UDM parts.

Model/Non Model flag


Solve Inside flag
Part orientation
Color

ANSYS Workbench Integration Overview 13-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Display Wireframe

It is not possible to delete individual parts of UDM


Related Topics
ANSYS Electromagnetics CAD Integration Through Workbench
CAD Integration and Geometry Sharing
Bi-Directional CAD Integration
Multiple Geometry Links for CAD Integration
CAD Integration Functionality
Healing with CAD Integration
Important Geometry Options for CAD Integration

Multiple Geometry Links for CAD Integration


With CAD Integration you can consume geometry from multiple upstream sources. The Source can
be any of CAD or ANSYS Electromagnetics products. This creates a UDM for each geometry
source.

13-24 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For example, the following figure shows a DM Model, a Maxwell model, and ProE model linked to
HFSS in Workbench, and displayed in the HFSS History tree as three UDMs.

Related Topics
ANSYS Electromagnetics CAD Integration Through Workbench
CAD Integration and Geometry Sharing
Bi-Directional CAD Integration
CAD Integration Model Edits
CAD Integration Functionality
Healing with CAD Integration
Important Geometry Options for CAD Integration

CAD Integration Functionality


CAD Integration includes the following functionality.

DX analysis
WB Update Project
WB Update All Design Points

Parametric analysis with DSO


ANSYS Workbench Integration Overview 13-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Animation
Geometry
Field plots

Related Topics
ANSYS Electromagnetics CAD Integration Through Workbench
CAD Integration and Geometry Sharing
Bi-Directional CAD Integration
CAD Integration Model Edits
Multiple Geometry Links for CAD Integration
Healing with CAD Integration
Important Geometry Options for CAD Integration

Healing with CAD Integration


It is not possible to use the Heal command in the ANSYS Electromagnetics Modeler. Instead
similar healing options are available under UDM properties option tab.

The Healing options are: None, Auto and Manual. By default healing is off (None) and should be
turned on only if required.
Related Topics
ANSYS Electromagnetics CAD Integration Through Workbench
CAD Integration and Geometry Sharing
Bi-Directional CAD Integration
13-26 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

CAD Integration Model Edits


Multiple Geometry Links for CAD Integration
CAD Integration Functionality
Important Geometry Options for CAD Integration

Important Geometry Options for CAD Integration


Select a Geometry Cell in Workbench to see options in Properties window.

Control dimension of bodies coming from CAD

Make sure parameters is checked and parameter key (filter) is appropriate to bring CAD
parameters.

Attributes key should be empty or Color to bring in CAD Colors

Material properties must be checked to bring in the material assignment.

The Mixed import resolution option is used to resolve parts with mixed dimension (typically

ANSYS Workbench Integration Overview 13-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

from Pro/E)

Refer to ANSYS Help for details: Path // CAD Integration // Overview :: 2 // Project Schematic
Presence Related to CAD Integration // Geometry Preferences
Related Topics
ANSYS Electromagnetics CAD Integration Through Workbench
CAD Integration and Geometry Sharing
Bi-Directional CAD Integration
CAD Integration Model Edits
Multiple Geometry Links for CAD Integration
CAD Integration Functionality
Healing with CAD Integration

User Defined Model (UDM) for ANSYS WB Integration


A User Defined Model (UDM) is collection of externally defined parts imported into an ANSYS
Electromagnetics 3D Modeler.

UDM includes part attributes (like name, color etc) and material assignment
UDM can also have external coordinate systems and corresponding planes
UDM parts can be parameterized and manipulated in an ANSYS Electromagnetics modeler
just like any other part

UDM can either represent Static geometry models or


13-28 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Dynamic links to models of external geometry editors


Used for supporting CAD integration in WorkBench
UDM uses same plugin technology as User Defined Part (UDP)

See the following sections:


UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
UDM Properties
Library of Models for CAD Integration
ANSYS to Ansoft Geometry Transfer
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
CAD Integration Functionality

ANSYS Workbench Integration Overview 13-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UDM compared to User Defined Primitives


User Defined Models (UDM) resemble User Defined Primitives (UDP):

ANSYS Electromagnetics products can be extended by users through new UDMs


UDM plugins are discovered by searching standard directory paths
Plugins for static UDM can build model using callback interfaces (like create-box, createcylinder, subtract etc) similar to UDP
UDMs run inside the ANSYS Electromagnetics application
UDMs provide geometry, topology, persistence and parameters

In contrast to UDP:

UDM provides multiple Parts/CS/etc.


UDP provides primitive operation only for a single Part

UDM provides part attributes and material assignment


UDP does not define part attributes or material

13-30 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UDM Properties have four tabs Definitions, Parameters, Options and Info

Definition tab has:


UDM name
Coordinate system used to position UDM
May have external reference to file

Info tab has:


UDM dll name, dll location, version etc

Option tab:
may have options if any

Related Topics
User Defined Model (UDM) for ANSYS WB Integration
Insert UDM Command on Draw Menu
UDM Properties
Library of Models for CAD Integration
ANSYS to Ansoft Geometry Transfer
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
CAD Integration Functionality

Insert UDM Command on Draw Menu


To insert a UDM into a design, use the User Defined Model command on the Draw menu for
the Modeler window.

Related Topics
User Defined Model (UDM) for ANSYS WB Integration
UDM compared to User Defined Primitives
UDM Properties
Library of Models for CAD Integration
ANSYS to ANSYS Electromagnetics Geometry Transfer
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
ANSYS Workbench Integration Overview 13-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

CAD Integration Functionality

UDM Properties
UDM Properties have four tabs Definitions, Parameters, Options and Info.

Definition tab has

UDM name
Coordinate system used to position UDM
May have external reference to file

Info tab has:

UDM dll name, dll location, version etc

Option tab:

may have options if any

UDM Parameters
UDM Part Edits
Related Topics
User Defined Model (UDM) for ANSYS WB Integration
UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
Library of Models for CAD Integration
ANSYS to ANSYS Electromagnetics Geometry Transfer
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
CAD Integration Functionality

UDM Parameters
UDM geometry can be manipulated through its parameters
13-32 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Can be mapped to design or project variable for animation, parametric analysis


IDs are persisted (allowing to retain boundaries) during parameter edit

UDM geometry is not dynamic updated upon parameter edits

UDM shows a lightening bolt icon by the model name when parameters are edited.

You must run the Send Parameters and Generate command to synchronize parameters with
geometry

Related Topics
UDM Properties
UDM Part Edits

UDM Part Edits


Several modeling operations are allowed on UDM parts

Operations will be part of history tree and retained during model refresh

The following operations are not allowed

Non history tree operations like healing, defeature.


Operations which use UDM parts as tool, such as sweep or boolean (but allowed when clone
tool option is selected)

Following part attributes can be modified for UDM parts

Model/Non Model flag


Solve Inside flag
Part orientation

Related Topics
UDM Properties
UDM Parameters

ANSYS Workbench Integration Overview 13-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Library of Models for CAD Integration


UDM technology allows library of models

Any ANSYS Electromagnetics model can be exported as Ansoft Geometry File

An Ansoft Geometry File can be imported back as a UDM.

13-34 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Any Design/project variables associated with model are brought in as UDM parameters.

Geometry computation for UDM (and also UDP) can be specified in the Modeler options as either
done on.

Engine side (default):


Requires deployment of UDM on each node

Desktop side:
UDM need not be deployed on each engine
Desktop will be busy during parametric analysis

Related Topics
User Defined Model (UDM) for ANSYS WB Integration
UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
UDM Properties
ANSYS to ANSYS Electromagnetics Geometry Transfer
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
CAD Integration Functionality

ANSYS Workbench Integration Overview 13-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ANSYS to ANSYS Electromagnetics Geometry Transfer


ANSYS Electromagnetics CAD Integration transfers model information based on Workbench
links.

The following figure shows how the information is transferred between simulators.

The information transferred includes:

Geometry
ANSYS Electromagnetics lists and material assignment as Named Selection

13-36 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Material assignment

The CAD Integration geometry link is

Dynamic because you can get updated geometry from ANSYS Electromagnetics
Associative because IDs persist between the ANSYS Electromagnetics model and the ANSYS
model during model refresh.
Boundary conditions in ANSYS are preserved.

Related Topics
User Defined Model (UDM) for ANSYS WB Integration
UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
UDM Properties
Library of Models for CAD Integration
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
CAD Integration Functionality

CAD Integration Material Assignment Transfer


Pre-requisite for assignment transfer

Engineering Data should have materials used in the ANSYS Electromagnetics model and
material names should match with case.
Material Properties in Geometry Options must be checked

Pre-requisite for transfer as named selection

ANSYS Workbench Integration Overview 13-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Named Selection in Geometry Options must be checked

Named Selection Key should either be empty or include Material

Related Topics
User Defined Model (UDM) for ANSYS WB Integration
UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
UDM Properties
Library of Models for CAD Integration
ANSYS to ANSYS Electromagnetics Geometry Transfer
Geometry Transfer through ANSYS DesignModeler (DM)
CAD Integration Functionality

Geometry Transfer through ANSYS DesignModeler (DM)


It is possible to edit geometry in ANSYS DesignModeler (DM) before consuming in Mechanical

Useful when geometry needs preprocessing for ANSYS simulation


Can take advantage of geometry commands available in DM

13-38 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For example, consider an HFSS model linked to DM through the Workbench.

In this case, the figure below shows how a chamfer operation on geometries is imported.

It is possible to edit geometry in ANSYS DesignModeler (DM) before consuming in Mechanical

Useful when geometry needs preprocessing for ANSYS simulation


Can take advantage of geometry commands available in DM

Related Topics
ANSYS Workbench Integration Overview 13-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Model (UDM) for ANSYS WB Integration


UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
UDM Properties
Library of Models for CAD Integration
ANSYS to ANSYS Electromagnetics Geometry Transfer
CAD Integration Material Assignment Transfer
CAD Integration Functionality

CAD Integration Functionality


WB Update Project
WB Update All Design Points
DX analysis
For Explicit Subtraction

ANSYS Mechanical does not do implicit subtraction


Ansoft modeler command Modeler>Model Preparation>Perform Explicit Subtraction can
do explicit subtractions before sending geometry to ANSYS.

For example, consider the following model.

13-40 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Perform Explicit Substraction can be performed.

The results appear in the History tree as shown:

The Message window reports this action.

Related Topics
User Defined Model (UDM) for ANSYS WB Integration
UDM compared to User Defined Primitives
Insert UDM Command on Draw Menu
UDM Properties
ANSYS Workbench Integration Overview 13-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Library of Models for CAD Integration


ANSYS to ANSYS Electromagnetics Geometry Transfer
CAD Integration Material Assignment Transfer
Geometry Transfer through ANSYS DesignModeler (DM)

13-42 ANSYS Workbench Integration Overview

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

14
Analyzing Simplorer Designs

Simplorer enables you to set up and run analyses on the designs you construct in the Schematic
Editor directly from the Project Manager using the simulator engine in the background for running the analyses.
The simulator is the heart of the Simplorer system. Simulation models can be described using
SML (Simplorer Modeling Language), VHDL-AMS, SPICE, and C. The compiler, which automatically starts when you start the simulator, translates models into code the simulator can read.
At the beginning of each simulation (i.e., analysis), the simulator resolves name references of quantities used in different modules and simulators. The compiler recognizes only semantic and syntactic errors in the SML data stream. Except for the output of error messages, the compiler has no
contact with and the compile process cannot be affected by the user.

Schematic

Compiler

Syntax check of
model description

Simulator

Outputs

Link the
variables used

Simplorer uses the principle of simulator coupling. In simulator coupling, different single simulators are connected to solve tasks from several technical fields and to represent their interactions.
These different simulators exchange data during the simulation process, much as the real system
components would exchange energy and information in a real-time physical environment.
The simulator provides a variety of features, such as user-defined simulation precision, eventdriven modification of simulation parameters, and manual parameter modification during simulation.

Analyzing Simplorer Designs 14-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simulator Backplane
In Simplorer simulator coupling is achieved through a simulation backplane which is responsible
for controlling each of the sub-simulators. Sub-simulators communicate with each other through a
data bus.
Because certain basic knowledge about the simulation methods applied here is important for successful processing of a simulation task, below is a brief review of the fundamentals of Simplorer's
numerical algorithms and simulator coupling.
Although in reality all processes of a complex technical system run in parallel, in simulation a
sequential calculation of these processes must be done, because most readily available computers
have only one processor. Therefore, one must always keep in mind during modeling that all the
components of a modeled system are processed one after another.

Circuit Simulator Processing


The global circuit simulator (also known as the Analog Simulator or Continuous System Simulator)
solves a system of non-linear Differential and Algebraic equations. It employs the modified nodal
approach to formulate the system of equations. For the solution of the differential equation system,
a numerical integration method (either the Euler or the Trapezoidal algorithm) is applied. The nonlinear equations are linearized by the iterative Newton-Raphson method and the linearized system
of equations is solved by LU factorization.
An important feature of the applied solvers is the automatic time step control. This feature ensures
an adaptive calculation of the step width depending on the active dynamic situation in the system.
This is done in a way that ensures an optimum between precision of calculation and simulation
speed. The time step limitations are user-defined by a minimum and maximum time step. Through
this specification, the possible time step range for the active simulation task is determined:

TEND: Simulation duration


HMIN: Minimum time step width permissible
HMAX: Maximum time step width permissible

The limits for number of time steps are, consequently:


The real number of time steps that would be between these two boundaries. If the step width for a
specific time step is too large (automatically recognized), the circuit simulator requests a cancellation of this time step, and it will be repeated with an adapted step width (also calculated automatically). The necessary step cancellations are forwarded to a step width manager and processed there.

Block Diagram Simulator Processing


Block diagrams are calculated according to the block transfer characteristics and in the sequence of
signal flow. Integrators can be processed with any of the following (user-selectable) integration
methods:

Forward Euler
Backward Euler
Trapezoid
Using the current network solver method

14-2 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For each block a certain sampling time can be defined by the user. Then the blocks are equidistantly
calculated only on these discrete times. The sampling time must be selected very carefully. There
may be dead time effects, especially in simulation models with different sampling times.
If no sampling time is specified, the block diagram module runs with the same (variable) time step
as the circuit simulator (quasi continuous case). In this case, make sure that the block diagram time
constants are larger than those in the electrical circuit model. If no sampling time is specified and
there is also no electrical circuit in the model, the block diagram module runs constantly with
HMAX.
The observance of block diagram simulator calculation times is guaranteed by the predictive time
step control of the time step manager.

State Graph Simulator Processing


Within state machines the calculation of states, transitions, and actions continue as long as there is
no other valid transfer condition. The calculations are executed only in active (marked) states.
Afterwards the system tests if there have been any events. Only if events have occurred and further
states can be marked are new actions calculated.
State graphs do not need their own time step control; they work in discrete time and are actualized
at each time step. Otherwise, the state graph simulator itself influences the time step (in the same
way as other Simplorer modules). This method of processing concerns first of all the identification
of events. For the time determination of such an event, the simulator searches for a value as precise
as possible, canceling and repeating simulation time steps with a decreasing time step until the minimum time step is reached. At this limit the time determination of an event is accepted as valid
(with sufficient precision) and the simulation continues as usual. This event synchronization is performed using >= or <= and bypassed on the > and < operators.

10

U>=10

System
quantity

Decreasing step width


t2=t0+h1
t3=t2+h2
t0
t2=t0+h1

tx

t1=t0+h0
t3=t2+h2

Analyzing Simplorer Designs 14-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

VHDL-AMS Simulation
The VHDL-AMS simulator is a sub-simulator of the Simplorer system. It calculates simulation
models described in VHDL-AMS (Very high speed integrated circuit Hardware Description Language - Analog Mixed Signal). The SML compiler starts the VHDL-AMS simulator if VHDLAMS models are used in the simulation model.
Components for VHDL-AMS Simulation

Components in the Basic Elements VHDLAMS component library.


Components in the Digital component library.
Components implementation using VHDL-AMS.

14-4 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer Analyses
Before running analyses, you must specify the parameters that Simplorer will use for analyzing the
design. Analyses in Simplorer can be divided into two categories:

Standard Analysis Types single-run simulations for DC, Transient, and AC analyses. These
are provided by adding a Standard Analysis Setup and Solution Options to the design. When
added, these appear in the Program Manager project tree under Analysis.
Advanced Analysis Types multi-run simulations such as statistical analyses and optimization
analyses. These are provided by the various Optimetrics analysis setups.

Standard Analysis Types


A standard analysis represents a single simulation run, in which the design models are evaluated
with the specified simulator. Simplorer supports the following standard analysis types:

TR (Transient) Analysis A Transient analysis computes the time-domain response of a circuit by numerically integrating a system of differential/algebraic equations. The equations are
derived from the circuit topology and from information provided by the circuit device models.
Transient analysis discretizes time and uses numerical integration methods (such as the trapezoidal rule) to solve the circuit equations at each time step.
AC Analysis AC Analysis is used to calculate the simulation model in the frequency
domain. First it performs a DC simulation to calculate operating point values and then an AC
simulation for a given frequency range.
Harmonic balance analyzes the periodic or quasi-periodic steady-state response of a circuit to a
periodic input by solving the circuit equations in the frequency domain. Time domain equations are represented by their Fourier series equivalents. In a one-tone or periodic analysis, the
input is a sine wave at a specified frequency, and the response is measured over a specified
range of harmonics of that frequency. In a multi-tone or quasi-periodic analysis, the input is a
combination of sine waves at different frequencies, and the response is a spectrum containing
the DC response, the harmonics of the input frequencies, and the sums and differences of the
harmonic frequencies.

DC Analysis DC Analysis is used to calculate the operating point for simulation models with
nonlinear components in the quiescent domain. The voltage and current information about the
operating point is saved to the .sdb file of the simulation model automatically. The voltage values for the computed operation point are automatically displayed on the sheet at the components.
DC analysis provides the DC operating point voltages and currents. In turn, the DC operating
point provides the initial values for DC sweep analysis, harmonic balance, and transient analyses. It also provides the large signal bias operating point for small signal AC analysis, noise
analysis, and linear network analysis.

Related Topics
Standard Analysis Setup Options
Analyzing Simplorer Designs 14-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Solution Options
Running Analyses

Advanced Analysis Types - Optimetrics


Simplorers advanced analysis types, known collectively as Optimetrics analyses, are used to investigate an existing design in more detail. Optimetrics analyses usually require more than one simulation run. Typically these analyses are used for design optimization, and to determine how parameter
variations influence a designs performance.
Related Topics
Optimetrics
Running analyses

14-6 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Standard Analysis Setup Options


Simplorer provides three standard analysis setup options:

Transient Analysis Setup


AC Analysis Setup
DC Analysis Setup

Transient Analysis Setup


Transient analysis can be performed on the following components:

All internal components.


All VHDL-AMS components. (See VHDL-AMS Simulation for additional information.)
C models defined for use with transient simulation.
Macros using any of the components listed above.

Simulation parameters in the Transient Analysis Setup and Solution Options dialogs control the
simulation process. Parameter values used by the simulator during a simulation also provide information about the quality of a simulation result. Proper choice of values for simulation parameters is
very important for a fast and successful simulation. Simulation parameters also can be used in
equations and expressions.
The Transient Analysis Setup dialog box provides the following options:

Analysis Setup Name: the default name is TR. If you specify additional solution setups, the
default name increments by 1 (for example, TR1).
Analysis Control: includes values for End Time - Tend, Min Time Step - Hmin, and Max
Time Step - Hmax.
Checkboxes also allow you to Use Initial Values from a file, and to Disable This Analysis.
Enable continue to solve causes the simulation to pause at the currently set end time (Tend)
and to prompt you to set a new end time to continue the simulation. Refer to the Progress Bar
Menu help topic for additional information.
Note

If a simulation ends before the specified end time (Tend), the simulation does not pause
and the Progress bar closes normally.

Analysis Options: Clicking this button opens a Select Solution Options dialog box where you
can choose the solution option you intend to use for an analysis.

Related Topics
Adding a Transient Analysis
Guidelines for the Proper Choice of Time Step
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Analyzing Simplorer Designs 14-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Copying and Pasting an Analysis Setup


Renaming an Analysis Setup
Deleting an Analysis Setup
Progress Bar Menu

Guidelines for the Proper Choice of Time Step


The accuracy of simulation results and performance of the simulator depend on the proper choice
of minimum and maximum values for the simulation (integration) time steps (Hmin and Hmax).
Smaller time step values yield more accurate results, but require longer processing times.
When specifying the minimum and maximum time step values, you need to compromise between
accuracy and time. The basic rule of measurement: Not as precise as possible, but as precise as
required. is also valid for a simulation. The following guidelines should help you prevent elementary mistakes in choosing the proper integration step width:

What is the smallest time constant (min) of the electric circuit (R*C or L/R) or of the block
diagram (PTn-elements)?
What is the largest time constant (max) of the electric circuit (R*C or L/R) or of the block diagram (PTn-elements)?
Which is the smallest cycle (Tmin) of oscillations that can be expected (natural frequencies of
the system or oscillating time functions)?
Which is the largest cycle (Tmax) of oscillations that can be expected (natural frequencies of
the system or oscillating time functions)?
What is the smallest controller sampling (TSmin)?
What is the fastest transient occurrence (TUmin) (edge changes of time functions)?
What is the time interval to be simulated (Tend)?
Notes

1.

Select the smallest of each estimated maximum and minimum time step for
your simulation model.

2.

All values recommended above are based on numeric requirements and


experience and do not guarantee a successful simulation. Please consider the
algorithm as a guideline.

3.

In case of doubt, decrease the maximum and minimum step size by dividing
by 10, repeat the simulation and compare the results. If the second set of
results (with the step size decreased) shows conformity with the first results,
then the step sizes chosen for the first simulation were appropriate
(remember that smaller values increase the simulation time).

Adding a Transient Analysis


1.

Right-click on Analysis in the Project tree and select Add Solution Setup>Transient from
the shortcut menu, or on the menu bar, click Simplorer Schematic>Add Solution
Setup>Transient.
The Transient Analysis Setup dialog box appears.

14-8 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

A default name for the analysis appears in the Analysis Setup Name field.
The default name is TR. If you specify additional solution setups, the default name increments
by 1 (for example, TR1). If you want to change the name, do so by typing in the text field. The
name must begin with an alpha character and may contain only alpha, numeric, and underscore
characters.

3.

In the Analysis Control panel:


a.

Set the desired values for:

Hint

End Time - Tend (Default value is 40ms.)


Min Time Step - Hmin (Default value is 10us.)
Max Time Step - Hmax (Default value is 1ms.)

Refer to Guidelines for the Proper Choice of Time Step for help with these settings.

b.

Select units for each value from the drop down menus.

c.

Check Use Initial Values if you wish to load initial values from a file.
You can type the path and filename in the text box or click the button for a file Open
dialog box to locate and load the file.

d.

Check Enable continue to solve if you wish the simulator to pause after the currently set
end time. When you select Continue on the simulator progress bar menu, the Transient
Analysis Setup dialog box opens, prompting you to enter a new end time (Tend) with
which to continue the simulation. The new end time must be greater in value than the current end time. This process repeats until you manually stop the simulator. If you set Simulation Options to save the simulator state and/or the initial conditions, the corresponding
.krn and .aws files are also updated.

e.

Check Disable this analysis to exclude this analysis when analyses are run.
You can also control the analysis by right-clicking on its icon in the Project tree and
selecting Disable (or Enable) from the shortcut menu. The icon is gray when the analysis
is disabled.

4.

To choose solution options other than the default options, click the button to the right of Analysis Options to open the Select Solution Options dialog where you can choose the desired
solution option for this analysis. (The button name indicates the currently selected option.)
The Select Solution Options dialog box also allows you to add, edit, clone, and remove Solution Options.

5.

Select OK to close the Transient Analysis Setup dialog box.


An icon for the transient analysis setup appears in the Project Manager window under the
Analysis icon.

Related Topics
Monitoring and Controlling the Solution Process
Setting the Active Analysis Setup
Analyzing Simplorer Designs 14-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Disabling/Enabling an Analysis Setup


Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

AC Analysis Setup
AC analysis can be performed on the following components:

Passive Components
Electrical Sources (except for Fourier source)
Switches (except for controlled switches)
Semiconductor System Level
Semiconductor Device Level
SPICE compatible models
Transformers
Continuous Blocks
Discrete Blocks
Source Blocks
Signal Processing Blocks (except for MAX, MIN, MAXT, MINT, two-point element with
hysteresis)
Math Blocks
Measurement (Electrical domain)
Time Functions
Characteristics
Equations (except for DES solver)
C models with definition for DC and AC simulation.
Macros using appropriate models (internal components, C models)

The following components are not supported for AC analysis:

Electrical Machines
State graph components
Signal characteristics
Physical Domain components
Digital components
Time Functions

14-10 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Simulator Parameters
If models without DC and AC implementation are used in an AC simulation, an
error message appears.

The AC Simulator is used to calculate the simulation model in the frequency domain. The AC Simulator first performs a DC simulation to calculate operation point values and then an AC simulation
for a given frequency range. The voltage and current information for the DC simulation and the values for the AC simulation are saved in one .sdb file
The AC Analysis Setup dialog box provides the following options:

Analysis Setup Name: the default name is AC. If you specify additional solution setups, the
default name increments by 1 (for example, AC1).
Analysis Control: includes values for Start Frequency - FStart, Stop Frequency - FEnd,
Frequency time step or Points per decade - Fstep (depending on the AC sweep type - linear
or decadic). A checkbox also allows you to disable the analysis.
Enable continue to solve causes the simulation to pause at the currently set stop frequency
and to prompt you to set a new stop frequency (FEnd)to continue the simulation. Refer to the
Progress Bar Menu help topic for additional information.
Note

If a simulation ends before the specified stop frequency (FEnd) is reached, the
simulation does not pause and the Progress bar closes normally.

Analysis Options: Clicking this button opens a Select Solution Options dialog box where you
can choose the solution option you intend to use for an analysis.

Related Topics
Adding an AC Analysis
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup
Progress Bar Menu

Guidelines for Configuring AC Simulation Models


The following configurations cannot be used with AC simulations:

Parallel connection of voltage sources and inductances


Parallel connection of current sources and capacitances without any other branch

Analyzing Simplorer Designs 14-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If an AC simulation is started, the values for magnitude and phase, or real and imaginary part,
defined for electrical and block sources, are used to generate the sine wave.
The magnitude of AC parameters can be a numerical value, a variable (defined in an initial assignment condition or equation), or an expression. If you use an expression, only quantity types with
the attribute Out and standard functions can be used, for example R10.V*ABS(C1.V). In contrast to
the numerical value and the variable, expressions will be linearized in the operating point. Therefore, expressions also contain information about the current phase, whereas numerical values and
variables have no phase information.
The parameters: phase, real part, and imaginary part are common parameter types. You can use all
numerical values, variables, or expressions.

Adding an AC Analysis
1.

Right-click on Analysis in the Project tree and select Add Solution Setup>AC from the shortcut menu, or on the menu bar, click Simplorer Schematic>Add Solution Setup>AC.
The AC Analysis Setup dialog box appears.

2.

A default name for the analysis appears in the Analysis Setup Name field.
The default name is AC. If you specify additional solution setups, the default name increments
by 1 (for example, AC1). If you want to change the name, do so by typing in the text field. The
name must begin with an alpha character and may contain only alpha, numeric, and underscore
characters.

3.

In the Analysis Control panel:


a.

Set the desired values for:

Start Frequency - FStart (Default value is 1Hz.)


Stop Frequency - FEnd (Default value is 1kHz.)
AC sweep type (linear - the default, or decadic)
Frequency time step - Fstep (Default value is 10Hz.) This field displays when AC
sweep type is linear.
Points per decade - Fstep (Default value is 10.) This field displays when AC sweep
type is decadic.

b.

Select units for each value from the drop down menus.

c.

Check Enable continue to solve if you wish the simulator to pause after the currently set
stop frequency. When you select Continue on the simulator progress bar menu, the AC
Analysis Setup dialog box opens, prompting you to enter a new stop frequency (FEnd)
with which to continue the simulation. The new stop frequency must be greater in value
than the current stop frequency. This process repeats until you manually stop the simulator. If you set Simulation Options to save the simulator state and/or the initial conditions,
the corresponding .krn and .aws files are also updated.

d.

Check Disable this analysis to exclude this analysis when analyses are run.
You can also control the analysis by right-clicking on its icon in the Project tree and

14-12 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

selecting Disable (or Enable) from the shortcut menu. The icon is gray when the analysis
is disabled.
4.

To choose solution options other than the default options, click the button to the right of Analysis Options to open the Select Solution Options dialog box where you can choose the
desired solution option for this analysis. (The button name indicates the currently selected
option.)
The Select Solution Options dialog box also allows you to add, edit, clone, and remove Solution Options.

5.

Select OK to close the AC Analysis Setup dialog box.


The AC analysis setup appears in the Project Manager window under the Analysis icon.

Related Topics
Monitoring and Controlling the Solution Process
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

DC Analysis Setup Options


DC analysis can be performed on the following components:

Passive Components
Electrical Sources (except for Fourier source)
Switches (except for controlled switches)
Semiconductor System Level
Semiconductor Device Level
SPICE compatible models
Transformers
Continuous Blocks
Discrete Blocks
Source Blocks
Signal Processing Blocks (except for MAX, MIN, MAXT, MINT, two-point element with
hysteresis)
Math Blocks
Measurement (Electrical domain)
Time Functions
Analyzing Simplorer Designs 14-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Characteristics
Equations (except for DES solver)
C models with definition for DC and AC simulation.
Macros using appropriate models (internal components, C models)

The following components are not supported for DC analysis:

Note

Electrical Machines
State graph components
Signal characteristics
Physical Domain components
Digital components
Time Functions
Simulator Parameters
If models without DC and AC implementation are used in a DC simulation, an error
message appears.

The DC Simulator is used to calculate the operating point for simulation models with nonlinear
components in the quiescent domain. Voltage and current information about the operating point is
saved to the .sdb file of the simulation model automatically. Voltage values for the computed operation point are automatically displayed on the sheet at the components.
The DC Analysis Setup dialog box provides the following options:

Analysis Setup Name: the default name is DC. If you specify additional solution setups, the
default name increments by 1 (for example, DC1).
Analysis Control: provides a checkbox that allows you to disable the analysis.
Analysis Options: Clicking this button opens a Select Solution Options dialog where you can
choose the solution option you intend to use for an analysis.

Related Topics
Adding a DC Analysis
Viewing DC Bias Values in a Schematic
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

Guidelines for Configuring DC Simulation Models


The following configurations cannot be used with DC simulations:
14-14 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Parallel connection of voltage sources and inductances


Parallel connection of current sources and capacitances without any other branch

Adding a DC Analysis
1.

Right-click on Analysis in the Project tree and select Add Solution Setup>DC from the shortcut menu, or on the menu bar, click Simplorer Schematic>Add Solution Setup>DC.
The DC Analysis Setup dialog box appears.

2.

A default name for the analysis appears in the Analysis Setup Name field.
The default name is DC. If you specify additional solution setups, the default name increments
by 1 (for example, DC1). If you want to change the name, do so by typing in the text field. The
name must begin with an alpha character and may contain only alpha, numeric, and underscore
characters.

3.

In the Analysis Control panel check Disable this analysis to exclude this analysis when analyses are run.
You can also control the analysis by right-clicking on its icon in the Project tree and selecting
Disable (or Enable) from the shortcut menu. The icon is gray when the analysis is disabled.

4.

To choose solution options other than the default options, click the button to the right of Analysis Options to open the Select Solution Options dialog box where you can choose the
desired solution option for this analysis. (The button name indicates the currently selected
option.)
The Select Solution Options dialog box also allows you to add, edit, clone, and remove Solution Options.

5.

Select OK to close the DC Analysis Setup dialog box.


The DC analysis setup appears in the Project Manager window under the Analysis icon.

Related Topics
Viewing DC Bias Values in a Schematic
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

Viewing DC Bias Values in a Schematic


To run a DC bias analysis on a circuit design in the Schematic Editor, click on Simplorer Circuit
and select View DC Bias Values from the pulldown menu. A submenu containing three items
appears:

Show DC Bias
Update
Analyzing Simplorer Designs 14-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Display Options

Show DC Bias toggles visibility of existing data on and off. If there is no existing data, a simulation is run to create it. A checkmark appears next to the menu command to indicate that visibility
turned on.
Update causes a simulation to be run so that the data reflects the current design topology and settings. Update is disabled (dimmed) if DC Bias data is not visible.
Display Options opens the DC Display Options dialog box allowing display customization:

14-16 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Use an existing setup checkbox allows the user to pick an existing DC setup, listed in the
Available DC Setups dropdown list. The checkbox and list are disabled if there are no existing DC
setups. If an existing setup is not chosen, a temporary setup that uses default values will be created
when needed.
In the Across Quantities panel, display of net across values can be toggled with the Show checkbox. Choosing All results in a value being shown for every conservative net. Choosing Selected for
Output results in display of the net across quantities selected in the Output Dialog.
Similarly, in the Through Quantities panel, display of component through values can be toggled
with the Show checkbox. Choosing All results in a value being shown for every component
instance. Choosing Selected for Output results in display of the component instance through
quantities selected in the Output Dialog.
The Manage Devices button allows appropriate 2-terminal devices to be chosen through the following dialog:

Devices can be added to the list by clicking the


add in the Select Definition dialog.

button, then selecting the devices you wish to

Analyzing Simplorer Designs 14-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Devices can be removed from the list by selecting them in the list, then clicking the

button.

Show quantities for current schematic only can be checked to limit the bias display to the current
schematic. If the box is unchecked, bias values are displayed for the current design and all its subdesigns. In a subdesign, display of bias values is based on a parent's simulation if the parent's
checkbox was unchecked and that bias display was most recently shown. To see values based on
simulation of the current subdesign, Simplorer Circuit/View DC Bias Values/Update can be
invoked.
Use the Across and Through panels to control the precision (number of decimal points) and color
used to display these values.
Use the Font panel to control the font used for the displayed values. Click the Select button to open
the Font dialog. Use the sliders to select the desired Font, Font style, and Size, then click OK to
return to the DC Display Options dialog.
Click Use Default to restore the default option values in the dialog. Click Set as default to make
the currently-set options the defaults.
Click OK to enable the specified options, or click Cancel to close the dialog without changing any
options.
Related Topics
Adding a DC Analysis
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Setting the Outputs for Simulation

Select Solution Options


The Select Solution Options dialog box allows you to choose the Solution Options to be used by
the analysis you are setting up. It also allows you to add, edit, clone, and remove Solution Options.

The list box displays the Solution Options currently defined for the project
New opens the Solution Options dialog box in which you can name and define a new set of
solution options. New options sets are added to the list of available selections.
Edit opens the selected solution options set in the Solution Options dialog box for editing.
Clone generates a copy of the selected solution options set.
Remove deletes the selected solution options set. A warning message displays if you attempt
to delete an option set that is in use.

To assign a solution options set for use with an analysis, select the desired options set form the list,
and then click OK.

14-18 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting the Active Analysis Setup


If you have more than one analysis setup defined for a project, you can set the analysis setup you
want to be active as follows:
1.

On the Simplorer main menu, choose Simplorer Circuit>Set Active Setup.

2.

Click the setup name you wish make active and then click OK to confirm the choice and close
the dialog box.

The Set Active Setup dialog box appears.

Related Topics
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

Disabling/Enabling an Analysis Setup


You can disable or enable an analysis setup as follows:
1.

In the Project tree, right-click on the icon of the analysis setup you wish to disable (or enable).

2.

On the shortcut menu, choose Disable (or Enable).


Analysis setup icons are grey to indicate that an analysis is disabled.

Related Topics
Setting the Active Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

Editing an Analysis Setup


To edit a transient, AC, or DC analysis setup:
1.

In the Project tree, double-click on the icon of the analysis setup you wish to edit.
The appropriate Analysis Setup dialog box appears.

2.

Make the desired changes to the analysis setup settings.

3.

Click OK to save the changes and close the dialog box.

Note

You can also edit an analysis setup by selecting its icon in the Project tree, then editing
the settings in the Properties window Analysis Setup tab.

Analyzing Simplorer Designs 14-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

Copying and Pasting an Analysis Setup


1.

In the Project tree, right-click on the icon of the analysis setup you wish to copy.

2.

Select Copy from the shortcut menu to copy the analysis setup.

3.

Right-click on the Analysis icon and select Paste to paste the copied setup.

Related Topics
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Renaming an Analysis Setup
Deleting an Analysis Setup

Renaming an Analysis Setup


To rename an analysis setup:
1.

In the Project tree, right-click on the icon of the analysis setup you wish to rename.
The name next to the icon becomes editable.

2.

Make the desired change to the name.

3.

Press Enter to save the change.

Related Topics
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Deleting an Analysis Setup

Deleting an Analysis Setup


Warning

Deleting an analysis setup also deletes all plots that depend upon it.

14-20 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To delete an analysis setup:


1.

In the Project tree, right-click on the icon of the analysis setup you wish to delete.

2.

Select Delete from the shortcut menu to delete the analysis setup.

Related Topics
Setting the Active Analysis Setup
Disabling/Enabling an Analysis Setup
Editing an Analysis Setup
Copying and Pasting an Analysis Setup
Renaming an Analysis Setup

Analyzing Simplorer Designs 14-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Solution Options
The Solution Options dialog box allows you to set various parameters that control the analyses performed on your Simplorer designs.
The Solution Options dialog box includes the following tabs:

TR (Transient) Options
AC Options
DC Options
General Options
SML Header Options

TR (Transient) Options
Integration formula
Euler

Damping effects may cause false results for energy


relationships.

Adaptive Trapezoid-Euler Default integration formula. Used for oscillating LC systems


or analog oscillators, especially useful for investigating
energy problems.

Local truncation error[%] - LDF


Defines the acceptable truncation error value. This value controls the time step depending on
the dynamic nature of the circuit. A small error increases the precision but also the calculation
time. This number itself does not control the precision of the overall result. Default value is 1.

Maximum number of iterations - IteratMax


Maximum number of iterations allowed per simulation step. If convergence problems occur,
the calculation for the active simulation step is stopped when the maximum value is reached
without consideration of other error limits. The simulation then proceeds to the next step.
Default value is 40.

Maximum current error -IEmax


Maximum current sum error. Used to determine the acceptable error (convergence criteria) for
the RHS vector in the Newton-Raphson method. A lower value leads to more accurate results,
but convergence problems might be possible in the Newton-Raphson iterations. Default value
is 1m.

Maximum voltage error -VEmax


Used to determine the acceptable error (convergence criteria) for the solution vector in the
Newton-Raphson method. A lower value leads to more accurate results, but convergence problems may occur using the Newton-Raphson iterations. Default value is 1m.

Relative tolerance[%]
If enabled, the simulator uses the specified relative tolerance percentage along with the abso-

14-22 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

lute values (Maximum Current Error and Maximum Voltage Error) to determine acceptable error, and to determine convergence.
Note

In case of non-convergence during transient simulation (i.e., the maximum number of


iterations has been exceeded), see Fixing Non-Convergence in Simplorer.

Analog/Digital synchronization
Mixed-signal synchronization ensures timely exchange of values between the Analog and Digital sub-simulators when simulating systems with both Digital (VHDL) and Analog (VHDLAMS and SML) models or constructs. This simulation option controls the synchronization
strategy used. Although each of the strategies below will yield correct results, correctly selecting the best synchronization strategy for the system to be simulated, will yield the fastest simulation.
Hybrid

(Default setting.) Employs an Optimistic Digital and a Conservative


Analog synchronization strategy. Results in faster and more efficient
simulations than Conservative synchronization by reducing the number
of (unnecessary) Analog solution points.
Yields the fastest simulations when the Digital sub-system is smaller than
the Analog sub-system, Digital simulation events occur at a higher
frequency than Analog steps, and not every Digital event affects the
Analog sub-system.

Adaptive

Adaptively controls the amount of optimism in the Optimistic Digital


simulation intelligently depending on the system.
Yields the fastest simulations for systems with small fast digital systems
(When the Digital sub-system is larger than the Analog sub-system,
Digital simulation events occur at a higher frequency than Analog steps,
and not every Digital event affects the Analog system.)

Conservative

Synchronizes at the minimum time step requested by each sub-simulator.


Requires that the Analog system simulation be solved for every Digital
system event - irrespective of whether the analog system is affected or
not.
Yields the fastest simulations for systems with tight feedback loops
requiring frequent synchronization (i.e., when every Digital event affects
the Analog sub-system).

Simulator pivoting strategy


By selecting the Manual checkbox and thus enabling the performance slider control, it is possible to influence the pivoting algorithm used by the circuit simulator. The position of the performance slider and the sparseness of the system matrix determine the choice between partial
(diagonal) or complete pivoting in the solver. Positioning the slider to the extreme right forces
Complete pivoting, while the left extreme forces Partial pivoting. (Refer to Using the Simulator Performance Slider for additional information.)
Analyzing Simplorer Designs 14-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Advanced step mode


Switches between the advanced and standard step size algorithms. By default, the improved
algorithm is used. Deselect the check box to use the standard algorithm. With Advanced step
mode selected, the step size is more dynamic increasing and decreasing at a faster rate compared to the standard algorithm. Using Advanced step mode leads to faster simulation speed
especially when a small HMin is necessary for good accuracy, but only at limited points
throughout the simulation. For best results with this algorithm, there should be sufficient separation between HMin and HMax.
If the system needs a small timestep at a lot of points, the standard algorithm could be the better choice. This is because the Advanced step mode causes the simulator to first overrun the
required simulation points, and then rollback to hit it. This increases the total number of iterations and slows down the simulation speed.
Number of equal If Advanced step mode algorithm is selected, this parameter sets the
steps
number of consecutive time steps of equal size that must be taken before a
larger step size is used. Default value is zero. An integer value greater
than zero should be used.
Step acceleration If Advanced step mode algorithm selected, this parameter sets the rate of
damping [%]
damping of the step size acceleration for the next time step. Default value
is zero. A value between 0-100% should be selected. A lower value for
this parameter allows higher simulation speed; a higher value may be
used to increase simulation stability.

Samanskii factor
The Update Jacobian after ___ iterations setting is an optimization method where the simulator only re-evaluates the Jacobian Matrix after the specified number of iterations. Default is
one (1) which indicates that optimization is turned off. A value between 1 and 10 is allowed. In
case of systems requiring a very large number of iterations per time step for convergence, a
value greater than 1 can improve the performance of the simulator by avoiding Jacobian evaluations and matrix factorizations.
Note

A very high value may lead to non-convergence. Ideally use a value between
2 and 6.

External Digital Simulator


Simplorer supports cosimulation with Mentor Graphics ModelSim. Use of this external
simulator allows the user to include very large, complex digital components such as microprocessors, ASICs, and FPGA designs in Simplorer design simulations. Settings for interfacing

14-24 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

with this external simulator is given in the following table:


ModelSim

Lib Command that Simplorer will execute to setup the work


library.
Compile Command that Simplorer will execute to compile the
automatically generated netlist for the EDS.
Load command that Simplorer will execute to load the EDS and
the compiled netlist.

For additional information about the EDS interface and details about the settings refer to:
- Simplorer - ModelSim Co-simulation Interface User Guide

Wait after loading external simulator


Selecting this checkbox causes the simulation to halt after the external digital simulator has
been loaded A dialog box informs the user that compilation was successful, and allows the user
to perform any additional setup steps in the EDS such as setting up outputs, etc. The user can
then choose OK to continue the simulation.

Using the Simulator Performance Slider


The slider control in the Simulation Parameters dialog box allows the user to improve transient
simulator performance by influencing the pivoting algorithm. The slider only influences the network solver. It has no effect on SML block diagrams, state machines and digital systems. The slider
is enabled if the Automatic checkbox in the Performance sub-section of the dialog is deselected.
Moving the slider to the left or to the right biases the pivoting algorithm towards partial or complete
pivoting. At the extreme left slider position, the simulator uses purely diagonal pivoting; while at
the extreme right slider position, the simulator uses purely complete pivoting.
Note

The default position has been determined empirically to be the most effective for the
largest variety of systems. In cases where the simulation fails to converge, or the initial
solution is incorrect or not found, changing the slider position may be helpful.

Changing the slider position


Inaccurate or slow simulations may be improved by modifying the slider position. In addition, simulator performance can be customized to best fit the specific application domain and the system(s)
to be simulated.
The following guidelines should be used to determine the ideal slider position:
Partial Pivoting:

Typically yields a faster simulation.


May lead to an inaccurate solution (which may lead to poor performance).

Systems with the following characteristics give better simulation results with partial pivoting:

Small systems (<100 components) with symmetric structure.


SML models usually contribute to a symmetric structure.

Analyzing Simplorer Designs 14-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Complete Pivoting:

Typically gives more accurate results.


Slower performance (as compared to partial pivoting) if the system does not have characteristics specifically suited for complete pivoting.

Systems with the following characteristics give better simulation results with complete pivoting:

Medium to Large systems (>100 components) with highly non-symmetric structure.


Note

VHDL-AMS models (and other non-SML models) usually contribute a non-symmetric


structure.

Systems with very widely varying component values. For example, a system with some zerovalued resistances and some 10M Ohm resistances.

Related Topics
Adding Solution Options
Editing Solution Options
Copying and Pasting Solution Options
Renaming Solution Options
Deleting Solution Options

AC Options
Maximum number of iterations - Iteratmax
Maximum number of iterations for one simulation step. If convergence problems occur, the
calculation for the active simulation step will be stopped when the maximum value is reached
without consideration of other error limits. Default value is 40.

Maximum Error [A] - EMmaxAC (Default value is 1n.)

Related Topics
Adding Solution Options
Editing Solution Options
Copying and Pasting Solution Options
Renaming Solution Options
Deleting Solution Options

DC Options
Maximum number of iterations - Iteratmax
Maximum number of iterations for one simulation step. If convergence problems occur, the
calculation for the active simulation step will be stopped when the maximum value is reached
without consideration of other error limits. Default value is 50.

Maximum error [A] - EMmaxDC (Default value is 1m.)


Maximum number of relaxations - Relaxmax (Default value is 10.)

14-26 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Use VHDL-AMS quiescent_domain - allows the user to switch between using VHDL-AMS
quiescent-domain equations for DC analyses (VHDL-AMS mode); or time domain equations
with 0 transients - i.e., steady state (Simplorer mode). Checked enables VHDL-AMS quiescent-domain usage.

Related Topics
Adding Solution Options
Editing Solution Options
Copying and Pasting Solution Options
Renaming Solution Options
Deleting Solution Options

General Options
Ambient Temperature (Cel) - Temp
Global ambient temperature for temperature dependent components. Default value is 27
degrees Celsius.
Damping Heuristics
Damping Heuristics settings provide one possible method for achieving convergence in cases of
convergence failure. They are especially useful for highly non-linear behavior such as that produced by exponential characteristics where the Newton-Raphson algorithm does not converge due
to large changes in the flow quantities (current, etc.) caused by changes in the node potentials. This
algorithm prevents divergence by limiting the allowed change in node potentials per Newton-Raphson iteration.

Limit node potential change per iteration if checked, the Node Potential Limiting
method is enabled.

Limit for initial simulation only if checked, limits node potential change for the first
step only (i.e., operating point analysis in case of TR analysis, and DC solution in case of
AC analysis)
Absolute limiting value and Relative limiting value used to calculate the acceptable
change per iteration. The acceptable change value is calculated as follows - ((Relative
limiting value)/100) * Current Potential Node Value + Absolute limiting value. Any
change greater than this in an iteration will be limited to this value. Units for the Absolute
limiting value are the same as the corresponding potential node units (V, m/sec, rad/sec,
Pascals, deg Centigrade, etc.).

Data Reduction
The following data reductions settings can be used to reduce the quantity of solution data that is
saved.

Start saving data at the time (or frequency for AC simulations) at which simulation results
data saving begins.
Analyzing Simplorer Designs 14-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

End saving data at the time (or frequency for AC simulations) at which simulation results
data saving ends.

Dynamic Limits Off by default.


Output every ... steps allows you to sample the solution output every n steps, where
n is a positive integer. For example, if n is 1, every solution is saved; if n is 2, every
second solution is saved; if n is 3, every third solution is saved, etc.
Output time step [s] allows you to sample the solution output at the set time interval (or
the set frequency interval for AC simulations).
Maximum relative change [%] allows you to sample the solution output based on the set
percentage change relative to the previous solution value.

Related Topics
Adding Solution Options
Editing Solution Options
Copying and Pasting Solution Options
Renaming Solution Options
Deleting Solution Options

SML Header Options


Simplorer Modeling Language (SML) text can be added directly to a simulation model using the
SML Header tab in the Solution Options dialog box.
SML Statements (for example #include) can be entered in the text box. The header text is inserted
at the beginning of the models simulation script. You can define the header either for the active
model only, or as a default for all models by selecting Use as default.
Note

Inserted text must comply with the SML syntax rules.

Related Topics
Adding Solution Options
Simplorer Modeling Language

Adding Solution Options


To add options to a solution setup:
1.

Right-click on Analysis in the Project tree and select Add Solution Options from the shortcut
menu.
The Solution Options dialog box appears with the TR tab selected.

2.
3.

Enter a name in the Name field. The default name is Optionsn.


Enter the following information as appropriate:
a.

Under the TR (Transient Solution) tab, specify the following:

14-28 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

b.

Maximum number of iteration - IteratMax (default=40)


Maximum current error -IEmax (default=1m)
Maximum voltage error -VEmax (default=1m)
Maximum number of iterations - Iteratmax (default=40)
Maximum Error [A}- EMmaxAC (default=1n)

Under the DC tab, specify the following.

4.

Local truncation error [%] - LDF (default=1)

Under the AC tab, specify the following:

c.

Integration formula (Euler, or Adaptive Trapezoid Euler (default))

Maximum number of iterations - Iteratmax (default=50)


Maximum error [A}- EMmaxDC (default=1m)
Maximum number of relaxations - Relaxmax (default=10)

d.

Under the General tab, specify the Ambient temperature (Cel) - Temp (default=27).

e.

Under the SML Header tab, you can provide SML text to be added at the beginning the
SML file generated by the schematic.

Click OK to close the Solutions Options dialog.


The named solution options appear in the Project Manager window under the Analysis icon.

Related Topics
Editing Solution Options
Copying and Pasting Solution Options
Renaming Solution Options
Deleting Solution Options

Editing Solution Options


To edit solution options:
1.

In the Project tree, double-click on the icon of the solution option you wish to edit.
The Solution Options dialog box appears with the TR tab selected.

2.

Make the desired changes to the solution options settings.

3.

Click OK to save the changes and close the dialog box.

Related Topics
Adding Solution Options
Copying and Pasting Solution Options
Renaming Solution Options
Deleting Solution Options

Analyzing Simplorer Designs 14-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Copying and Pasting Solution Options


1.

In the Project tree, right-click on the icon of the solution option you wish to copy.

2.

Select Copy from the shortcut menu to copy the solution option.

3.

Right-click on the Analysis icon and select Paste to paste the copied solution option.

Related Topics
Adding Solution Options
Editing Solution Options
Renaming Solution Options
Deleting Solution Options

Renaming Solution Options


To rename solution options:
1.

In the Project tree, right-click on the icon of the solution option you wish to rename.
The name next to the icon becomes editable.

2.

Make the desired change to the name.

3.

Press Enter to save the change.

Related Topics
Adding Solution Options
Editing Solution Options
Copying and Pasting Solution Options
Deleting Solution Options

Deleting Solution Options


To delete solution options:
1.

In the Project tree, right-click on the icon of the solution option you wish to delete.

2.

Select Delete from the shortcut menu to delete the option.

Note

A warning message will display if the option is in use. If you choose to delete the in-use
option, the analysis that is using it reverts to using the default solution option settings.

Related Topics
Adding Solution Options
Editing Solution Options
Copying and Pasting Solution Options
Renaming Solution Options

14-30 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Importing Solution Data (.sdb format)


Simplorer stores simulation solution data in files with a .sdb extension. The solution data in these
files can be imported and viewed by creating reports.
To import solution data, do the following:
1.

In the Simplorer Circuit pull-down menu, select Import SDB File.


A file Open dialog box displays.

2.
3.

Locate the Simplorer solution .sdb file containing the solution data you want to import, and
click OK.
Expand Analysis in the Project tree.
Verify the presence of the imported solution.

Related Topics
Plotting Imported Solution Data
Importing a Solution Data File (non-.sdb format)

Analyzing Simplorer Designs 14-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Importing a Solution Data File (non-.sdb format)


To import solution data in a file format other than .sdb, do the following:
1.

In the Simplorer Circuit pull-down menu, select Import Data File...


Altenatively, you can right-click on the Analysis icon in the Project Manager tree and select
Import Data File...

2.

In the file browser window that appears, choose to import data from the following file types:
.mdx, .mda

Simplorer characteristic format

.mdb

Microsoft Access

.xls

Microsoft Excel (version 3 through version 2003).

.txt

text file

.csv

Comma-separated value

.out

Maxwell SPICE (read-only - reads data inside the KW_DATA section)

.cfg

Comtrade (IEEE Std C37-111-1999)

.dat

TEK Oscilloscope

.tab

tab delimited data files

An Analysis Setup is created with the appropriate imported setup icon in the Project Manager.

Imported AC Setup
Imported TR Setup

The imported solution setup name is either TR_ or AC_ plus the base filename.
If the setup type is transient (TR); the Time channel is generated from the default transient
end-time (40ms) and the number of data elements per channel. If a specific Time channel
is present (either t in Simplorer 7 format or Time in later releases), then that will be
used.
Data is considered AC if the first channel is f; and subsequent pairs are enclosed in

14-32 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

either Abs() and Phi(), or Re() and Im().

Periods in names are converted to underscores.

Data channels from the imported file are available for plotting.

Related Topics
Plotting Imported Solution Data
Importing Solution Data (.sdb format)

Analyzing Simplorer Designs 14-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting the Outputs for Simulation


For a given simulation, you typically have an interest in looking at specific conditions in the schematic. You specify the outputs for a simulation via the Output dialog box.
After running a simulation, the outputs you specify here are available for selection in the Report
dialog box Trace tab for the corresponding Category, such as Voltage or Current; and when you
create a Plot-On-Schematic. The first item in the list is also used by default when you add an XY
Report to a schematic. Note that outputs that are Boolean (enum-type) can only be plotted in digital
plots or in data tables.
The Select Quantities dialog box, used to make additional quantities available for plotting, is functionally similar to the Output dialog box.
1.

To display the dialog box, click Simplorer Circuit>Output Dialog.


The dialog box has three fields.

Defined Output - This panel contains a list of the outputs defined for the current simulation. Each item listed includes the name of the item in the schematic and a period-delimited abbreviation for the output property defined as an output. For example, CD.V refers
to a component named CD and the V (for voltage) property for that component. You can
remove items from the list by selecting them and clicking the X icon. You can make
multiple selections by dragging the cursor. If the list exceeds the size of the window, a
scroll bar appears.
Find - For large schematics, it may be easier to search for defined outputs by name. The
Find function highlights items matching each successive number or letter you add in the
text box. Selection by wildcard is also supported. For example, type in a string like N*.V
in the Find edit control and click Add, and all the Net voltages are added.

Note

Outputs that are Boolean (enum-type) can only be plotted in digital plots or in data
tables.
Add/Remove - This panel contains hierarchical lists of the nets and elements of the
design, including submodel properties for VHDL-AMS, SPICE, and SML submodels.You
can specify the kinds of properties that appear in the list via check boxes to Show: Outputs (blue), Inputs (red), InOuts (brown), Subcircuits, and Derivatives. Displayed properties can include parameters, quantities (including those defined in VHDL-AMS
component architectures), and signals.
You can navigate the list hierarchy by clicking on the + to open the lists of nets or elements. Click the lower-level + to open lists of potential outputs. The Expand All and
Collapse All buttons can be used to expand (or collapse) all of the elements in the list tree.
Each potential output has a check box that you use to select it. Each potential output corresponds to a property available for that component or net.
The Element All and Element None buttons can be used to select and add (or remove) all
Defined Outputs for the element or net currently selected in the list.
The Add button adds all elements that match the current description, entered in the text

14-34 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

box, to the Defined Outputs list.


2.

After making your selections use the OK button to accept the defined outputs or Cancel to
close the dialog without accepting the changes.

Analyzing Simplorer Designs 14-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

14-36 Analyzing Simplorer Designs

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

15
Running Simulations

After you specify how Simplorer is to compute the solution(s), you can begin the solution process.
In general, the Analyze command applies to the selected setup and associated sweeps, if any, or to
a select sweep. To use this command, right-click on a setup or sweep in the Project tree, and click
the command on the context menu. The Project>Analyze All command applies to all enabled setups at or below the level invoked in the Project tree.
Related Topics
Analyzing Simplorer Designs
Solving a Single Setup
Running More Than One Simulation
Specifying the Analysis Options
Remote Analysis
Monitoring and Controlling the Solution Process
Aborting Analyses

Running Simulations 15-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Solving a Single Setup


To solve a single specific solution setup:
1.

Right-click a solution setup in the project tree. Standard Analysis setups can be either transient,
AC, or DC. Optimetrics setups can be either parametric, optimization, sensitivity, or statistical.

2.

On the context menu, click Analyze. (You can also press F12 to start an analysis.)
Simplorer first compiles a netlist for the project, then computes the solution(s).

Warning

By default unconnected component pins (terminals) will generate errors (displayed


in the Message Manager) when a netlist is generated. Simulation is not possible
until the errors are corrected.
You can change this default component behavior Using the Component Editor so
that either No Action is taken when unconnected terminals are netlisted; or that
unconnected terminals automatically are Grounded.

Note

Improper or undefined simulation setups will cause errors during Optimetrics Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Parametric Analysis.

To solve two or more sweeps or two or more parametric analyses under a setup:
1.

Configure two or more machines for a distributed analysis. See Solving Remotely for configuration issues, and Configuring Distributed Analysis for setting up the Simplorer General
Options.

2.

In the project tree, under the design you want to solve, right-click the setup icon that includes
the sweeps of interest.

3.

Click Analyze on the shortcut menu.


Each solution sweep under that setup is solved in the order it appears in the project tree, using
the available machines.

Related Topics
Analyzing Simplorer Designs
Running More Than One Simulation
Specifying the Analysis Options
Simplorer Options: Simulation Options Tab
Remote Analysis
Monitoring and Controlling the Solution Process
Aborting Analyses

15-2 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Running More Than One Simulation


To run more than one analysis at a time, follow the same procedure while a simulation is running.
The next solution setup will be solved when the previous solution is complete.
To solve every solution setup in a design:
1.
2.

In the project tree, right-click the design you want to solve.


Select Analyze on the context menu.
Each solution setup is solved in the order it appears in the project tree.

To solve every solution setup in a project:


1.

Either click Project>Analyze All or right-click the project icon in the project tree and select
Analyze All.
Each solution setup is solved in the order it appears in the project tree.

Related Topics
Analyzing Simplorer Designs
Solving a Single Setup
Specifying the Analysis Options
Simplorer Options: Simulation Options Tab
Remote Analysis
Monitoring and Controlling the Solution Process
Aborting Analyses

Running Simulations 15-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Specifying the Analysis Options


You can specify the machine on which you want the simulation to run. If you do not want projects
to run concurrently, you may specify the option to queue projects.
1.

Click Tools>Options>General Options.


The General Options window appears.

2.

Click the Analysis Options tab.

3.

Select the Prompt for analysis machine when launching analysis check box.

4.

Under Analysis Machine Options, select whether the default analysis machine should be the
local machine (Local), a remote machine (Remote), or whether analysis should be distributed
across multiple machines (Distributed).
a.

If you selected Remote, enter the default analysis machine information either as an IP
address, a DNS name, or a UNC name. See Remote Analysis.

b.

If you selected Distributed, you can add machines to a list, or edit an existing list of
machines. Select the Edit button to display the Distributed Analysis Machines dialogue.
Here you specify an IP address, a DNS name, or a UNC name for each machine to add to
the list. Control buttons let you Add Machine to List or Remove machines from the list.
For more information, see distributed analysis.
When the distributed option is set, Simplorer uses machines from the distributed list even
for non-distributed solves. In that case, for multiple non-distributed solves, the simulator
uses machines one at a time from the Machines for Distributed Analysis list, starting
from the first machine and moving down. To control the list order, select one or more
machines, and use the Move up or Move down buttons. Click OK to accept the changes
and close the Distributed Analysis Machines dialog. The machines are listed in the
Analysis Machines Options field in alphabetical order, rather than the distributed list
order.
Regardless of the machine(s) on which the analysis is actually run, the number of processors and Desired RAM Limit settings, and the default process priority settings are read
from the machine from which you launch the analysis.

You can also control these selections via toolbar icons for:

Local
Remote

,
, and

Distributed

5.

Select the Send analysis request as: radio button to specify either the Current User (the
default) or the Specified User.

6.

Enter details for the user who would be running the simulations. You need to specify the User
Name, Password and the Domain/Workgroup information.

7.

Select the Queue all simulations check box to allow subsequent simulations to wait in a
queue, till the currently running simulation solves completely.

15-4 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

8.

Click OK.

Note

The Simplorer Server Setup window does not appear when the Queue all simulations
check box is selected, even if you select the Prompt for analysis machine when
launching analysis check box. This happens because Simplorer does not queue
simulations that will be running on different machines, since they can run concurrently.

Running Simulations 15-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Remote Analysis
It is possible to solve a project on a different machine from the one on which you set up your
designs. This is particularly useful when you want to take advantage of a more powerful machine
but it is not convenient to access that machine. This process involves configuring the machine that
is to perform the solving (the remote machine), as well as the machine from which the simulation is
to be launched (the local machine). This can also be extended into distributed analysis, where a
specified analysis, if supported, is concurrently solved on multiple remote machines.
Local Machine

Remote Machine

Remote Analysis Procedure


1.

Determine the Desired Configuration

2.

Configure the Remote Machine

3.

Configure the Local Machine

4.

Troubleshooting

The Tools>Options>Export Options Files command writes xml files containing the Options settings at all levels to the specified directory (default, ~\Documents\Ansoft\). The
Tools>Options>Export Options feature is intended to make it easier for different users to use
ANSYS Electromagnetics tools installed on shared directories or network drives. The Example
Uses for Export Options Features section outlines some use cases enabled by this feature.
Related Topics:
General Options: Analysis Options Tab
Distributed Analysis
Prerequisites for Remote and Distributed Analysis
1.

You must have Ansofts Remote Simulation Manager (RSM) or a supported High Performance Computing (HPC) management software program. (See High Performance Computing
(HPC) Integration). The list of currently-supported HPC software includes

Platforms Load Sharing Facility or LSF

15-6 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Altairs PBS
Sun GridEngine
Microsoft Windows Compute Cluster Server 2003
Microsoft Windows HPC Server 2008

2.

Simplorer must be accessible from all remote machines as well as accessible on the local
machine.

3.

If you use RSM, it must be accessible from all remote machines. In addition, the Simplorer
engines must be registered with each initialization of RSM. To do this, on each remote
machine:

On Windows on the local and remote machines, click


Start>Programs>ANSYS Electromagnetics>product >Windows 64-bit (or Windows)>Register with RSM. You can also run
RegisterEnginesWith RSM.exe, located in the product subdirectory (for example,
C:\Program Files\AnsysEM\Simplorer11.0\Win64 (or Windows)\RegisterEnginesWithRSM.exe).
In each case, you see a dialog confirming the registration. OK the dialog.

On Linux, run RegisterEnginesWithRSM.pl, located in the product installation directory. (for example, /apps/AnsysEM/maxwell16.0/RegisterEnginesWithRSM.pl).

If the RSM service cannot run due to permission issues for the configuration file, it issues an error
message and exits. If your product is not registered with RSM, the analysis will run locally.
Configuring the Local Machine to Solve Remotely
1.

Set the Analysis options in Simplorer by clicking Tools>Options>General Options to display


the General options dialog, and select the Analysis Options tab.

2.

Select the Default Machine to use when simulating:

Local: Run analysis on the local machine.


Remote: Run analysis on a different machine. Selecting Remote enables fields for you to
the machines IP address, DNS name, or UNC name. RMS must be able to determine the
IP address for simulation to run. You also receive warnings if there are multiple IP
Running Simulations 15-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

addresses for a machine. RMS looks for the IP address at addr[0].

3.

Distributed: This option allows you to specify a machine list. See Configuring Distributed Analysis

To override the machine that you use on a per analysis basis, check Prompt for analysis
machine when launching analysis.
Checking this selection displays the following dialog when you run a simulation.

Select either the Local machine, or specify a machine name. You can Save Settings as
Default.

15-8 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Remote Analysis Options


You also set Remote Analysis Options in the General options dialog, Remote Analysis Options
tab.

Select whether to run simulation processes as the user running RSM (Service User), or a Specified
User. If you select Specified User, you must provide the User Name, Password, and any Domain/
Workgroup on which this user is defined. If the name or password is incorrect, the Message window issues a warning message, and the solver attempts to perform the analysis as the Service User.
Running Remote Analysis
When you run a simulation remotely, you should see a message in the Progress window identifying
the design name, and the specified remote machine. You will see Progress messages as the simulations continues. When the simulation is complete, you will see a message in the Message window.
Related Topics:
General Options: Analysis Options Tab
Distributed Analysis
Troubleshooting
Determining the Desired Configuration

Troubleshooting
Problem: When you try to solve from local to remote machine, a SIMPLORERLCOMENGINE
process starts on the remote machine, but the Simplorer user interface hangs indefinitely.
This occurs if the remote solve option is enabled after the COM daemon is started, or when when
the option "Don't allow exceptions" is selected for the Windows firewall.
Resolution: Remote solve needs either firewall exceptions to be ON or firewall to be completely
turned off.
Problem: When you try to solve from a local to a remote machine, you receive the following error
message:
Running Simulations 15-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

[error] Unable to locate or start COM engine on 'nomachine' : Unable to reach AnsoftRSMService.
Check if the service is running and if the firewall allows communication. (10:57:13 PM Aug 13,
2009)
Resolution:This message can happen if the machine is not present, the network connection is
down, if there are firewall issues or if the service is not running.
Remote Solve Node = Windows
Error: "Unable to locate or start COM engine on <remote node> : Unable to reach AnsoftRSMService. Check if the service is running and if the firewall allows communication."
1.

Try disabling the firewall. If this fixes the problem, please contact at hfqa@ansoft.com

2.

Confirm that you have not changed the Ansoft Service Port in Tools > Options > General
Options > Remote Analysis Options from the default 32958. If you have, change it back to
32958, restart Simplorer, and try to solve again.

3.

Make sure that the local machine is able to contact the RSM port on the remote node. Open a
command prompt on the local machine and type telnet <remote node name> 32958. If the terminal appears to be hanging then the connection was successful.

4.

Check to make sure the Ansoft Communication Service is running. To do this, go to the Windows Control Panel and choose Administrative Tools > Services. Find the Ansoft RSM Service and make sure its status says Started. If it is not running, try to start it by right-clicking on
the service and choosing Start. If it still does not start, then check the username/password combination listed in the Log On tab of the service properties.

5.

Make sure the user listed in the service is an administrator.

6.

Make sure the COM engine is registered with the Ansoft RSM Service. From the Windows
menu, choose Start>All Programs >ANSYS Electromagnetics>Simplorer 11.0>Register
with RSM to register the engines.

Error: "Unable to locate or start COM engine on <remote node>: Engine is not registered with the
Ansoft RSM service which is running on this machine."
a.

To register the engine, from the Windows menu, select Start >All Programs >ANSYS
Electromagnetics> Simplorer 11.0>Windows>Register with RSM

b.

To register the engine on 64-bit versions, from the Windows menu, select Start >All Programs >ANSYS Electromagnetics> Simplorer 11.0> Register with RSM

Remote Solve Node = Linux


Error: "Unable to locate or start COM engine on <remote node>: Unable to reach AnsoftRSMService. Check if the service is running and if the firewall allows communication."
1.

Try disabling the firewall. If this fixes the problem, please contact at hfqa@ansoft.com

2.

Confirm that you have not changed the Ansoft Service Port in Tools >Options >General
Options >Remote Analysis Options from the default 32958. If you have, change it back to
32958, restart the Ansoft product, and try to solve again.

15-10 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

4.

5.

Make sure that the local machine is able to contact the RSM port on the remote node. Open a
command prompt on the local machine and type telnet <remote node name> 32958. If the terminal appears to be hanging then the connection was successful.
Check to make sure Remote Simulation Manager is running. To do this:
a.

Go to the 'rsm' subdirectory of the Ansoft Remote Simulation Manager installation directory, <RSM installdir>/rsm.

b.

Type ./ansoftrsmservice status.

c.

If the status query indicates that the service is stopped, type ./ansoftrsmservice start.

Make sure the COM engine is registered with RSM. Type ./RegisterEnginesWithRSM.pl status from within the product installation directory. If the status query indicates "Not registered",
type:
./RegisterEnginesWithRSM.pl add.

Error: "Unable to locate or start COM engine on <remote node>: Engine is not registered with the
Ansoft RSM service which is running on this machine."
1.

To register the engine, go to the Ansoft product installation directory and type:
./RegisterEnginesWithRSM.pl add.

Determining the Desired Configuration


Before setting up remote analysis, you must decide the type of configuration you want to use.
Remote Analysis Type
Windows->Windows only

Available Configuration Options


Common Windows configurations
1, 2, or 3

Common Windows Configurations (including advantages and disadvantages)


Determining User Accounts to Use with the Selected Configuration
Using Groups for Security Permissions (Windows Only)

Running Simulations 15-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Common Windows Configurations (Advantages and Disadvantages)


Configuration
Configuration 1:
(ANSYS recommends this option if
remote machines will also be used
as local machines.)

Advantages

Disadvantages

a) Only the remote process user a) The license log file will show
must be configured on the
that the remote process user
remote machine.
checked out the license,
b) Local analyses on the remote regardless of the local machine
user.
machine continue to work as

All local machine users should


they did previously.
solve as a common user on the
remote machine (hereafter known as
the remote process user). The user
name and password for the remote
process user must be provided to
each local machine user.
Note: If any local or remote
machines are Unix-based, this
configuration cannot be used.
Configuration 2:

a) The remote process user must


(ANSYS recommends this option if only be specified on the remote
machine.
remote machines are not used as
local machines; e.g. compute farm.) b) The password information for
the remote process user can be
All local machine users should
restricted.
solve as a common user on the
remote machine (hereafter known as
the remote process user). The user
name and password for the remote
process user need not be provided to
each local machine user; it will be
stored on the remote machine only.
Configuration 3:
Any local machine user should be
able to solve as him/herself on the
remote machine.

a) Local analyses on the remote


machine can only be performed
if the machine is treated as a
remote machine at runtime.
b) The license log file will show
that the remote process user
checked out the license,
regardless of the local machine
user.

a) There are no user restrictions a) Each local machine user must


anyone can solve on the
run the software one time on
remote machine.
each remote machine to
configure the settings used when
b) License checkouts are
solving.
performed as the user who
requested the analysis.
c) Each local machine user's
individual configuration (e.g.,
number of processors) is used
only by that local machine user.

Related Topics:
15-12 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Determining User Accounts to Use with the Selected Configuration

Determining User Accounts to Use with the Selected Configuration


Configuring remote analysis requires you to identify three users who each will play a unique role in
remote analysis. These three users will be referenced when configuring the remote and local
machines.
Local Machine

Local User

Local Machine

Remote Machine

Launching User

Remote Process User

1.

Local User: The user who starts the software on the Local Machine.

2.

Launching User: The user who sends analysis requests from the Local Machine to the remote
machines.

3.

Remote Process User: The user who owns the analysis processes on the remote machines.

Note

The Local User and Launching User must be known accounts on the Local
Machine.
The Local User, Launching User, and Remote Process User must be known
accounts on the Remote Machine.

Common Windows Configuration 1


Common Windows Configuration 2
Common Windows Configuration 3

Running Simulations 15-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Common Windows Configuration 1


All local machine users should solve as a common user on the remote machine (known as the
remote process user). The user name and password for the remote process user must be provided to
each local machine user.
Note

For security reasons, the remote process user account should not be associated with any
person.

1.

Local User: Any user(s) or group(s) you choose.

2.

Launching User: Same as the remote process user. In the Analysis Options dialog box of the
product being configured on the Local Machine, the Specified User option is selected, and the
remote process user name/password information is entered.

3.

Remote Process User: Set to The launching user on the Identity tab of the remote machine
DCOM configuration.

Note

If any local or remote machines are Unix-based, this configuration cannot be used.

Example:

Local User = judy

Specified User
(common-user)

Remote Process User set


to The launching user =
common-user

Next Step: Common Windows Configuration 2

15-14 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Common Windows Configuration 2


All local machine users should solve as a common user on the remote machine (known as the
remote process user). The user name and password for the remote process user need not be provided to each local machine user; it will only be stored on the remote machine.
Note

For security reasons, the remote process user account should not be associated with any
person.

1.

Local User: Any user(s) or group(s) you choose.

2.

Launching User: Same as the Local User. In the Analysis Options dialog box of the product
being configured on the Local Machine, the Current User option is selected.

3.

Remote Process User: Set to This User on the Identity tab of the remote machine DCOM
configuration.

Example:

Local User = judy

Current User
(judy)

Remote Process User


set to This user =
common-user

Next Step: Common Windows Configuration 3

Common Windows Configuration 3


Any local machine user should be able to solve as him/herself on the remote machine.
1.

Local User: Any user(s) or group(s) you choose.

2.

Launching User: Same as the Local User. In the Analysis Options dialog box of the product
being configured on the Local Machine, the Current User option is selected.

3.

Remote Process User: Set to The launching user on the Identity tab of the remote machine
DCOM configuration.

Running Simulations 15-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example:

Local User = judy

Current User
(judy)

Remote Process User set


to The launching user =
judy

Next Section: Using Groups for Security Permissions (Windows Only)

Using Groups for Security Permissions on Windows


When configuring remote analysis, you need to add permissions for certain users. To make configuration and management easier, you may want to reference one of the Windows Built-In Local
Groups, include a pre-defined Windows system identity, or manually add a group of users. The
remote analysis configuration lists a minimal configuration; you may choose to include permissions for more users/groups than the minimum listed.

Windows Built-In Local Groups


Pre-Defined Windows System Identities
Manually Adding a Windows Local Group

Windows Built-In Local Groups


Windows allows administrators to define groups to which user accounts should belong. There are
several built-in local groups that are available by default:

Administrators: Administrators have complete and unrestricted access to the computer.


Guests: Guests have the same access as members of the Users group by default. Guests, however, cannot make permanent changes to their environment.
Power Users: Power Users possess the most administrative powers with some restrictions.
They can create and modify accounts, and they can share resources.
Users: Users perform tasks for which they have rights granted and access resources to which
they have permissions.

15-16 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Next Step: Pre-Defined Windows System Identities

Pre-Defined Windows System Identities


Windows defines several identities that represent dynamic user groups. These are particularly useful when configuring remote analysis. Following are several common system identities that can be
used:

Anonymous Logon:Represents all users who cannot be identified.


Everyone: Represents all current identified users, including guests and users from other
domains. When a user logs on to the machine, he is automatically added to the Everyone
group. This does not include unidentified users, which are included in the Anonymous Logon
system identity.
Interactive: Represents all users currently logged on to a particular computer and accessing a
given resource located on that computer (as opposed to the users who access the resource over
the network). When a user accesses a given resource on the computer to which he is currently
logged on, he is automatically added to the Interactive group.
Network: Represents all users currently accessing a given resource over the network (as
opposed to users who access a resource by logging on locally at the computer where the
resource is located). When a user accesses a given resource over the network, he is automatically added to the Network group.

Next Step: Manually Adding a Windows Local Group

Manually Adding a Windows Local Group


Refer to the Windows Help for the operating system you are configuring for instructions to manually add a local group of users.
Next Section: Configure the Remote Machine

Configuring the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).

Configuring the Remote Machine for Windows XP Professional (32-bit and


64-bit) and Windows Server 2003 (32-bit and 64-bit)
This section describes how to set up the remote machine. You should follow these steps in order.
1.

Remote Machine Configuration Prerequisites

2.

Configure Distributed COM for the Remote Machine

3.

Configure Policy Settings for Remote Machine

4.

Enable Firewall Access for the Remote Machine

5.

Configure Software Settings on Remote Machine

6.

Set Up Security Permissions on Remote Machine

7.

Analyze a Test Design as a Remote User on the Remote Machine


Running Simulations 15-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Remote Machine Configuration Prerequisites


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
Before configuring the remote machine, do the following:
1.

Log in as an administrator to the machine on which you want to analyze the remote
machine.

2.

Install the version-specific software that you will use to analyze designs.

Next Step: Configure Distributed COM for the Remote Machine

Configuring Distributed COM for the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
To configure distributed COM for a remote machine:
1.

Log in as an administrator to the machine on which you want to analyze the remote
machine.

2.

Click Start>Run.
The Run dialog box appears.

3.

Type dcomcnfg in the Open text box, and click OK.


The DCOM Configuration panel appears.

4.

Set the My Computer properties:


a.

Note

Under Console Root>Component Services>Computers, right-click My Computer, and then click Properties.
The My Computer Properties dialog box appears.

If you receive a message about unblocking this application from


the Windows Firewall, click OK to unblock the Microsoft
Management Console and proceed with the configuration.

b.

Under the Default Properties tab, make sure the Enable Distributed COM on
this computer check box is checked.

c.

Under the COM Security tab, verify that the following minimum permissions
are included if you do not wish to restrict security permissions: You need not
remove any pre-existing permissions.

For Edit Limits for Access Permissions:

Everyone: Local Access and Remote Access

15-18 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Anonymous Logon: Remote Access


Note

The minimum security permissions for these settings are the


following:

Launching User: Local Access and Remote Access


Remote Process User: Local Access
Interactive: Local Access
Self: Local Access

For Edit Limits for Launch and Activation Permissions:

Anonymous Logon: Remote Launch and Remote Activation


Everyone: Remote Launch and Remote Activation
Interactive: Local Launch and Local Activation
Note

The minimum security permissions for this setting are the


following:

Note

d.
5.

Local User: Remote Access

Launching User: Remote Launch and Remote Activation


Interactive: Local Launch and Local Activation

If a given user or group is not listed:


1.

Click Add to add a new user or group.

2.

Click Locations, and select the domain/workgroup in


which the user you want to add is located.

3.

Type the name of the user or group.

4.

Click Check Names to verify that the name is correct.

5.

Click OK to close the Add Users dialog box.


The user or group should now appear in the
corresponding permissions dialog box.

Click OK to accept the changes and close the My Computer Properties dialog
box.

Set the COM engine properties:


a.

Under Console Root>Component Services>Computers>My Computer>DCOM Config, verify that the version-specific COM engine that will be
used to analyze remotely is listed. (For instance, if you are configuring Simplorer
8, look for SimplorerEngineV8 Class.) If the desired Simplorer Engine class is
not listed, you need to re-register the corresponding SimplorerComEngine. Once
the correct class is listed, right-click it, and select Properties.
The SimplorerEngineV8 Class Properties dialog box appears.
Running Simulations 15-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

b.

Under the General tab, make note of the Local Path to the COM engine you are
configuring for remote analysis.

c.

Under the Location tab, verify that the Run application on this computer
check box is checked.

d.

Under the Identity tab, select the user who will serve as the Remote Process
User:

The user specified as the Remote Process User must exist on the remote machine and can
not be a guest. (If you have specified The launching user, then any users acting as the
launching user must exist.) This is necessary because the Remote Process Users registry
settings may be deleted when he/she logs off the computer.
To check if a user exists on the remote machine:
1.

Choose Start>Settings>Control Panel (or Start>Control Panel, depending


on your display settings).

2.

Choose Users and Passwords or User Accounts (depending on the operating


system).

3.

Make sure that the user specified as the Remote Process User is listed. If not,
you will need to add him/her as a user, and grant access other than Guest
access.

4.

Verify that the Remote Process User has access other than Guest access. If the
group is Guests, you need to change it to another group.

e.

If you would like the Launching User to serve also as the Remote Process
User (e.g. Common Configurations 1 and 3), select The launching user.
If you have chosen a particular user, select the This User option (e.g. Common Configuration 2), and enter the name of the user and the password.

Under the Security tab, verify that the following minimum permissions are
included if you do not wish to restrict security permissions: You need not remove
any pre-existing permissions.

For Launch and Activation Permissions:

Anonymous Logon: Remote Launch and Remote Activation.


Everyone: Remote Launch and Remote Activation

15-20 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Interactive: Local Launch and Local Activation


Note

To view or edit the currently-included users and groups:


1.

Select the Customize radio button for the permissions


you are verifying.

2.

Click the Edit... button.

3.

If a given user or group is not listed:

Note

Click Locations, and select the domain/workgroup


in which the user you want to add is located.
Type the name of the user or group.
Click Check Names to verify that the name is
correct.
Click OK to close the Add Users dialog box.
The user or group should now appear in the
permissions dialog box.

The minimum security permissions for this setting are the


following:

Click Add to add a new user or group.

Launching User: Remote Launch and Remote Activation


Interactive: Local Launch and Local Activation

For Configuration Permissions:

Machine administrators group (<machine name>\Administrators): Full


Control
Other users or groups you choose to allow to configure the COM engine set-

Running Simulations 15-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tings: Full Control


Note

To view the currently-included users and groups:


1.

Select the Customize radio button for the permissions


option you are verifying.

2.

Click the Edit... button that corresponds to the


Customize radio button you selected.

3.

If a given user or group is not listed:

f.
6.

Click Add to add a new user or group.


Click Locations, and select the domain/workgroup
in which the user you want to add is located.
Type the name of the user or group.
Click Check Names to verify that the name is
correct.
Click OK to close the Add Users dialog box.
The user or group should now appear in the
corresponding permissions dialog box.

Click OK to apply all of the changes to the product and version-specific Distributed COM configuration.

Click OK to apply all of the changes to the product and version-specific Distributed
COM configuration.

Next Step: Configure Policy Settings for Remote Machine

Configuring Policy Settings for the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
To configure policy settings for a remote machine:

Note

1.

Log in as an administrator to the machine on which you want to analyze the remote
machine.

2.

Click Start>Run.
The Run dialog box appears.

3.

Type secpol.msc, and click OK.


The Local Security Settings dialog box appears.

4.

Under Security Settings>Local Policies>User Rights Assignment, right-click


Restore files and directories policy, and select Properties.
The Restore files and directories dialog box appears.

5.

Verify that Everyone is listed among those users who are allowed to restore files and
directories.

The minimum required policy setting is Remote Process User.

15-22 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

If a given user or group is not listed:


1.

Click Add User or Group to add a new user or group.

2.

Click Locations, and select the domain/machine on


which the user you want to add is located.

3.

Type the name of the user or group.

4.

Click Check Names to verify that the name is correct.

5.

Click OK to close the Add Users dialog box.


The user or group should now appear in the
corresponding dialog box.

6.

Click OK to close the Restore files and directories dialog box.

7.

Close the Local Security Policy dialog box.

8.

If you made any changes to the Restore files and directories setting, you need to
reboot the machine.

Next Step: Enable Firewall Access for the Remote Machine

Enabling Firewall Access on the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
If you have a firewall installed on the remote machine, you will need access to TCP port 135,
which is used for Windows Remote Procedure Call (RPC) End Point Mapping. You will also
need access to the product- and version-specific COM Engine. The path to the COM engine
was determined during the Configure Distributed COM for Remote Machine step above.
If the remote machine is using Windows XP Service Pack 2 or higher, Windows XP Professional x64 Edition Service Pack 1 or higher, or Windows Server 2003 Service Pack 1 or higher,
Windows Firewall will have been automatically installed and enabled. You will need to add
the COM engine and TCP port 135 to the list of exceptions.
To add the COM engine and TCP port 135 to the list of exceptions:
1.

Log in as an administrator to the machine on which you want to analyze the remote
machine.

2.

Click Start>Settings>Control Panel (or Start>Control Panel, depending on your Windows display settings).
The Control Panel window appears.

3.

Double-click Security Center.


The Windows Security Center window appears.

4.

Click the Windows Firewall option.


The Windows Firewall dialog box appears.

5.

Click the Exceptions tab.

6.

To add the COM engine:


a.

Click the Add Program button.


Running Simulations 15-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

b.

Click the Browse button. Browse to or type the path to the COM engine.

c.

Choose Change Scope..., and select which machines should be able to contact this
program on this machine.

d.
7.

If you wish to restrict the machines that can run this program, choose either My
network (subnet) only (should work with most networks) or Custom list.
If you do not wish to restrict the machines that can run this program, choose Any
computer (including those on the Internet). Be aware that this will allow any
machine, even those outside of your subnet, to communicate with this program
on this machine.

Click OK to confirm the program as an exception.

To add TCP port 135:


a.

Click the Add Port button.

b.

For the Name, enter descriptive text to identify this exception (e.g. RPC End Point
Mapping).

c.

For the Port number, enter 135.

d.

Select TCP.

e.

Choose Change Scope..., and select which machines should be able to contact this
machine via this port.

f.

If you wish to restrict the machines for which this port is unblocked, choose
either My network (subnet) only (should work with most networks) or Custom
list.
If you do not wish to restrict the machines for which this port is unblocked,
choose Any computer (including those on the Internet). Be aware that this will
allow any machine, even those outside of your subnet, to communicate with this
machine via this port.

Click OK to confirm the port as an exception.

8.

Click OK to close the Windows Firewall dialog box.

9.

Exit the Windows Security Center and Control Panel windows.

Next Step: Configure Software Settings on Remote Machine

Configuring Software Settings on the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
The software settings used by the COM engine configured above are specific to the user and
machine running the COM engine. This includes settings like the temporary directory or the
number of processors (if available) used when analyzing. Therefore, each Remote Process

15-24 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User must have the product- and version-specific settings configured for remote analysis to
work successfully as a given Remote Process User.
Note

For Common Configuration 3, each user must log in locally to


each machine and set the temporary directory before solving
remotely.

To configure the software settings as a specific Remote Process User:


1.

Start the product- and version-specific software configured as the Remote Process User.

2.

Click Tools >Options >General Options.


The General Options dialog box appears.

3.

Click the Project Options tab.

4.

In the field corresponding to the Temp Directory, select a path to the Temporary File
Directory you want to use.

5.

Click OK to close the General Options dialog box.

6.

Configure any other settings you want to use when analyzing on the remote machine as
this Remote Process User (e.g. the number of processors).

Next Step: Set Up Security Permissions on Remote Machine

Setting Up Security Permissions on the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
Once you have installed Simplorer on the remote machine and configured Distributed COM,
you need to configure the security permissions for the temporary file directory and all of the
program files (by default, file permissions are inherited from the directory in which the file
exists).
To configure security permissions on the remote machine:
1.

Log in as an administrator to the machine on which you want to analyze the remote
machine.

2.

Edit the permissions for both the Temporary File Directory (configured above) and the
directory in which the COM engine is located. The path to the COM engine was determined during the Configure Distributed COM for Remote Machine step above. To edit the
permissions of a particular directory, do the following:
a.

In Windows Explorer, right-click the directory you are configuring, and click Properties.

b.

Click the Security tab. If it is not shown, then you may not be using the NTFS file
system. You may be able to skip the following steps for this directory.

c.

If the Everyone system identity is not listed among the users, click Add, and enter the
name of the user you want to add.
Note

The minimum permission required for this setting is Remote


Process User.
Running Simulations 15-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

d.

If the Remote Process User is not listed among the users, click Add, and enter the
name of the user you want to add.

e.

Add the necessary permissions to the directory. The Temporary File Directory
requires read, write, and delete permissions, and the directory in which the COM
engine is located requires read and execute permissions.

Next Step: Analyze a Test Design as a Remote User on the Remote Machine

Analyzing a Test Design as a Remote User on the Remote Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
Finally, you should log into the remote machine as the Remote Process User and analyze a test
design on the remote machine. If you have any problems solving the test design, resolve these
issues before configuring the local machine.
Next Section: Configure the Local Machine
Next Section: Configure the Local Machine

Configuring the Local Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit)
Configuring the Local Machine for Windows XP Professional (32-bit and 64bit) and Windows Server 2003 (32-bit and 64-bit)
This section describes how to set up the local machine. You should follow these steps in order.
1.

Local Machine Configuration Prerequisites

2.

Configure Distributed COM for the Local Machine

3.

Enable Firewall Access for Local Machine

4.

Configure the Software on the Local Machine

Local Machine Configuration Prerequisites


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
Before configuring the local machine, do the following:
1.

Log in as an administrator on the machine on which you want to set up project the local
machine.

2.

Install the version-specific software that you installed on the remote machine.

Next Step: Configure Distributed COM for the Local Machine

Configuring Distributed COM on a Local Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
To configure distributed COM for a local machine:
1.

Log in as an administrator to the machine on which you want to set up projects the
local machine.

15-26 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

Click Start>Run, and type dcomcnfg.

3.

Click OK to start the DCOM Configuration window.

4.

Set the My Computer properties:


a.

Under Console Root>Component Services>Computers, right-click My Computer,


and select Properties.
The My Computer Properties dialog box appears.

b.

Under the Default Properties tab, make sure the Enable Distributed COM on this
computer check box is checked.

c.

Under the Default Properties tab, make sure the Default Authentication Level
according to the following table:

Network Configuration

Default Authentication Level

Windows Domain

Connect

(no Unix/Linux machines)


Workgroup

Connect

(network includes Unix/Linux


machines used for remote solve)

(if the Windows and Unix machines used for remote solve
have identical login/passwords configured)

Workgroup

None

(network includes Unix/Linux


machines used for remote solve)

(if the Unix login/password differs from the Windows


machine)

d.

Under the COM Security tab, verify that the following permissions are included if
you do not wish to restrict security permissions: You need not remove any pre-existing permissions.
For Access Permissions, the Edit Default button:

Everyone: Remote Access


Anonymous Logon: Local Access and Remote Access
Note

The minimum security permissions for this setting are the


following:

Remote Process User: Remote Access


If the Remote Process User is set to The launching user on
any remote machine (e.g. Common Configurations 1 and 3),
grant Remote Access to the Anonymous Logon.

For Access Permissions, the Edit Limits button:

Everyone: Local Access and Remote Access

Running Simulations 15-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Anonymous Logon: Remote Access.


Note

The minimum security permissions for this setting are the


following:

Local User: Local Access


If the Remote Process User is set to The launching user on
any remote machine (e.g. Common Configurations 1 and 3),
grant Remote Access to the Anonymous Logon.

For Launch and Activation Permissions, the Edit Limits button:

Everyone: Local Activation


Note

The minimum security permissions for this setting are the


following:

Note

Local User: Local Activation

If a given user or group is not listed:


1.

Click Add to add a new user or group.

2.

Click Locations, and select the domain/workgroup in


which the user you want to add is located.

3.

Type the name of the user or group.

4.

Click Check Names to verify that the name is correct.

5.

Click OK to close the Add Users dialog box.


The user or group should now appear in the
corresponding permissions dialog box.

5.

If any changes were made, click OK to apply all of the changes.

6.

Exit the Component Services window.

7.

Reboot the machine if any changes were made during this process.

Next Step: Enable Firewall Access for Local Machine

Enabling Firewall Access for the Local Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
If you have a firewall installed on the remote machine, the runtime application needs access
through it. You also need access to TCP port 135, which is used for Windows Remote Procedure
Call (RPC) End Point Mapping.
If the local machine is using Windows XP Service Pack 2, a firewall was automatically installed
and enabled when the service pack was installed. You will need to add the runtime application and
TCP port 135 to the list of exceptions in the Windows Firewall settings:
If the remote machine is using Windows XP Service Pack 2 or higher, Windows XP Professional
x64 Edition Service Pack 1 or higher, or Windows Server 2003 Service Pack 1 or higher, Windows
15-28 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Firewall was automatically installed and enabled. You will need to add the runtime application and
TCP port 135 to the list of exceptions.
To add the runtime application and TCP port 135 to the list of exceptions:
1.

Click Start>Settings>Control Panel (or Start>Control Panel, depending on your Windows display settings).
The Control Panel window appears.

2.

Double-click Security Center.


The Windows Security Center window appears.

3.

Click the Windows Firewall option.


The Windows Firewall dialog box appears.

4.

Click the Exceptions tab.

5.

To add the installed application:


a.

Click the Add Program button.

b.

If the installed application is listed (e.g., Simplorer 8), select the program from the
list. Otherwise, click the Browse button, and browse to the location of the application.

c.

Choose Change Scope..., and select which machines should be able to contact this
program on this machine.

d.
6.

If you wish to restrict the machines that can run this program, choose either My
network (subnet) only (should work with most networks) or Custom list.
If you do not wish to restrict the machines that can run this program, choose Any
computer (including those on the Internet). Be aware that this will allow any
machine, even those outside of your subnet, to communicate with this program
on this machine.

Click OK to confirm the program as an exception.

To add TCP port 135:


a.

Click the Add Port button.

b.

For the Name, enter descriptive text to identify this exception (e.g. RPC End Point
Mapping).

c.

For the Port number, enter 135.

d.

Select TCP.

e.

Choose Change Scope..., and select which machines should be able to contact this
machine via this port.

If you wish to restrict the machines for which this port is unblocked, choose
either My network (subnet) only (should work with most networks) or Custom
list.
If you do not wish to restrict the machines for which this port is unblocked,
choose Any computer (including those on the Internet). Be aware that this will
allow any machine, even those outside of your subnet, to communicate with this
machine via this port.
Running Simulations 15-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

f.

Click OK to confirm the port as an exception.

7.

Click OK to close the Windows Firewall dialog box.

8.

Exit the Windows Security Center and Control Panel windows.

Next Step: Configure the Software on the Local Machine

Configuring the Software on the Local Machine


Windows XP Professional (32-bit and 64-bit) and Windows Server 2003 (32-bit and 64-bit).
Finally, the software that will be used as the local machine for remote analysis must be configured. The software settings are specific to the Local User starting Simplorer on the local
machine. Therefore, each Local User must have the product- and version-specific settings
configured for remote analysis in order to use remote analysis.
To configure the software on the local machine:
1.

Start Simplorer on the local machine as a Local User.

2.

Once the software has started, click Tools>Options>General Options.


The General Options dialog box appears.

3.

Click the Analysis Options tab.

4.

Under Design Analysis Options, do one or more of the following to configure the remote
analysis settings on a per-design basis:

5.

Note

a.

If you would like to select the machine to which to send the analysis immediately
before analyzing, select Prompt for analysis machine when launching analysis.

b.

Under Analysis Machine Options, select whether the default analysis machine
should be the local machine (Local) or a remote machine (Remote).

c.

If you selected Remote, enter the machine information either as an IP address, a DNS
name, or a UNC name.

Under Remote Analysis Options, select the user who should be the Launching User
from Send analysis request as:
a.

If the Local User will also be the Launching User, select Current User.

b.

If you want to specify a particular Launching User, select Specified User, and enter
the user name, password, and domain/workgroup credentials for the Launching
User. These are verified only when analyzing.

The settings in the Remote Analysis Options section are only


used when the analysis machine is a remote machine (IP Address,
DNS Name, or UNC Name).

6.

Click OK to close the General Options dialog box.

7.

Set up a project to test the remote solution capability.

8.

Once the project setup is complete, choose Simplorer Circuit>Analyze.

9.

If the Server Setup dialog appears, select the machine on which you want to run the analysis, and click OK.

15-30 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If it runs successfully, this configuration is complete. Otherwise, review the Troubleshooting section to resolve the problem.

Running Simulations 15-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Troubleshooting
Issue
The following error appears when I try
to analyze my design after a long
hang:
Unable to locate or start COM engine
on machine_name. Error: The RPC
server is unavailable.

Solution

The following error appears


immediately when I try to analyze my
design:
Unable to locate or start COM engine
on machine_name. Error: The RPC
server is unavailable.

Verify that machine_name refers to the machine


you were trying to use and does not contain any
typos.
Verify that the remote machine is turned on. You
may wish to try ping machine_name to test
connectivity to that machine.
Verify that the RPC port is open, i.e. that no firewall
is blocking it. If this simulation is on Windows, the
RPC port is 135. If this is only on Unix, then run
mcsconfig.sh -summary to determine the port
number.
To verify that this port is available, run telnet
machine_name RPC_port_number.

If the port is not open, telnet will show an


error like:
Connecting to machine_name...Could not open
connection to the host, on port
RPC_port_number: Connect failed
If the port is open, telnet will appear to
hang.

Verify that the COM engine that was configured is


allowed to communicate through any firewalls
configured on the remote machine. Also, terminate
any hanging COM engine processes on the remote
machine.

15-32 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following error appears when I try Check the following on the remote machine:
to analyze my design:
If the OS on the remote machine is Windows XP
Unable to locate or start COM engine
Service Pack 2 or higher, Windows XP x64
on machine_name. Error: Access is
Professional, or Windows Server 2003 Service Pack
denied.
1 or higher:

Verify the machine-level Remote Access


Limit permission is enabled for the
Launching User.
Verify the machine-level Remote Launch
Limit and Remote Activation Limit
permissions are enabled for the Launching
User.
Verify the COM engine-specific Remote
Launch and Remote Activation permissions
are enabled for the Launching User.

If the OS on the remote machine is not one of the


aforementioned:

If the COM engine on the remote machine


is running, terminate the process, and verify
the machine-level Local Access Limit
permission is enabled for the Launching
User.

Verify the COM engine-specific Allow


Launch or Launch Permission permission
is enabled for the Launching User.

Verify that Enable Distributed COM on this


computer is checked on the remote machine.

See below to check the local machine.

Running Simulations 15-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

(continued)

Check the following on the local machine:

If the OS on the Local Machine is Windows XP


Service Pack 2 or higher, Windows XP x64
Professional, or Windows Server 2003 Service Pack
1 or higher:

Verify the machine-level Local Access


Limit permission is enabled for the Local
User.
Verify the machine-level Local Activation
Limit permission is enabled for the Local
User.
Verify that Enable Distributed COM on
this computer is checked on the remote
machine.

If the OS on the Local Machine is a Unix OS (e.g.


Solaris, Linux), run msconfig.sh -summary on the
Unix machine.

Verify that the remotesa server specified in


the summary matches the machine on
which Visual MainWin Remote Security
Authority (remotesa) is installed.
Verify that the remotesa authentication port
specified in the summary matches the port
on which Visual MainWin Remote Security
Authority (remotesa) is installed. Unless
this value was specifically changed in the
remotesa installation, the value should be
667.
Verify that the USERDOMAIN value as
specified in the summary matches the users
who will be solving cross-platform.
Run msconfig.sh, and when prompted
whether or not you wish to change the
password, enter Yes. Type the same
password entered on the remotesa server.

If the above has all been verified, reboot the local and
remote machines to refresh cached settings.

15-34 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following error appears when I try This message appears if the COM engine is missing on
to analyze my design:
the remote machine, or if the user does not have execute
Unable to locate or start COM engine permissions on the COM engine.
on machine_name. Error: Class not
registered.

Verify that the software is installed on the remote


machine.
Verify that the COM engine is properly registered on
the remote machine.

The following error appears when I try If the OS on the remote machine is Windows XP Service
to analyze my design:
Pack 2 or higher, Windows XP x64 Professional, or
Unable to locate or start COM engine Windows Server 2003 Service Pack 1 or higher:
on machine_name. Error: Server
execution failed.

Verify the machine-level Local Access Limit


permission is enabled for the Remote Process User.

The following error appears when I try The user listed as this user on the remote machines
to analyze my design:
DCOM configuration has the wrong password entered.
Unable to locate or start COM engine To correct the problem, enter the correct password for the
on machine_name. Error: The server user listed as this user.
process could not be started because
the configured identity is incorrect.
Check the user name and password.
The following errors appear
immediately when I try to analyze my
design:
Failed to check out license
simplorer_solve. Bad encryption
handshake with vendor daemon
(FLEXlm Error -33).
The following error appears
immediately when I try to analyze my
design:

The Self user has no Local Access limit permissions on


the remote machine. Add Local Access permissions for
the Self user on the remote machine and reattempt
analysis.

The remote process user listed in username has never


run the software on, or has never logged on the remote
machine listed in machine_name.

Unable to load into the registry the You must add the user on to the remote machine, log into
profile for the user username.
the remote machine as that user, and run the software one
Simulation completed with execution time to configure the runtime settings for that user.
error on server: machine_name.

Running Simulations 15-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following error appears


immediately when I try to analyze my
design:

The remote process user listed in username has either


never been added as a user on the remote machine or has
never logged into the remote machine listed in
machine_name.

Unable to locate the profile for the


user username. Simulation completed You must add the user to the remote machine, log into
with execution error on server:
the remote machine as that user, and run the software one
machine_name.
time to configure the runtime settings for that user.
The following error appears
immediately when I try to analyze my
design:

The Remote Process user either has not been added as a


user on the remote machine or has never run the software
on the remote machine.

Unable to create simulation working You must add the user on to the remote machine, log into
directory within temp dir: temporary the remote machine as that user, and run the software one
directory - simulating on machine_
time to configure the runtime settings for that user.
name. Simulation completed with
execution error on server machinename.

15-36 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following errors appear


immediately when I try to analyze my
design:

The temporary file directory has insufficient permissions


for the remote user to write temporary files.

Check the permissions by setting up security permissions


Unable to create simulation working on the remote machine.
directory within temp dir:
temporary_directory. Error decoding
model data or writing it to disk.
The following error appears when I try If there were any additional messages displayed, check
to analyze my design:
the Troubleshooting guide for those specific messages.
Simulation completed with execution Check the following on the remote machine:
error on machine_name.
If the OS on the remote machine is Windows XP
Service Pack 2 or higher, Windows XP x64
Professional, or Windows Server 2003 Service Pack
1 or higher:

If the COM engine on the remote machine


is running, terminate the process, and verify
the machine-level Remote Access Limit
permission is enabled for Anonymous
Logon.
Verify the machine-level Local Launch
Limit and Local Activation Limit
permissions are enabled for the Interactive
User.
Verify the COM engine-specific Local
Launch and Local Activation permissions
are enabled for the Interactive User.

If the OS on the remote machine is not one of the


aforementioned:

Verify the COM engine-specific Allow


Launch or Launch Permission permission
is enabled for the Interactive User.

(See below to check the local machine.)

Running Simulations 15-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

(Continued from above.)

Check the following on the local machine:

If the OS on the local machine is Windows XP


Service Pack 2 or higher, Windows XP x64
Professional, or Windows Server 2003 Service Pack
1 or higher:

If the Remote Process User is set to The


launching user on any remote machine,
verify the Remote Access Limit permission
is enabled for Anonymous Logon.
If the Remote Process User is set to The
launching user on any remote machine,
verify the Remote Access Default
permission is enabled for Anonymous
Logon.
If the Remote Process User is set to This
user on any remote machine, verify the
Remote Access Default permission is
enabled for the user listed in This user (or
you may add Remote Access Default
permission for Everyone to include all
users).

Verify that the machine Default Authentication


Level is set to None.
Verify that the product used to launch remote
analysis is allowed to communicate through any
firewalls configured on the local machine.

If the above has all been verified, reboot the local and
remote machines to refresh cached settings.

15-38 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Distributed Analysis
Distributed analysis allows users to split certain types of analyses and solve each portion of an analysis simultaneously on multiple machines. Simulation times can be greatly decreased by using this
feature.
Simplorer supports two forms of distributed analysis:

Distributing rows of a parametric table.


Distributing sweeps within an analysis setup.
Note

Communication between machines in remote analysis and distributed analysis can


drastically affect performance. Use of a high-speed network system, like Gigabit or
Infiniband, is recommended for optimal performance.

Related Topics
Configuring Distributed Analysis
Editing Distributed Machine Configurations
Selecting and Optimal Configuration for Distributed Analysis

Configuring Distributed Analysis


To configure distributed analysis you select a distributed machine configuration from a list of
machines that have been configured to use for a simulation, based considerations such as whether
the simulation is more memory intensive or more CPU intensive, relative to the resources available
on your network. (See Selecting an Optimal Configuration for Distributed Analysis for a discussion
of issues.)
To configure distributed analysis:
1.

Create an new distributed machine configuration, or edit an existing one, see Editing Distributed Machine Configurations.

2.

Choose Tools > Options > General Options.

3.

Select the Analysis Options tab, and under the Analysis Machine Options, click the Distributed radio button.
This displays the field for selecting configurations. If no list has been selected or created, the
field is blank. If you have previously created distributed machine configurations, click the field

Running Simulations 15-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

to show a drop-down menu with those configurations:

When you have made a selection, the lower field shows the enab led machines in the configuration.

4.

Click OK to close the General Options dialog.

Related Topics
Editing Distributed Machine Configurations
Selecting an Optimal Configuration for Distributed Analysis
The Tools>Options>Export Options Files command writes xml files containing the Options settings at all levels to the specified directory (default, ~\Documents\Ansoft\). The
Tools>Options>Export Options feature is intended to make it easier for different users to use
Ansoft tools installed on shared directories or network drives. The Example Uses for Export
Options Features section outlines some use cases enabled by this feature.

Editing Distributed Machine Configurations


To create a new distributed machine configuration, or edit an existing machine configuration.
1.

Click Tools>General Options to display the General Options dialog and select the Analysis
Options tab.

2.

Select the Analysis Options tab, and under the Analysis Machine Options, click the Distributed radio button.
This changes the display on the Analysis Machine Options tab to show the panels for viewing
and editing distributed machine configurations.

15-40 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

Click the Edit Distributed Machine Configurations button:

This displays the Distibuted Machines Configurations dialog. This lists existing configurations, and shows all machines in the selected configuration, enabled or not. Here you can Add
a new configuration, Edit an existing configuration, Delete a selected configuration, or Clone
an existing configuration, typically to edit the name and contents for other purposes.
4.

To create a new configuration, click Add configuration.


This opens the Distributed Analysis Machines dialog. Clicking Edit or Delete also open the
Distributed Analysis Machines dialog, but include the entries for the selected configuration.
Here you can edit the configuration name, view, add, remove, order, test, and enable machines
on the list.

5.

Specify the name of the configuration. It cannot be empty and cannot be a previously used
name or a reserved word.

6.

For each machine to manually add to the list, under Remote Machine details, specify an IP
address, a DNS name, or a UNC name. You can also use Import Machines from File... to use
a text file to simplify the process.

Control buttons let you Add machine to list (see figure above) or Remove (see figure below)
machines from the list.
Each machine on the current list has an Enabled checkbox. Here you can enable or disable the
listed machines according to circumstance. Above the table, the dialog gives a count of the

Running Simulations 15-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

total machines, and the number enabled or disabled.

In general, Simplorer uses machines in the distributed analysis machines list in the order in
which they appear. If Distributed is selected and you launch multiple analyses from the same
UI, Simplorer select the machines that are running the fewest number of engines in the order in
which the machines appear in the list. For example, if the list contains 4 machines, and you
launch a simulation that requires one machine, Simplorer chooses the first machine in the list.
If another simulation is launched while the previous one is running, and this simulation
requires two machines, Simplorer chooses machines 2 and 3 from the list. If the first simulation then terminates and we launch another simulation requiring three machines, Simplorer
chooses 1, 4, and 2 (in that order).
The displayed list always shows the order in which you entered them irrespective of the load
on the machines. To control the list order, select one or more machines, and use the Move up
or Move down buttons. Move up and Move down are enabled when you select one or more
adjacent machine names. Also, when you select one or more machine names, you will see a
text field underneath the grid control showing the first machine name, the number of times it

15-42 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

appears, is enabled, and is disabled.

7.

Test Machines- When multiple users on a network are using distributed solve or remote solve,
they should check the status of their machines before launching a simulation to ensure no other
Ansoft processes are running on the machine. To do this, you can select one or more machines
and click the Test Machines button. A Test Machines dialog opens. The test goes through the
current machine list and gives a report on the status of each machine. A progress bar shows
how far testing has gone. An Abort button lets you cancel a test. When the test is complete, you
can OK to close the dialog. If you need to disable or Enable machines from the list based on
the report, you can do so in the Distributed Analysis Machines dialog.

8.

Click OK to accept the changes and close the Distributed Analysis Machines dialog. Only
machines checked as Enabled appear on the distributed machines list in the Analysis tab.
Regardless of the machine(s) on which the analysis is actually run, the number of processors
and Desired RAM Limit settings, and the default process priority settings are now read from
the machine from which you launch the analysis.
For more information, see distributed analysis.
Once configured, you can also control these selections via toolbar icons for:

Note

The option is only active if there are multiple rows listed in the parametric table, there
are multiple frequency sweeps listed under a given analysis setup, and the number of
distributed analysis machines is two or greater.

Running Simulations 15-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Related Topics
Configuring Distributed Analysis
Editing Distributed Machine Configurations
Selecting an Optimal Configuration for Distributed Analysis
General Options: Analysis Options Tab

Selecting an Optimal Configuration for Distributed Analysis


With the distributed solve option (DSO) it is possible to assign more than one machine in the DSO
setup panel to a single computer - assuming the computer has multiple cores. For example, a quad
core computer can be listed 4 times in the DSO machine list and each CPU will run a separate simulation in the sweep. This raises the question of how to configure a distributed solution option
(DSO) in combination with the multiprocessing option to take optimal advantage of the available
hardware. The simplest answer is that for the overwhelming majority of situations the speed
improvement will be greater if additional machines are added to a DSO than if the same CPUs are
added as multiple processors. That simple answer assumes that there is enough memory for the
DSO simulations.
For multiple DSO simulations on a single machine the total memory needed is the sum of the memory used by each simulation. For example, assume we are running discrete frequency sweep and
each frequency point needs 3.5GB. Our computer has only 8GB of RAM but is a quad core system.
To keep the computer from going heavily into swap, which is highly inefficient, we would only
want to assign this computer twice to the list of machines in the DSO setup. To take advantage of
the remaining 2 CPUs then it would make sense to set the number of distributed processors to 2.
This would be the optimum for this setup. In addition one would need to be sure that the amount of
disk space available is also sufficient to fit all the requested simulations - typically hard drive space
is not the limiting factor.
Related Topics
Configuring Distributed Analysis
General Options: Analysis Options Tab

15-44 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Monitoring and Controlling the Solution Process


While a simulation is running, you can monitor the solutions progress in the Progress window.
Above the red progress bar, messages describe the setup and step. The progress bar shows the relative progress of each step. Under the bar, messages note the part of the design being solved, and
give memory estimates during the factoring process.
To view general information about standard analysis runs:
1.

Right-click an Analysis solution in the Project tree and select Profile.

Alternatively you can right-click Results in the Project tree and select Solution Profile; or
click on the Show Profile
toolbar button.

A Solutions dialog box appears with the Profile tab selected.

The Simulation drop-down menu allows you to filter the profiles shown by analysis
type.
Profile data shown includes the starting time and date of the simulation run, the
machine name on which the simulation was run, the Simplorer version used for the
simulation, the elapsed time for the simulation, the amount of memory used by the
SimplorerServer process, the simulation completion time and date, and the status of
the run (e.g., Normal Completion). The profile will be cleared automatically when the
solution is invalidated.

2.

Optionally, click the Export button to export the profile data to a .prof file.

3.

Select the Runtime Simulation Monitor tab to monitor simulation progress in real time. This
panel can remain open while you run an analysis. It displays various simulation parameters
depending on the analysis type.

For transient simulations, Current time, End time, and min, max, and current Time step
values are displayed.
For AC simulations, Current and End frequency are displayed.

A graphical representation of the simulation iterations and Time Step (transient only) is also
shown.
To monitor the status of the solutions:
1.

Right-click the Results icon in the Project tree and select Browse Solutions.
The Solutions dialog box appears with two tabs, Statistics and Browse.

2.

Click the Browse tab to display data about the passes completed.
The left panel contains a tree structure showing the solutions listed according to Setup, Solution, and Variation (if any). A table in the right panel lists the Setup, the Solution, the swept
variable (if any), and the State of the solution.
a.

The Optimetrics Setup drop-down menu allows you to select the Optimetrics setup
whose solution data will be displayed. Choose None to display data for standard analyses
(Transient, AC, or DC).
Running Simulations 15-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

b.

Use the Properties button to display a dialog box that lets you change the way the Setup,
Solution, and Variation are listed in the tree structure.

c.

You can delete solutions by selecting them from the table entries and clicking Delete. Use
Ctrl-click to select multiple solutions, or Shift-click to select a range of solutions. You can
also select all solutions for deletion using the Select All button. When you delete a variation belonging to None, only that variations solution file on disk is deleted. When a variation that is part of an Optimetrics analysis is deleted, the .sdb file containing all the
variations corresponding to that Optimetrics solution will be deleted.

Click the Statistics tab of the Solutions dialog box to display file and path information, as well
as file format, number of files, and file size.

Related Topics
Simplorer Simulation toolbar
Progress Bar Menu
Monitoring Solution Progress
Modifying Parameters During a Simulation

Simplorer Simulation Toolbar


The Simplorer simulation toolbar provides the following simulation controls:

Active setup - drop-down menu allows you to choose the standard setup that is to be active for
the simulation.
Edit setup

- opens the setup dialog box for the currently selected standard setup.

Simulate Setup

- starts a simulation for the chosen active setup.

Show Profile
- opens the Solutions dialog box with the Profile tab selected and the
current/appropriate Simulation Analysis Setup chosen.
Note

Right-clicking Results in the Project tree and selecting Solution Profile also opens the
Solutions dialog box.

Progress Bar Menu


The progress bar context menu provides options for aborting, stopping, pausing, continuing, and
resuming simulations; and for modifying various parameters during a simulation.

To abort a simulation, right-click in the Progress bar, and select Abort.

15-46 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer ends the analysis immediately.


Note

If you abort the solution in the middle of an adaptive pass, the data for that pass or
current frequency point is deleted. Any solutions that were completed prior to the
one that was aborted are still available.
The solutions that are available depend on when you abort the analysis. For
example, if you stopped the solution while a post-processing macro was executing,
the field solution computed for that setup is still available.

To stop a simulation cleanly between time steps, right-click in the Progress bar, and select
Clean Stop.
Simplorer ends the analysis after the next solved pass or frequency point.
Note

To pause a simulation, right-click in the Progress bar, and select Pause.


Note

If, for example, you request a clean stop between the third and fourth adaptive pass, the
solutions for the third and fourth pass will be available.

While the simulation is paused, you can update reports with the SDB data current at the
time the simulation was paused. You can also selectively Modify Parameters if desired
before resuming the simulation.

To resume a simulation, right-click in the Progress bar, and select Resume.


If you checked Enable continue to solve in either the Transient Analysis Setup or AC Analysis Setup, the simulation pauses at the currently set end time or stop frequency.
Note

If a simulation ends before the currently set end time (transient analysis) or stop
frequency (AC analysis) is reached, the simulation does not pause and the Progress bar
closes normally.

To continue the simulation, right-click in the Progress bar, and select Continue. The transient
or AC analysis setup dialog box opens in which you can set a new, larger-value end time or
stop frequency to continue the simulation. Otherwise, choose Stop to end the simulation and
close the Progress bar.

If you delete either the Transient Analysis Setup or AC Analysis Setup and attempt to Continue simulation, a dialog box informs you of this fact and asks if you want to stop the simulation. Choose Yes to stop the simulation and close the Progress bar. Choosing No allows you to
undo the deletion of the setup and Continue the simulation.
To modify various simulation and model parameters during a simulation, right-click in the
Progress bar, and select Change quantity values.
Simplorer pauses the simulator and opens the Set Assignments dialog box in which you can
Modify Parameters.

To open the Solutions dialog box with the Profile tab selected and the current/appropriate
Simulation Analysis Setup chosen, select Profile... on the context menu.
Running Simulations 15-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Monitoring Solution Progress


While a simulation is running, you can monitor the solutions progress in the Progress window.
Above the red progress bar, messages describe the setup and step. The progress bar shows the relative progress of each step. Under the bar, messages note the part of the design being solved, and
give memory estimates during the factoring process.

Modifying Parameters During a Simulation


Simplorer allows users to pause an in-progress transient or AC simulation, modify the values of
unconnected real input properties, then resume the simulation using the new values. Modified
parameter values affect only the current simulation run. Corresponding parameter (property) values
in the project are not modified.
Note

Output and InOut properties, as well as properties whose value is a variable or


expression cannot be modified.

To modify simulation and model parameters while a transient or AC simulation is running, do the
following:
1.

Right-click anywhere in the Progress bar and elect Change quantity values from the context
menu. You can also click on the Progress bar arrow to access the menu.
Simplorer pauses the simulator and opens the Set Assignments dialog box. The main panel
displays a simulator tree containing a Solution parameters folder, a Solution options folder,
a Design variables folder, and icons for each model instance used in the simulation. It may
also contain a Project Variables folder if project variables exist in the project.
Clicking the + symbol next to an item in the tree expands the item to show its parameters for
which new values can be set. Clicking the symbol collapses the item. You can also use the
keyboards right-arrow and left-arrow keys to expand and collapse items in the tree. Similarly,
you can use the up-arrow and down-arrow keys to move up and down the tree to select items
and parameters.

2.

Select the parameter you wish to modify.


The parameter name you selected appears directly below the tree panel along with a text entry
field showing the current value for the selected parameter.

Note

a.

Parameter changes made in the Set Assignments dialog box will affect only the
Simplorer circuit and not the external model when performing transient cosimulation
with other products such as Maxwell, Simulink, or ANSYS RBD.
You can modify the following parameters in the Solution parameters folder:

For Transient analyses: Tend, Hmin, and Hmax.


For AC analyses: StartFrequency, StopFrequency, and NumberOfSteps.

For additional information on these parameters, please refer to the Transient Analysis
Setup and AC Analysis Setup help topics.
15-48 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

b.
Note

You can modify the following parameters in the Solution options folder:
Parameters in the Solution options folder are listed using their netlist names. Each of
these parameters corresponds to a setting found in the Solution Options dialog box. The
following tables give the parameter name, the corresponding Solution Options dialog
box setting name, and the range of values that can be entered for the parameter.

Transient solution options:


Solution options
parameter name
(netlist name)

Solution Options dialog box Acceptable Values


name

ADSync

Analog/Digital
synchronization

0=Hybrid (default)
1=Adaptive
2=Conservative

EqualSteps

Number of equal steps

positive integers

IEmax

Maximum current error

positive real values >0

Iteratmax

Maximum number of
iterations

positive integers >=1

LDF

Local truncation error [%]

positive real values >0

PerformanceFactor

Simulator pivoting strategy

positive real values >=0, <=1


(0=Partial, 1=Complete)

RelTol

Relative tolerance [%]

positive real values >0

SamanskiiFactor

Samanskii factor

positive integers >= 1, <=100

Solver

Integration formula

0=Euler
1=Adaptive Trapezoid-Euler(default)
3=Trapezoid

StepAccelDamping

Step acceleration damping [%] positive real values >0

Temp

Ambient temperature (Cel)

real values >0

VEmax

Maximum voltage error

positive real values >0

Running Simulations 15-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

AC solution options:
Solution options
parameter name
(Netlist name)

Solution Options Dialog


Name

Acceptable Values

EmaxAC

Maximum error [A]

real values >0

Iteratmax

Maximum number of
iterations

positive integers >=1

Temp

Ambient temperature (Cel)

real values >0

c.
3.

You can modify properties for Design and Project variables, and for component properties
as defined in their respective Properties dialog boxes.

Enter the desired new value for the selected parameter in the text field and click the Set button
to send the new value to the simulation engine.
The Assignments panel echoes the newly assigned values. Parameter values listed in the
Assignments panel can be modified again by reselecting the parameter in the tree, entering the
desired value, and clicking Set to update the listing.

4.

Repeat steps 2 and 3 for any additional values you wish to modify.

5.

When finished, click Continue to close the Set Assignments dialog box.
The simulation run resumes using the modified values.

Note

The modified values will be used only in the current simulation run. Values must be reentered for each new simulation.

Monitoring Queued Simulations


If you have multiple setups for a design, and have selected Analyze All, the simulations are queued
until there is a machine available. Setups are solved in the order that they appear in the project tree.
1.

To view the solution queue, click Tools>Show Queued Simulations or click the Show Queue
icon on the toolbar.
This displays a dialog that displays each simulation and its current status.

2.

To change the order of a simulation in the queue, select the simulation, and click the Move up
and Move down buttons as needed to effect the change.

3.

To remove a simulation from the queue, select the simulation, and click Remove from Queue.
This removes the selected simulation from the queue.

15-50 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

High Performance Computing (HPC) Integration


Ansoft Desktop products offer a direct integration with a number of High Performance Computing
(HPC) software programs. This direct integration does not require Ansoft RSM Service. The list of
currently-supported HPC software includes:

Platforms Load Sharing Facility (LSF)


Microsoft Windows HPC Server 2008
PBS Professional from Altair Engineering
Sun Grid Engine (SGE)

You can also do custom integration.


A job scheduler may also be described as a batch system, a Distributed Resource Management System (DRMS) or Distributed Resource Manager (DRM). The features supported on each scheduler
are included in the documents for each. For each job scheduler, the versions or revisions that have
been tested are included.
A user may submit jobs using the command line tools or other tools provided by the scheduler.
In this release, a new Graphical User Interface (GUI) has been added to help the user submit jobs to
a job scheduler. This GUI is shared across the ANSYS EM products. There are two ways that the
GUI may be used to submit jobs.

The first mode requires that the Desktop (UI) process run on a host which is also a submission
host for the job scheduler. This mode is called local mode or working mode.
The second mode is useful for cases in which the submission hosts are not able to run graphical
processes, such as the Desktop.The second mode is only supported on Linux in the R14.5
release. In the second mode, an administrator configures the Ansoft RSM Service to act as an
interface to the job scheduler, and starts the Ansoft RSM Service on a submission host for the
cluster. The user runs the Desktop (UI) process on another host (which may be called the postprocessing host). To submit a job, the user specifies the host where the Ansoft RSM Service is
running, and the Desktop process connects to the Ansoft RSM Service over the network to
submit the job. In this mode, some configuration is required, and the Ansoft RSM Service typically must run as a privileged user (e.g., root), so that it can launch processes as any user.

The GUI for Windows HPC job submission is still present in the R14.5 release. The new GUI is
generic, in that it may be used for multiple job schedulers, but it does not support submission of
Windows HPC jobs.
Related Topics
Scheduler Terminology
What a Scheduler Does
Installation of Ansoft Tools
Ansoft Jobs
Submitting and Monitoring Ansoft HPC Jobs
Running Simulations 15-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Scheduler Terminology
Core: unit of processing
Processor: consists of one or more cores
Machine/Host/Node: consists of one or more processors, memory, disk, etc.
Resource: Machines, licenses, etc. that are used by a Job
Job: Application (also called: program, executable), with command line options, that uses
resources to produce useful results. For example, simplorer.exe ng BatchSolve

Serial Job: job that runs on a single core


Parallel Job: job that runs on multiple cores (belonging to same or different machines)
Compute Cluster: network of machines on which Jobs run. Typically, consists of head node(s)
and many compute nodes
Service: Program that runs in the background (E.g. Ansoft RSM Service). Listens on a
port. OS provides programming interface by which Applications communicate with service,
once machine and port number are known. Launching an executable on remote machine,
requires a service to run on remote machine.

Ansoft Terminology

Desktop: The main application used to accomplish a task, such as Simplorer. The desktop may
run as a GUI or it may run as a batch command.
Engine: Application (aka: executable) that is launched during analysis commands, to generate
analysis results
Multi-processing: A single engine uses multiple cores on the same machine
Distributed-processing: Multiple engines are launched simultaneously (on same machine or
different machines). Uses ansoft_distrib (and related) license.

Related Topic
What a Scheduler Does
Command Line Enhancements for Ansoft Desktop Products
High Performance Computing (HPC) Integration

What a Scheduler Does

Enables effective/efficient utilization of clusters resources consistent with organizations


goals
Maintains queue(s) of jobs
Maximizes throughput of the jobs by processing all jobs as fast as possible
Typically, one job per cpu policy
Allows choice of various scheduling policies (e.g. First Come First Serve, Priority Based, Preemption)
Provides a suite of tools or utilities (graphical or command line) for end user to submit jobs,
monitor jobs, abort jobs, suspend jobs,

15-52 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Manages a compute cluster by running various interacting services on head nodes and compute nodes
Provides a programming interface to access services

Scheduler Managed Compute Cluster

Head node(s) typically maintains queues. Compute nodes are typically on a high speed network, to
improve scalability of parallel jobs. Services running on nodes interact with each other to manage
resources. End user tools communicate with services to submit/abort/suspend/etc. jobs.
Related Topic
High Performace Computing (HPC) Integration
Command Line Enhancements for Ansoft Desktop Products

Installation of Ansoft Tools


Ansoft Tools must be available on each cluster host where Ansoft jobs may be run.

On LINUX platform, Ansoft tools may be installed on a shared drive, that is accessible to all
machines in the cluster.
On Windows platform, Ansoft tools must be installed separately on each host of the cluster.

The Ansoft tools must be accessible using the same path on each host. All cluster users running
Ansoft jobs must have permission to read and execute the files in the Ansoft installation directory
and its subdirectories.
Running Simulations 15-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Temp directory selected during installation must be readable and writable by all user accounts
used to run the Ansoft tools. This temp directory path should be the same on all machines of the
cluster and should be local to every machine. For example, c:\temp on Windows, /tmp on LINUX
Because HPC is offered as a direct integration, you need only install the Ansoft software programs.
No additional configuration is required.
Example
Install the Ansoft tools in directory C:\Program Files\AnsysEM\Simplorer11.0\Win64 (or Windows) on each node of the cluster. The same directory pathname must be used on all hosts.
Related Topics
High Performance Computing (HPC) Integration
Firewall Configuration
Installation Directory Examples

Firewall Configuration
If firewall is turned OFF between the machines of the cluster, there is no need for any configuration. If firewall is turned ON, you, or a system administrator, should perform the steps below.

Windows cluster: Configure firewall by adding exceptions that allow Ansoft programs and services to communicate with each other. If you are using standard Windows Firewall, this is
automatically done for you, by the Ansoft installation program. On the other hand, if you are
using a 3rd-party firewall software, it needs to be configured in a similar manner.
LINUX cluster: Open up the firewall for range of ports denoting ephemeral (or dynamic)
ports. Check with your system administrator on how this can be done on each machine of cluster.

Related Topics
High Performance Computing (HPC) Integration
Installation Directory Examples

Installation Directory Examples


Microsoft Windows Example
Install the Ansoft tools in directory C:\Program Files\AnsysEM\Simplorer11.0\Win64 (or Windows) on each node of the cluster. The same directory pathname must be used on all hosts.
LINUX Example
Install the Ansoft tools in a common directory that is accessible using the path:
/opt/AnsysEM/Simplorer11.0 on each execution node of the cluster.
Related Topics
High Performance Computing (HPC) Integration
Firewall Configuration
Ansoft Jobs

15-54 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Ansoft Jobs
For most cluster environments, an Ansoft job will consist of an Ansoft Desktop running in nongraphical mode, performing a batch solve. The user will submit the job to the scheduler, specifying
an Ansoft Desktop command line to be executed on the cluster. For some schedulers, the user may
or must specify a script to run instead of specifying the Ansoft Desktop command line; in these
cases, the script will contain the corresponding Ansoft Desktop command line. When the resources
requested for the job are available to the job, the scheduler will start the job. In many cases, the user
submitting the job will not know which host or hosts are allocated to the job. With direct integration, if the Ansoft job is a distributed job, the Ansoft Desktop will query the scheduler for the hosts
allocated to the job, and it will use the scheduler facilities to launch the distributed engines.
Related Topics
High Performance Computing (HPC) Integration
Running Simplorer from a Command Line

Integration with Microsoft Windows HPC Scheduler


The Windows HPC scheduler is only supported on Windows. Jobs may be submitted in any of the
following ways:

Using Windows HPC specific GUI from the Ansoft Desktop


Using the Windows HPC GUIs from Microsoft: Job Manager or Cluster Manager
Using the Windows HPC command line tools (job, etc.)

This release has been tested with the following versions of Windows HPC:

Windows HPC Server 2008


Windows HPC Server 2008 R2

General Guidelines for Submitting Ansoft Jobs


A Job submitted to Windows HPC Cluster is defined by Job properties, Task List and Task properties. Priority, resource requirements, node preferences, etc. come from Job properties. In the case of
Ansoft jobs, Task List consists of a single task. Properties of this task specify command line that
runs Ansoft Desktop in non-graphical mode to perform analysis of an Ansoft project.
Ansoft Project File and Project Directory for use with Windows HPC Scheduler
Ansoft tools write their results to a subdirectory of the directory containing the Ansoft project file.
The Project Directory (the directory containing the project file) must be accessible to all of the cluster hosts that may run Ansoft jobs. The user account for the job must have permission to read the
project directory, and to create and modify files and subdirectories of this directory. The pathname
of the project file must be accessible to all cluster hosts using the same path name, which is generally expressed as a UNC pathname.
Example:
The project file is on the users workstation (with hostname user1_PC) in directory C:\user1\projects\new\project1.mxwl, and the directory C:\user1\projects is shared with sharename projects.
Correct
Running Simulations 15-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When submitting the job, you should use the following pathname to specify the project file:
\\user1_PC\projects\new\project1.mxwl
Incorrect
If a local pathname is used, the cluster hosts will not be able to find the users project on the workstation
user1_PC: ' C:\user1\projects\new\project1.mxwl '
Related Topics
Integration With Microsoft Windows HPC Scheduler
Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Selecting Computation Resource Units (Job Unit Type)
How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (Windows HPC) Integration

Windows HPC Job Properties


A number of properties that apply to the job as a whole may be specified when the job is submitted.
Some of the main job properties are:

Job Name - text string that may be used to identify or describe the job
Job Template - Template that controls job property defaults and allowed values. (See Windows HPC Job Templates)
Priority - one of five levels: Lowest, BelowNormal, Normal, AboveNormal, and Highest
Job Unit Type - computing resource unit granularity: core, node, or socket (See Selecting
Computation Resource Units (Job Unit Type).
Minimum and maximum number of computing resource units for the job. (See Specifying the
Number of Compute Resource Units for Windows HPC Jobs).
Exclusive - if true, no other jobs will be scheduled on nodes allocated to this job
Node group names - run the job on nodes belonging to these node groups
Node list - if specified, runs the job only on the nodes in this list

Set the minimum/maximum number of computing resource units to the number of units the jobs
needs. For example, set the number of units to sixteen, to be able to run four distributed engines,
each requiring four cores for multi-processing.
The Priority property controls which jobs are run by the scheduler when several jobs are ready to
run. The Exclusive property allows the user additional control on the resources used by a job. For
example, a job may be scheduled which requires all memory on a host, but only some of the cores
on the host; the Exclusive property would prevent other jobs from being scheduled on the unused
15-56 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

cores on the host. Node groups are created by cluster administrator to group together a set of similar nodes. For example, a node group '32GB Nodes' could be created to consist of all nodes, which
have 32GB of available memory. Jobs that are memory intensive are run on nodes that belong to
this node group.
There are other job properties that further limit which nodes may be allocated to a job:

Minimum and/or maximum number of cores per node


Minimum and/or maximum memory per node: generally expressed in megabytes (MB)

The minimum limits may be used to ensure that the nodes allocated to this job have sufficient
resources (nodes or memory) to efficiently run the job. The maximum limits may be used to optimize use of the cluster resources. For example, a maximum memory limit may be used to ensure
that nodes having a large amount of memory are only used for jobs that actually need a large
amount of memory and are not allocated to jobs that only require a limited amount of memory. Setting these limits acts as a filter on the nodes which may be allocated to a job; they do not ensure that
the resources will be available to the current job. For example, setting a minimum memory per
node of 2000 MB ensures that nodes allocated to the current job have at least 2000 MB of memory.
A node with 2000 MB of memory may be allocated to the current job, even if another job running
on the node is using 1500 MB of memory, however.
There are several other job properties that are not described here. See the Microsoft documentation
for more details.
Related Topics
Integration With Microsoft Windows HPC Scheduler
Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Selecting Computation Resource Units (Job Unit Type)
How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (HPC) Integration

Windows HPC Task Properties


In general, each job consists of one or more tasks. For Ansoft batch analyses run as Windows HPC
jobs, the job contains one task to control the analysis. This task is equivalent to the Ansoft Desktop
GUI, which controls the analysis when running in interactive mode. The properties of this task
must be set correctly for analysis to be successful.
Some of the main task properties are:

Task Name - text string that may be used to identify or describe the task
Working Directory - Working directory where the task is started
Command Line - The command line executed to start the task
Minimum and maximum number of computing resource units for the task (The unit type is the
Running Simulations 15-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

same is the job unit type.)


Of these properties, the Command Line is particularly important. We recommend using the Ansoft
Submit HPC Job dialog to submit jobs because this dialog will assist you in creating a valid task
Command Line. If you use one of the other methods, you must specify the complete command line
for the Desktop task. See Setting the Command Line discussion below.
For Ansoft Jobs, all the compute resource requirements are specified at the job level. At the task
level, the minimum and maximum computing resource units should be set to one if the resource
unit is 'Node'. For any other resource unit, set the minimum/maximum resources units to the
amount of multi-processing per distributed engine, i.e. "Number of Processors, Distributed". The
Desktop task will start additional tasks and child process, if needed, to complete the analysis.
Setting the Command Line
The task executable should be specified as described in the Installation of Ansoft Tools examples.
The project file should be the last argument in the command line, and it should be specified as
described in the Ansoft Project File and Project Directory examples. The other command line arguments should be selected to start the analysis as a batch job.
For Ansoft Jobs, all the compute resource requirements are specified at the job level. At the task
level, the minimum and maximum computing resource units should be set to one, if the resource
unit is 'Node'. For any other resource unit, set the minimum/maximum resources units to the
amount of multi-processing per distributed engine i.e. "Number of Processors, Distributed". The
Desktop task will start additional tasks and child process, if needed, to complete the analysis.
Example Command Lines:
Command Line that analyzes a Simplorer project serially:
"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe" -ng
-local -batchsolve \\shared_drive\projs\capacitor.asmp

Command Line that analyzes a Simplorer project serially and monitors analysis progress that is
printed to
stdout/stderr: "C:\Program Files
\AnsysEM\Simplorer11.0\Windows\simplorer.exe"_ -ng -monitor -local
-batchsolve \\shared_drive\projs\capacitor.asmp

Command Line that uses four cores for multi-processing of analysis:


"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe" -ng
-monitor -local -batchoptions _
"'Simplorer/Preferences/NumberOfProcessors'=4" _
-batchsolve \\shared_drive\projs\capacitor.asmp

Command Line that runs four distributed engines, on compute units allocated by the HPC Scheduler:
"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe" -ng _
-monitor -distributed -machinelist num=4 _
-batchsolve \\shared_drive\projs\capacitor.asmp

Command Line that runs four distributed engines, with each engine using four cores for multi-processing:
15-58 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe" -ng


-monitor -distributed -machinelist num=4 -batchoptions _
" 'Simplorer/Preferences/NumberOfProcessorsDistributed'=4 _
'Simplorer/Preferences/NumberOfProcessors'=4" -batchsolve _
\\shared_drive\projs\capacitor.asmp

Related Topics
Integration With Microsoft Windows HPC Scheduler
Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Selecting Computation Resource Units (Job Unit Type)
How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (HPC) Integration
Running Simplorer From a Command Line

Windows HPC Job Templates


The job templates are managed by the Windows HPC cluster administrator. Every cluster has at
least one job template, the "Default" job template. Every job has an associated job template. If no
job template is specified, then the "Default" job template is used. The job template controls two
related aspects of the job submission process. When a job is submitted, there are a number of job
parameters which may be specified. Each parameter has a set of valid values. For example, the Priority parameter has five valid values, Highest, AboveNormal, Normal, BelowNormal, and Lowest.
The job template controls the default value of each parameter; this is the value that the parameter
has if it is not specifically overridden by the submitter. For example, in the Default job template,
the default value of the Priority parameter is Normal. The job template may also limit the allowed
values of each parameter to a subset of the valid values. For example, a job template for privileged
users could allow all five Priority values, which a job template for unprivileged users could limit
the allowed Priority values to Normal, BelowNormal and Lowest.
Each job template is a Windows object with access controlled by an ACL (access control list).
Instead of the usual "Read" or "Read & Execute" permissions, there is a "Submit Job" permission
which corresponds to the right to submit a job with this job template. The cluster administrator may
create job templates to limit or control access to cluster resources. For example, a job template with
limited allowed job run times, or access to a limited set of compute nodes could be created by the
cluster administrator. Specific users or user groups could be forced to use this limited job template
by omitting access to the other job templates or by adding a deny access entry for the specified user
or group to the other job templates. See the Windows HPC Server 2008 Job Templates white paper
from Microsoft for additional details:
http://resourcekit.windowshpc.net/MORE_INFO/
Windows_HPC_Server_2008_Job_Templates_White_Paper.html

Running Simulations 15-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Job templates may also be created to allow users to run jobs with limited knowledge of the appropriate job parameters. The cluster administrator creates a job template which has reasonable default
values for the type of job to be run, and informs users which job template to use for each type of
job. The template could also limit some parameters to only the subset of all values that are useful
for the type of job associated with the template.
Related Topics
Integration With Microsoft Windows HPC Scheduler
Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Selecting Computation Resource Units (Job Unit Type)
How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (HPC) Integration

Selecting Computation Resource Units (Job Unit Type)


The Job Unit Type is the smallest unit of processing resources used to schedule the job. This is one
of the most important job properties. There are three options for the Job Unit Type: cores, nodes or
sockets.

Cores: Jobs are scheduled in units of cores, which may be also described as a CPU cores, logical processors, or CPUs. This is the smallest unit of granularity available. This selection
allows the scheduler to start multiple tasks on a processor, if the total number of cores needed
by the tasks is less than or equal to the number of cores on the processor. This selection may
also allow the scheduler to distribute more of the computational load to processors with more
cores than to processors with fewer cores.
Nodes: Jobs are scheduled in units of nodes, hosts or machines. This is the coarsest level of
granularity that may be selected. When this option is selected, only one task will run on any
give node at any given time. This is useful in cases where it is not desirable to run multiple
tasks on a single host. For example, if each task is multi-threaded, running multiple tasks on
the same node may not be needed to fully utilize the computing resources on the node. This
may also be preferred if the tasks are memory intensive, and multiple tasks would be competing for the limited memory resources.
Sockets: A socket (which may also be called a NUMA node) is a collection of cores sharing a
direct connection to memory. A socket will contain at least one core, and it may contain several cores. The socket concept may not necessarily correspond to a physical socket. Scheduling
at the socket level may be useful in cases in which each task requires extensive use of the
memory bus, and scheduling multiple tasks on the same socket would result in excessive bus
contention.

Related Topics
15-60 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Integration With Microsoft Windows HPC Scheduler


Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Selecting Computation Resource Units (Job Unit Type)
How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (HPC) Integration

How to Select the Windows HPC Job Unit Type


When the unit type is selected for a job, it also applies to all of the tasks of this job. For example, if
the unit type for the job is nodes, then a user cannot schedule tasks in units of cores. It is important
to select the unit type before selecting the number of units for the job or for the job tasks because
the unit type affects many other choices.
If the job tasks are CPU bound, it is usually best to select a unit type of core. This allows the tasks
to be distributed to as many cores as possible, making maximum of the computational resources
available. This choice may also allow cores that are not currently assigned to a job to be used by
other jobs.
If the job tasks are memory bound, a unit type of socket may be a better selection. Running multiple
tasks on the same socket may decrease performance due to memory bus contention. Some experimentation may be needed to determine whether a socket or core unit type is more efficient.
The node unit type selection may be best if the tasks are multithreaded and effectively use the computing resources available. In these cases, there may be no benefit to scheduling multiple tasks on a
node. The node unit type may also be the best selection if some system wide resource is the bottleneck. Some possible scenarios where this could occur are:

Each task requires all of the memory available on the node, and running multiple tasks results
in excessive paging or swapping
Each task is limited by bandwidth of the disk connection
Each task is limited by network bandwidth

References

MSDN: ISchedulerJob::UnitType Property


The Windows HPC Team Blog: How that Node/Socket/Core thing works

Related Topics
Integration With Microsoft Windows HPC Scheduler
Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Running Simulations 15-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Selecting Computation Resource Units (Job Unit Type)


How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (HPC) Integration

Windows HPC Job Credentials


Normally, a user will be prompted for the credentials used to submit a job. One way to simplify this
process is to use the "cluscfg setcreds" command to set the users credentials in the credentials
cache. If this is done, then no password needs to be supplied for a job submitted for the specified
user. Here is a cluscfg command that may be used to set the user credentials in the credentials
cache:
cluscfg setcreds /password:* /scheduler:cluster_name _
/user:domain\user_name
Here:

cluster_name = the name of the cluster (hostname of the head node)


domain = optional domain name; if omitted, the following \ should also be omitted
user = user name

When this form of the command is used, the user is prompted for the password and also asked if the
password should be remembered (cached).
See the following web page for more information on the cluscfg setcreds command:
http://technet.microsoft.com/en-us/library/cc947669(WS.10).aspx
Related Topics
Integration With Microsoft Windows HPC Scheduler
Windows HPC Job Properties
Windows HPC Task Properties
Windows HPC Job Templates
Selecting Computation Resource Units (Job Unit Type)
How to Select the Windows HPC Job Unit Type
Windows HPC Job Credentials
High Performance Computing (HPC) Integration

Submitting and Monitoring Ansoft HPC Jobs


Jobs may be submitted to the Windows HPC Scheduler using any of the following methods:

Using the Ansoft Submit HPC Job dialog


Using the Windows HPC Job Manager GUI
Using the Windows HPC Command Line Tools
Using the Windows PowerShell

15-62 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Client Utilities from the Microsoft HPC Pack, must be installed on the submit host to use any of
these methods to submit a job to a cluster. The Ansoft Submit HPC Job dialog will be unable to
contact the cluster head node if the client utilities are not installed.
This document covers the first method. See the Microsoft documentation for information on the
other three methods.

Submitting and Monitoring Jobs Using the Ansoft Submit HPC Job Dialog
The Ansoft Submit HPC Job Dialog
Specifying the Number of Compute Resource Units for HPC Jobs

Submitting and Monitoring Jobs Using the Ansoft Submit HPC Job Dialog
In order to submit jobs using the Ansoft Submit HPC Job dialog, the cluster head node hostname
must be set. Selecting the Tools>Windows HPC>Select Head Node... menu item brings up the
Select Head Node dialog.

You can enter the cluster head node name into the dialog. Alternatively, you can click the ellipsis
[...] button to browse the network for the cluster head node.
After setting the cluster head node hostname, select Tools>Windows HPC>Submit HPC Job...

Running Simulations 15-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

to bring up the Submit HPC Job: Tasks dialog.

Note

The example dialog boxentries show the HFSS product. Entries


for Simplorer and other products are similar.

You can select which setups are analyzed in the Analyze Setups section of this dialog. There are
radio buttons to select:

All setups in the project


All setups in a specified design: you selects the design from the dropdown list
Specify setups: You add one or more setups using the Add Setups... dialog

If you specify multiple setups, they will be processed sequentially in the order displayed in the edit
box.
15-64 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Resource Requirements group box controls how compute resources are used. The Distributed
Analysis settings control resource usage for the portion of the analysis that may be distributed to
different hosts. The Non-Distributed Analysis settings control the initial portion of analysis that
runs before the start of any distributed analysis --this initial portion cannot be distributed to separate hosts, and must be run on a single host.
There are two Distributed Analysis settings. The Number of engines is the number of analysis
engines that are started in parallel; the engines can run on separate hosts. The Number of cores per
engine setting controls the degree of parallel processing within each engine; these parallel threads
of execution must be on the same host. In the case of Simplorer, each distributed engine represents
one domain of a large model, portion of a frequency sweep analysis or portion of an Optimetrics
setup analysis.
There is only one setting for the non distributed analysis because this part of the analysis must
occur on a single host. The Number of cores controls the degree of parallelism used for this part of
the analysis.
Check Log Analysis Progress to log analysis progress to a <projname.progress> file. A Progress
file contains error/warning/info messages and progress text. Progress text is added every two seconds.
Pressing the Next button accepts the current settings, and advances to the Submit HPC Job: Properties dialog. Pressing the Cancel button dismisses the dialog without submitting the job.
Related Topics
Submitting and Monitoring Ansoft HPC Jobs
The Ansoft Submit HPC Job Dialog
Specifying the Number of Compute Resource Units for HPC Jobs

Running Simulations 15-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Ansoft Submit HPC Job Dialog


The Submit HPC Job: Properties dialog takes two forms, depending on whether you toggle the
Less Options/More Options button. With More Options selected, the dialog appears as follows:

15-66 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Pressing Less Options causes the dialog to appear as follows:

This dialog may be used to set the following job properties:

Job name (required)


Job template (required, but may be set to Default)
Job description file (optional)
Job priority (optional)
Compute resource granularity: Core, Socket or Node (required)
Minimum/Maximum number of compute resource units: Set both the minimum and maximum
to the same number. (see Specifying the Number of Compute Resource Units for HPC Jobs)
Node exclusivity: true or false (optional)
Minimum memory per node (optional)
Running Simulations 15-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Maximum memory per node (optional)


Minimum number or cores per node (optional)
Maximum number or cores per node (optional)

A Job description file is created using Windows HPC Job Manager. If a job description file is specified, the settings in this file will be used to obtain the following job properties:

Project (this is different from Ansoft project)


Job run options
Node groups that filter the nodes available to run the job
Node list that limits the nodes on which the job can run
Job Licenses
Node prioritization: given the nodes available for the job, this property allows you to determine the node preferences

See the Windows HPC Job Manager for documentation of above properties.
Pressing the Finish button submits the job. Pressing the Back button returns to the Submit HPC
Job: Tasks dialog. Pressing the Cancel button dismisses the dialog without submitting the job.
Related Topics
Submitting and Monitoring Ansoft HPC Jobs
Submitting and Monitoring Jobs Using the Ansoft Submit HPC Job Dialog
Specifying the Number of Compute Resource Units for HPC Jobs

Specifying the Number of Compute Resource Units for HPC Jobs


The number of resource units (irrespective of the type of the unit) must always be greater than or
equal to the Number of engines. Apart from this requirement, you need to set correct values for
Compute resource granularity, Number of compute resource units, Node exclusivity and Job
description file that ensure that the job has sufficient resources. Following are some examples:
For a pure DSO job that does not use much memory:

Set Compute resource granularity to core or socket (see Selecting Computation Resource
Units (Job Unit Type)).
Set Number of compute resource units to the 'Number of engines'.

For a job that is memory intensive. Run a fixed number of engines on each node:

Set Compute resource granularity to core or socket (see How to Select the HPC Job Unit
Type).
Set Node exclusivity to true.
Set Number of compute resource units to the number of units that are for exclusive use by
this job.
Specify an appropriate node list or the node groups via the Job description file.

15-68 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example: Suppose the job is run on nodes with 32GB of memory and 8 cores per node. Suppose
each engine requires 8GB memory and that 4 engines can run on each machine. Suppose the Number of engines specified for this job is 10. Since four engines are run per node, we need three nodes
to run 10 engines. So, 'Number of compute resource units' should be set to 24 cores (3 nodes times
8 cores). The Number of cores per engine should be set to 2.The Number of cores should be set to 8
(or a smaller number, if using 8 cores slows down the analysis)
For a job that is memory intensive. Run one engine per node:

Set Compute resource granularity to Node


Set Number of compute resource units to Number of engines.
Specify appropriate node list or node groups via the Job description file.

Example: Suppose the job is run on nodes with 16GB of memory and 4 cores per node. Suppose
each engine requires 16GB memory, that is, 1 engine can run on each machine. Suppose the Number of engines specified for this job is 10. So, the Number of compute resource units should be set
to 10 nodes. The Number of cores per engine should be set to 4 (or a smaller number, if using 4
cores slows down the analysis). The Number of cores should be set to 4 (or a smaller number, if
using 4 cores slows down the analysis)
Related Topics
Submitting and Monitoring Ansoft HPC Jobs
Submitting and Monitoring Jobs Using the Ansoft Submit HPC Job Dialog
The Ansoft Submit HPC Job Dialog
Specifying the Number of Compute Resource Units for HPC Jobs

Integration with Platforms Load Sharing Facility (LSF)


ANSYS Electromagnetics products support Windows LSF cluster as well as LINUX LSF cluster.
Serial analysis, Multi Processing and Distributed Analysis is done on compute resource units
assigned by LSF. Models with parametric sweeps can use Large Scale DSO. With LSF, the ANSYS
EM job doesn't require graphics. ANSYS EM jobs progress can be monitored through LSF commands or through the dialog opened through Tools>Job Management>Monitor Jobs.... If a temp
directory is setup by the LSF cluster administrator, analysis engines use this temp directory, overriding the setting in the ANSYS EM product.

Running Simulations 15-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Besides the command line interface, you can also use a Job Management user interface to submit
jobs

Related Topic
General Terminology for LSF
Installation of Ansoft Tools on LSF Cluster
Integration of ANSYS EM Products with LSF
LSF Job Submission Guidelines
Job Management User Interface for LSF
LSF Command Used to Launch Remote Engine Processes
15-70 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Submitting ANSYS EM LSF Batch Jobs


Current Working Directory with LSF
Quoting ANSYS EM Command or Arguments for LSF
Monitoring LSF Batch Jobs
Terminating LSF Batch Jobs
Known Issues for LSF
Troubleshooting for LSF
Command Line Enhancements for ANSYS EM Desktop Products

Installation of ANSYS EM Tools on LSF Cluster


The LSF scheduler is supported on both Linux and Windows.
On Linux, jobs may be submitted in any of the following ways:

Using LSF commands (bsub, etc.)


Using the generic scheduler GUI in local mode
Using the generic scheduler GUI in service mode

On Windows, jobs may be submitted in any of the following ways:

Using LSF commands (bsub, etc.)


Using the generic scheduler GUI in local mode

This release has been tested with the following versions of LSF:

LSF 7.0.5 on Windows


LSF 7.0.6 on Linux

Windows:
Install on every node of cluster
Setup temp directory to a path that is same on all nodes. For example, c:\temp
LINUX:
Install on a single node, on a shared drive.
Setup temp directory to a path that is same on all nodes. For example, /tmp
Ensure that the product is available using the same path on all nodes
Permissions:
All users of the cluster should have read/write permissions to temp directory
All users should have read/execute permissions to installation directory

Running Simulations 15-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When a desktop scheduler GUI is run the same node as the job submission node, no other configuration is necessary: installation is sufficient. You select the scheduler through the desktop GUI.
You need to ensure that scheduler commands are available in the path before you launch desktop.
Note

There is no need to install RSM unless the you are using the scheduler GUI on a post
processing node that is different than the than the job submission node. In this case,
RSM must be configured with the scheduler type and path.
A post processing nodes is a node in the cluster that can run the ANSYS
Electromagnetics desktop in graphical mode. A job submission node is a node in the
clutser in which job submission commands are available.

Turn OFF firewall between cluster nodes.


Scenario 1: The post-processing node and job-submission node roles are served by distinct
machines.
In this case, perform the following configuration:
The job-submission node should be configured to run Ansoft RSM service, which serves as a proxy
to scheduler. The Ansoft RSM Service should be running as 'root' in order to facilitate jobs running
using the credentials of the job's owner. A configuration file in the RSM installation folder
should be edited to specify information regarding the scheduler that manages jobs on this cluster.
A block labeled 'Scheduler' must be included within the 'AnsoftCOMDaemon' block. This block
contains two string entries:

SchedulerName: this contains the unique part of the scheduler proxy library name
ConfigString: this contains a scheduler specific configuration string

The case of the SchedulerName string is significant on Linux because Linux file names are case
sensitive. The case of the SchedulerName string is not significant on Microsoft Windows. In R14.5,
the possible scheduler names are: lsf and sge. The ConfigString entry is a scheduler specific configuration string, described below.
In addition, the AnsoftRSMService must be started with appropriate environment variables set.
Generally, the environment variables must be set the same as they would be set for using the scheduler via command lines.
LSF Details
For the LSF scheduler proxy library, the ConfigString entry in the ansoftrsmservice.cfg configuration file is ignored. It may be empty or omitted entirely.
The AnsoftRSMService must be started with the environment set as it would be set for submitting
jobs to the LSF cluster.

For Linux, the cshrc.lsf or the profile.lsf file may be sourced to set up the environment,
depending on the shell.
For Microsoft Windows, the PATH environment variable should be set to include the directory
containing the LSF commands; this directory should be before any other directory containing
files with the same name as any LSF commands.

Example ansoftrsmservice.cfg configuration file:


15-72 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

$begin 'AnsoftCOMDaemon'
$begin 'Managed COM Servers'
$end 'Managed COM Servers'
$begin 'Scheduler'
'SchedulerName'='lsf'
'ConfigString'=''
$end 'Scheduler'
$end 'AnsoftCOMDaemon'
Scenario 2: The post-processing node and job-submission node roles are served by the same
machine.
The Select Scheduler... command (as described in the Job Management User Interface for LSF
section) is used to gather details about the scheduler. In this case, the Desktop process should be
started in an environment suitable for submitting jobs to the scheduler. See below for details.
LSF on Linux
The environment should be configured so that the following LSF environment variables are set
appropriately for the LSF cluster in use: LSF_BINDIR, LSF_SERVERDIR, LSF_LIBDIR,
and LSF_ENVDIR. In addition, the following LSF commands should be found in the
LSF_BINDIR directory: "bsub", "bjobs", "bkill", "lsid", "lsrun", "lshosts", "bmgroup",
"bparams" and "bqueues".
LSF on Microsoft Windows
The environment should be configured so that all LSF commands are found using the PATH
environment variable. In particular, search for the following commands in the PATH should
result in the LSF command being found: "bsub", "bjobs", "bkill", "lsid", "lsrun", "lshosts",
"bmgroup", "bparams" and "bqueues". No other command with the same name should appear
before the LSF command in the PATH.

Running Simulations 15-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Ansoft Product Installation Changes

Desktop talks to Scheduler Proxy which in turn uses Scheduler commands. It is possible to add a
proxy dll to support new schedulers without changing Desktop.
Related Topic
Integration with Platforms Load Sharing Facility (LSF)
General Terminology for LSF
What a Scheduler Does
Integration of ANSYS EM Products with LSF
Job Management User Interface for LSF
LSF Job Submission Guidelines
15-74 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Known Issues for LSF


Troubleshooting for LSF
Workarounds for LSF
Command Line Enhancements for Ansoft Desktop Products

Integration of ANSYS EM Products with LSF


With LSF you do not need to setup Distributed Analysis Machines or Remote Machine in the
Tools>General Options>Analysis Options tab. Instead, you submit an HFSS job to LSF, requesting appropriate resources for this job (number of processors, memory per processor, etc.). For
example:
bsub n 1 hfss.exe Batchsolve ng local OptimTee.hfss
bsub n 4 hfss.exe Batchsolve ng Distributed OptimTee.adsn
The HFSS job is queued by LSF until the requested resources are available. Upon resource availability LSF starts HFSS.exe with the specified command line on one of the allocated machines.
During analysis, HFSS dynamically obtains the allocated Distributed Analysis Machines from
LSF. HFSS interfaces with LSF to launch engines on remote machines without going through
Ansoft RSM.
Related Topics
Integration with Platforms Load Sharing Facility (LSF)
General Terminology for LSF
What a Scheduler Does
Job Management User Interface for LSF
Installation of ANSYS EM Tools on LSF Cluster
LSF Job Submission Guidelines
Known Issues for LSF
Troubleshooting for LSF
Command Line Enhancements for Ansoft Desktop Products

LSF Job Submission Guidelines

Ansoft Project should be available in a shared drive that is accessible to all machines in the
cluster
Ansoft Project should be available using the same path on all machines of cluster
Ensure sufficient space in project directory and temp directories
Ensure sufficient memory per engine
Choose the number of compute resources (Distributed Analysis machines and Multi Processing cores) so as to achieve desired scale factor and effective resource utilization

Stop an HFSS job cleanly - ensures that the results obtained until now are preserved
bkill s TERM <jobid>.

Running Simulations 15-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Stop an HFSS job abruptly results are most likely lost. You have to manually remove the project
lock file
bkill <jobid>
Related Topics
Integration with Platforms Load Sharing Facility (LSF)
Job Management User Interface for LSF
Installation of ANSYS EM Tools on LSF Cluster
Integration of ANSYS EM Products with LSF
Known Issues for LSF
Troubleshooting for LSF
Command Line Enhancements for Ansoft Desktop Products
Aborting an Analysis

Job Management User Interface for LSF


The Job Management UI is accessed by running ANSYS Electromagnetics product Desktop on the
designated 'Postprocessing node' of the cluster. The Desktop provides UI commands for Scheduler
selection, Job submission and Job monitoring/control. You access the Scheduler User Interface by
clicking Tools>Job Management>Other Schedulers.

15-76 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Before you can use Submit Job, you must click Select Scheduler as the one-time initial step. The
opens the Select Scheduler dialog.

Specify the following parameters:

Job submission node: this is the node on the cluster where scheduler commands (such as LSF's
bsub) are allowed to run.
Choose Use this computer if scheduler commands are enabled on the post-processing node.
Choose Use a computer on network if the cluster is configured in a manner as to disallow
job-submission from the post-processing node. Specify node name appropriately.
Pre-requisites: For this choice to work, the job-submission node must already be configured
with a running Ansoft RSM service, as documented in the 'Installation/Configuration' section

Scheduler: Available choices are: LSF and SGE. It is possible for you to integrate their custom
scheduler into this UI, through a scheduler proxy. When this is done, more choices will be
available in the combo-box, one per custom scheduler proxy that is deployed in the installation

Running Simulations 15-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

After specifying the job submission node, you can click Refresh. The scheduler information is then
listed in the Scheduler info text field.

Once you select a scheduler, you can access the interface for job submission, monitoring and control. Click OK to close the dialog.

15-78 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

You access the Job submission UI by clicking Tools>Job Management>Other Schedulers>Submit Job.... This command launches a multi-tab dialog.

The Analysis Specification tab has parameters to specify the input project model, the analysis
setup and analysis options (including batchoptions) that affect analysis algorithms.
The Compute Resources tab specifies the amount of compute resources and how to select
specific resources from the available pool (for example, <queue_name> is an LSF parameter
that restricts job's candidate nodes to nodes in this queue).
The Scheduler Options tab has analysis-independent parameters specific to the job, such as
name, priority.

Running Simulations 15-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Analysis Specification tab for LSF


This tab lets you specify the following:
Project:
You can use the ellipsis button [...] to use a navigation window to browse. The path should be
visible to all nodes in the cluster.

Analysis Setups:
Specify All setups in the project, all in a design, or a single setup. If the setup includes a parametric sweep, the Use large scale DSO checkbox is enabled.

Analysis Options:

You have checkboxes for whether to Monitor Job through the GUI, and whether to Wait for
license.
You can also specify Batchoptions. Click the Add... button to open a dialog for selecting the

15-80 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Batchoptions.

The lower Value field shows the legal values for the selected registry key. You can type the
desired value into the upper text field under value. Click the Add button to accept the selection
of the registry key with the specified value. Click Done close the Add Batchoption dialog.
At the upper left, a drop down menu lets you specify which registry key categories to display,
whether All, or selected category.

A checkbox lets you choose between displaying only frequently used entries (the default), or

Running Simulations 15-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

by unchecking, all options available for the selected group.

Note that for Large Scale DSO problems, you also have the option to Add Batchoption for relevant Registry Keys.

The added registry keys and values are listed in the Batchoptions field of the Submit Job dialog.

Selecting from the list enables buttons for removing or editing registry key values. Selecting a

15-82 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

registry key and clicking Edit... opens the Edit Batchoptions dialog.

Here you can edit the Value field and update the value for the selected registry key.
Environment:
This permits specifying Environment Variables. Click the ellipsis button [...] to open the Addi-

Running Simulations 15-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tional Job Options dialog.

The Add button permits you to specify your environment variables. Once, added, you can select
Remove or Edit. The Add Debug Environment Variables button adds variables of use in working with support.

The Save Settings as Default button lets you save a current set of values as defaults the next
time you invoke the Scheduler GUI. This can simply subsequent job submissions.

15-84 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Compute Resources Specification Tab


This tab lets you provide Resource selection and Job parallelization parameters. Once you have
specified parameters, you can Save Settings as Defaults, Preview a Submission, and Submit a job.

Resource Selection:
If you do not specify parameters for resource selection, LSF may submit jobs to any machine in the
entire pool that is available.

Resource selection parameters.


Clicking the ellipsis button [...] opens a dialog for parameters specific to LSF, in this case
Queue. The Specify Parameter checkbox in the dialog enables a parameter, and you can select
Running Simulations 15-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the Value for the Queue parameter from a drop down menu.

If you dont specify a parameter, the scheduler handles the situation.

Specify node list


Checking Specify node list enables the field for specifying a node list, and the drop down for
Use Distributed Machine Configuration menu, that lets you select from pre-defined lists. In
a computing environment where the available cores are not uniform, you can use this to have
control over which resources your job will use.

Job parallelization:
The values you specify here represent minimal requirements for each condition that can interact in
leading to the total resources the Scheduler derives from them. If you specify a node list in the
Resource selection area, that takes priority over any values specified in Job parallization (which are
then ignored).

Number of distributed engines


Whether Nodes are for exclusive usage by this job
Whether to Limit number of engines per node to a value
This can be useful in situations where the amount of memory available for node is limited relative to the requirements for the project, and you want to ensure sufficient memory per process.

Number of processors per engine


Number of processors, non-distributed (visible only when Show advanced options is
checked.)

In response to a set of minimal constraints, the Scheduler may increase the resources assigned
beyond the minimal values in order to meet the full set of requirements. For example, if you specify
7 distributed engines, with two processors per engine, and also limit the number of engines per
15-86 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

node to 4, the scheduler may increase the number of cores used in order to meet the limit specified
for engines per node. Notice that a preview of the Submit Job Results shows the number or
resouces assigned, and that the scheduler generated code includes an MPI specification.

Preview submission
This opens a screen showing the bsub command to be used to submit the job.

Submit job actually sends the batch command to the LSF cluster.A dialog reports a successful submit and presents a checkbox for monitoring.

Running Simulations 15-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Scheduler Options Tab


This tab lets you give Job name and Priority.

You continue to have the Save Settings As Default, Preview Submission, and Submit Job buttons.
If you check Show advanced options, you can also specify Job submission options.

15-88 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Job submission options permit you to customize a job submission in terms of addition job submission options, or override a job submission command.

Text in the enabled field is appended to the bsub command. You can see the effects of any custom
additions by clicking Preview Submission.
Related Topics
Integrated Job Monitoring for Job Management Interface for LSF
Scheduler Proxy Interfaces

Integrated Job Monitoring for Job Management Interface for LSF


The job monitoring/control dialog is launched through the command Tools>Job Management>Monitor Jobs... or by checking Begin monitoring this job now in the information window reporting successful job submission.

Running Simulations 15-89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In response to either invocation, the Monitor Job dialog opens:

15-90 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In this dialog, user selects the same project they submitted. You begin by selecting the job to monitor from a pull down list of recent jobs.

The lower left has corner of the dialog has options for manual refresh or to Automatically refresh
every specified number seconds. After refresh, the messages for the job are displayed. The format
of the text is essentially same as output of the '-monitor' command-line option.

If desired, you can use the check boxes to filter the messages listed in terms of whether to monitor
Errors, Warnings, or Info messages.
Related Topics
Scheduler Proxy Interfaces
Job Management User Interface for LSF

Running Simulations 15-91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Submitting ANSYS EM LSF Batch Jobs


The LSF bsub command may be used to submit Ansoft jobs. The typical command format is:
bsub bsub_args ansoft_exe ansoft_args
where:

bsub_args are the options of the bsub command,


ansoft_exe is the pathname of the Ansoft Desktop executable to launch, and
ansoft_args are the arguments to the Ansoft Desktop executable.

Related Topic
Job Management User Interface for LSF

LSF Command Used to Launch Remote Engine Processes


When using direct integration with LSF, the LSF lsrun command is used to launch remote engine
processes. This command does not allow the LSF scheduler to track the resources used by these
processes. As a result, the resource usage reported by the LSF bacct command will not include
resources used by the remote engine processes.
Recent versions of LSF support the LSF blaunch command; this command allows the LSF
scheduler to track the resources used by processes launched using this command. When using
direct integration with LSF on Linux platforms, if the version of LSF in use supports the LSF
blaunch command, then this command is used to launch remote engine processes. As a result, the
resource usage reported by the LSF bacct command for an Ansoft job will include all resources
used by the job, including the resources used by remote engine processes. This feature is not yet
available on Windows platforms. If the version of LSF in use does not support the LSF blaunch
command, then the LSF lsrun command is used to launch remote engine processes, and resources
used by remote engine processes will not be included in the results reported by the LSF bacct command.

Submitting Ansoft LSF Batch Jobs


The LSF bsub command may be used to submit Ansoft jobs. The typical command format is:
bsub bsub_args ansoft_exe ansoft_args
where:

bsub_args are the options of the bsub command,


ansoft_exe is the pathname of the Ansoft Desktop executable to launch, and
ansoft_args are the arguments to the Ansoft Desktop executable.

Current Working Directory with LSF


The current working directory of the Ansoft Desktop process must exist on all compute hosts where
analysis may be run. This is needed because the Ansoft job uses the LSF lsrun or blaunch commands to start the remote analysis engines. When these LSF commands start a remote process they
always change the working directory to the working directory of the process submitting the com15-92 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

mand. If the directory does not exist on a remote host, then the lsrun or blaunch command will fail
on that host, and the remote analysis engine will not be started on that host.

Quoting Ansoft Command or Arguments for LSF


If the Ansoft tool executable pathname (ansoft_exe) or any of the arguments of the Ansoft tool
command (ansoft_args ) contain characters which are interpreted by the command shell, then these
special characters must be properly quoted to ensure that the correct command is launched by LSF.
This is very common on Windows systems, where many executable file pathnames contain embedded space characters. A similar problem may occur on any platform if any of the ansoft_args
require single quote, double quote or space characters. Note that the Ansoft desktop command is
processed by the shell twice. It is processed by the shell when the bsub command is processed, and
again when the job is started.

bsub Arguments
The LSF bsub command has a large number of options that may be used to control the submission
process. Only a few options which are often used with Ansoft jobs are mentioned here. The following options may be used to submit serial or parallel LSF jobs.
-n min_proc, max_proc or -n min_proc
Submits a parallel job, specifying the number of processors (or slots) required for the job. Here,
min_proc is the minimum number of processors, and max_proc is the maximum number of processors. If no maximum is specified, then exactly min_proc processors are requested. If
PARALLEL_SCHED_BY_SLOT=Y in lsb.params, this option specifies the number of slots
required to run the job, not the number of processors. If the -n command line option is not specified, then the job is submitted as a serial batch job.
-R "span[ptile=n]"
There are many ways to use the -R "res_req" option to the bsub command. We only cover -R
"span[ptile=n]" here, because this option is very useful for Ansoft jobs. When this option is specified, the LSF scheduler will allocate n processors (or slots) on each host to this job, even if more
processors are available on the host.
-x
All hosts running this job operate in exclusive execution mode. The job will only run on a host having no other jobs running on that host. No other batch jobs will be started on a host while this job is
running on that host. The -m host_name option of the lsrun or lsgrun commands may be used to
force an interactive job to run on a host in exclusive mode. The -m host_name option of the brun
command may be used to force a batch job to run on a host in exclusive mode.
See the LSF documentation for a complete list of options for the bsub command.

Monitoring Ansoft LSF Batch Jobs


The LSF bpeek command may be used to monitor LSF batch jobs, if the Desktop command line for
the job includes the -monitor command line option.

Running Simulations 15-93

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Ansoft Desktop -monitor Command Line Option


The Ansoft -monitor command line option enables batch job output to the standard output and standard error streams. The warning, info, and progress messages are sent to the standard output
stream. The error and fatal messages are sent to the standard error stream.
LSF bpeek Command
The LSF bpeek command may be used to monitor job progress. The command pbeek [ -f ] job_id
displays the standard output and standard error produced by the job with id job_id from the job
start to the current time (the time when the command is executed). This command is only valid for
jobs that have not yet finished. When used with the -f option on Linux, the output of the job is displayed using the command tail -f, so that ongoing progress may be monitored.
In order to display messages to standard output and standard error, specify the -monitor command
line option on the Ansoft tool command line. Then, these messages can be seen using the LSF
bpeek command.

Terminating Ansoft LSF Batch Jobs


To cancel or terminate an Ansoft LSF batch job, we recommend the use of the LSF bkill command
with the -s SIGTERM command line option. Using this option to will allow the Ansoft batch job
to shut down in an orderly fashion. Using the LSF bkill command without the -s SIGTERM option
or simply terminating the job processes may cause some of the following problems:

Some engine processes are not shut down, and continue to run
LSF job is not fully removed
Project lock file is not removed
Linux only: MainWin core service processes (watchdog, mwrpcss and/or regss) are not
stopped

Some of these may interfere with submission of additional Ansoft LSF batch jobs. For example, it
may be necessary to manually remove the project lock file to submit another batch job for the same
project. On Linux, MainWin core service processes may also interfere with starting subsequent
Ansoft batch jobs. Normally, these processes should timeout and end 15 seconds after the Ansoft
product shuts down. Any MainWin core service processes (watchdog, mwrpcss and/or regss) that
continue to run for more than 15 seconds after the product has stopped may be hung. The hung processes may need to be manually killed, after ensuring that these processes are associated with an
Ansoft job that has finished or terminated.

Example LSF bsub Command Lines


Linux Examples for LSF
Note

The following Linux examples use Maxwell as the ANSYS Electromagnetics product,
but similar command lines will work for other ANSYS Electromagnetics products.

If the maxwell command is included in the bsub command line, then the entire maxwell command
will be processed by the command shell two times. The maxwell command is processed when the
15-94 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

bsub command is processed by the shell. It will be processed again when the maxwell command is
started by the scheduler.
Several examples show the entire maxwell command line enclosed in double quotes ("), while the
double quote (") characters within the maxwell command line are replaced by escaped double
quotes ("\""). This ensures that the quoted arguments of the maxwell command are processed correctly. The last example shows how to use a shell script so that the maxwell command line will be
processed by the command processor only once. The maxwell command is placed in the shell
script, and then the shell script pathname is placed in the bsub command line. Then, the maxwell
command is only processed by the command processor when the job is started. When using this
approach, the shell script should be accessible from all of the cluster hosts.
Serial job:
bsub -n 1 /opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
~/projects/OptimTee.mxwl

The -n 1 option indicates that this job runs on one core.


Serial job that needs a minimum of 4GB:
bsub -n 1 -R "select[mem>4000]" _
/opt/Ansoft/Maxwell16.0/maxwell -ng _
-BatchSolve ~/projects/OptimTee.mxwl

The -R "select[mem>4000]" option indicates that this needs a minimum of 4 GB memory.


Multi-processing job using 4 cores:
bsub -n 4 -R "span[ptile=4]" _
"/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
-batchoptions "\""'Maxwell3D/Preferences/NumberOfProcessors'=4"\""_ ~/
projects/OptimTee.mxwl"

The -R "span[ptile=4]" option indicates that the four cores need to be on the same machine.
The -batchoptions option indicates that Maxwell should use four cores for multi-processing.
The entire maxwell command is in double quotes, and the double quotes enclosing the batchoptions value are escaped. Each of these double quotes is replaced by the sequence "\"".

Distributed processing job using 4 engines:


bsub -n 4 /opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve -Distributed
~/projects/OptimTee.mxwl

The -n 4 option indicates that the four cores are needed for the job.
The -Distributed option indicates that this is a DSO job, so that multiple engines will be
started. Because 4 cores are allocated to the job, the job will run 4 engines.

Distributed processing and multi-processing job using 4 cores, with 2 cores for
multi-processing:
bsub -n 4 -R "span[ptile=2]" ~/projects/OptimTee.csh

Running Simulations 15-95

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Shell script (~/projects/OptimTee.csh):


#!/bin/csh
/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
-Distributed -machinelist num=2 -batchoptions _
"'Maxwell3D/Preferences/NumberOfProcessorsDistributed'=2_
'Maxwell3D/Preferences/NumberOfProcessors'=2" ~/projects/
OptimTee.mxwl

The -n 4 option indicates that the four cores are needed for the job.
The -R "span[ptile=2]" option indicates that the cores must be allocated in groups of two cores
on the same machine.
The -machinelist num=2 option indicates that this is a DSO job and that a total of two engines
will be started.
The 'Maxwell3D/Preferences/NumberOfProcessorsDistributed=2 batchoption indicates that
the distributed analysis engines should use two cores for multi-processing.
The 'Maxwell3D/Preferences/NumberOfProcessors=2 batchoption indicates that the portion of
the analysis that is not distributed should use two cores for multi-processing.
The maxwell command is placed in the shell script (~/projects/OptimTee.csh). In the bsub
command line, the maxwell command is replaced by the shell script pathname.

Windows Examples for LSF


Note

The following Windows examples use Simplorer as the ANSYS Electromagnetics


product, but similar command lines will work for other ANSYS Electromagnetics
products.

If the simplorer command is included in the bsub command line, then the entire simplorer command will be processed by the command processor cmd.exe two times. The simplorer command is
processed when the bsub command is processed by the command processor. It will be processed
again when the simplorer command is started by the scheduler.
The first three examples show the entire simplorer command line enclosed in double quotes ("),
while the double quote (") characters within the simplorer command line are replaced by escaped
double quotes (\"). This ensures that the quoted arguments of the simplorer command are processed
correctly. The remaining examples show how to use a batch file so that the simplorer command line
will be processed by the command processor only once. The simplorer command is placed in a
batch file, and then the batch file pathname is placed in the bsub command line. Then, the simplorer
command is only processed by the command processor when the job is started. When using this
approach, the batch file should be accessible from all of the cluster hosts.
Serial job:
bsub -n 1 _
"\"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe\"
-ng -BatchSolve \\host\share\projects\capacitor.asmp"

The -n 1 option indicates that this job runs on one core.

15-96 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The entire simplorer command is in double quotes, and the double quotes enclosing the simplorer pathname are escaped. Each of these double quotes is replaced by the sequence \".

Serial job that needs a minimum of 4GB:


bsub -n 1 -R "select[mem>4000]" _
"\"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe\" _
-Ng -BatchSolve \\host\share\projects\capacitor.asmp"

The -R "select[mem>4000]" option indicates that this needs a minimum of 4 GB memory.


The entire simplorer command is in double quotes, and the double quotes enclosing the simplorer pathname are escaped. Each of these double quotes is replaced by the sequence \".

Multi-processing job using 4 cores:


bsub -n 4 -R "span[ptile=4]" _
"\"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe\"_
-Ng -BatchSolve -batchoptions _
\"'Simplorer/Preferences/NumberOfProcessors'=4\" _
\\host\share\projects\capacitor.asmp"

The -R "span[ptile=4]" option indicates that the four cores need to be on the same machine.
The -batchoptions option indicates that Simplorer should use four cores for multi-processing.
The entire simplorer command is in double quotes, and the double quotes enclosing the simplorer pathname and the -batchoptions value are escaped. Each of these double quotes is
replaced by the sequence \".

Distributed processing job using 4 engines:


bsub -n 4 \\host\share\projects\OptimTee.bat

Batch File (\\host\share\projects\Capacitor.bat) Contents:


"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe\" _
-Ng -BatchSolve _
-Distributed \\host\share\projects\capacitor.asmp

The -n 4 option indicates that the four cores are needed for the job.
The -Distributed option indicates that this is a DSO job, so that multiple engines will be
started. Because 4 cores are allocated to the job, the job will run 4 engines.
The simplorer command is placed in the batch file \\host\share\projects\Capacitor.bat. In the
bsub command line, the simplorer command is replaced by the batch file pathname.

Distributed processing and multi-processing job using 4 cores, with 2 cores for
multi-processing:
bsub -n 4 -R "span[ptile=2]" \\host\share\projects\Capacitor.bat

Batch File (\\host\share\projects\Capacitor.bat) Contents:


"C:\Program Files\AnsysEM\Simplorer11.0\Windows\simplorer.exe\" -ng _
-BatchSolve -Distributed -machinelist num=2 -batchoptions_
"'Simplorer/Preferences/NumberOfProcessorsDistributed'=2 _
Running Simulations 15-97

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

'Simplorer/Preferences/NumberOfProcessors'=2" _
\\host\share\projects\Capacitor.asmp

The -n 4 option indicates that the four cores are needed for the job.
The -R "span[ptile=2]" option indicates that the cores must be allocated in groups of two cores
on the same machine.
The -machinelist num=2 option indicates that this is a DSO job and that a total of two engines
will be started.
The 'Simp[lorer/Preferences/NumberOfProcessorsDistributed=2 batchoption indicates that the
distributed analysis engines should use two cores for multi-processing.
The 'Simplorer/Preferences/NumberOfProcessors=2 batchoption indicates that the portion of
the analysis that is not distributed should use two cores for multi-processing.
The simplorer command is placed in the batch file \\host\share\projects\Capacitor.bat. In the
bsub command line, the simplorer command is replaced by the batch file pathname.

Known Issues for LSF

Desktop or remote machine has multiple IP addresses, which we dont support.


Simplorer is able to perform DSO on 2 machines or lesser. Fails to DSO to 3 or more machines
There are core dump files at the end of jobs running. Results are computed correctly though.
Simplorer doesnt work with LSF versions 7.0.2 and 7.0.3
On Windows, Simplorer should be installed on every machine of the cluster.
The firewall should be turned off on the machines in the cluster.
UAC should be disabled on Vista (only Windows).
Sometimes LSF kills a Simplorer job (e.g., job gets preempted due to a high priority job). Simplorer doesn't handle such a situation gracefully resulting in the presence of .lock file in the
project directory. User needs to manually delete the lock file before continuing with further
analysis.
When an LSF job is killed, the MainWin services (watchdog, regss, and mwrcpss) could keep
running. The result is that later jobs cannot start on the machine. The fix is to kill off these processes before starting a new job
Statistics monitoring: In the case of DSO job, LSF doesn't report the job statistics correctly.
The statistics reported correspond to the machine on which Simplorer is launched and doesn't
take into account the resources consumed on other machines.
Analysis fails abruptly when running out of resources (cpu/memory/disk)
The major reason for job failure is due to insufficient resources given to job
Issue is addressed (via graceful failure) in the next release of Ansoft products

Related Topic
Integration with Platforms Load Sharing Facility (LSF)
General Terminology for LSF
What a Scheduler Does
15-98 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Installation of Ansoft Tools on LSF Cluster


Integration of Ansoft Products with LSF
LSF Job Submission Guidelines
Troubleshooting for LSF
Command Line Enhancements for Ansoft Desktop Products

Troubleshooting for LSF


Ensure that the following LSF commands are enabled:
lsrun in the case of Maxwell 14.0
Make sure there is no user error. For example:

Use correct path to Simplorer and full path to project


Ensure sufficient resources (cpu/memory/disk) are allocated to job: check space in temp directory, space in project directory (consider quotas)
Ansoft project to be available on the execution host
Ensure job submitter has permissions to read/write to project directory and read/execute permissions to installation directory
Check for locked project

Find if this is a standalone product issue:


Run build of Simplorer interactively on the machine, outside of the scheduler, and see if it
comes up and analyzes.
Send the following logs to development:

Output of LSF batch job corresponding to the analysis of Ansoft project: You can obtain this
using LSF commands: use bacct if jobs output is not redirected to a file. For example,
bacct l <jobid>

Batch log generated by Ansoft product (typically, projectname.log, in the same directory as
the Ansoft project file)
Debug logs generated by Ansoft product, during the running of LSF job.
Set ANSOFT_DEBUG_MODE to 1
It is good to collect another set of logs with above value set to 7
Create \\shared_drive\ansdebug directory that is accessible by all machines in the cluster
Set ANSOFT_DEBUG_LOG to a file in \\shared_drive\ansdebug directory, for example,
\\shared_drive\ansdebug\anslog
Set ANSOFT_DEBUG_LOG_SEPARATE to 1.
Set ANSOFT_LSF_LOG to a distinct file in \\shared_drive\ansdebug directory, for example,
\\shared_drive\ansdebug\lsf.log

For each pair of the machines, between which the remote analysis fails, run "ping remoteRunning Simulations 15-99

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

machine" and note the output

For each machine in the network, dump the network interfaces (for e.g. run "ifconfig -a") and
note the output
Email all 5 logs to development
- Jobs log generated by LSF
- Log generated by Ansoft product
- Entire \\shared_drive\ansdebug folder
- Output from ping command
- Output related to compute nodes network interfaces

Related Topic
Integration with Platforms Load Sharing Facility (LSF)
General Terminology for LSF
What a Scheduler Does
Installation of Ansoft Tools on LSF Cluster
Integration of Ansoft Products with LSF
LSF Job Submission Guidelines
Known Issues for LSF
Command Line Enhancements for Ansoft Desktop Products
Aborting an Analysis
Workarounds for LSF

Workarounds with LSF

Some users reported core dumps during Simplorer analysis, though analysis results are fine.
Workaround: Limit size of core dumps to 0 through the following job submit option:
bsub -C 0 -n <number-of-cores> -q <queue-name>
Note

Letter C must be upper-case

Simplorer is able to perform DSO on 2 machines or lesser. Fails to DSO to 3 or more


machines.
Workaround: Set per-thread stacksize to 10MB

Simplorer doesnt work with LSF versions 7.0.2 and 7.0.3.


Workaround: Copy scheduler dll from Simplorer 10 (LSF 7.0.3, LSF 7.0.2 issue)

Check if latest patch has the fixes for above.

Related Topics
Integration with Platforms Load Sharing Facility (LSF)

15-100 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Integration with PBS (Portable Batch System) Professional from Altair


Engineering
The PBS Pro scheduler is only supported on Linux. Jobs may be submitted in any of the following
ways:

Using PBS commands (qsub, etc.) or the PBS gui (xpbs)

This release has been tested with the following version of PBS Pro:

PBS Pro 10.1.0.91350

Submitting Ansoft PBS Batch Jobs


The PBS qsub command may be used to submit Ansoft batch jobs. The typical command format is:
qsub qsub_args script
where:

qsub_args are the options of the qsub command,


script is the pathname of the job script.

The job script is a shell script containing the Ansoft batch command or commands to be run. If a
batch command line contains any characters that are special to the shell running the script, then
these special characters should be quoted, as needed. The job script may also contain PBS directives on lines before the first executable line of the script. Any qsub options on the command line
will take precedence over the PBS directives in the job script.
Serial PBS Batch Jobs
In the PBS documentation, serial batch jobs are also called single-node jobs. In general, any job
submitted without specifying the -l nodes=value command line argument, will run as a serial or single-node job.
See the section on Monitoring Ansoft PBS Batch Jobs for options that can facilitate monitoring of
Ansoft batch jobs.
Parallel PBS Batch Jobs
In the PBS documentation, parallel batch jobs are also called multi-node jobs. When an Ansoft
batch job is run as an PBS parallel job, the PBS scheduler will select the hosts for the distributed
analysis job based on the qsub command line arguments, the PBS resource directives from the job
script, and the status of the hosts when the job is run. The desktop process will be started on one of
these hosts. The desktop process will obtain the list of hosts allocated to the job from the PBS
scheduler, and start analysis processes on these hosts, as needed, using the PBS scheduler facilities.
To run a PBS parallel job, the job must be submitted with a -l nodes=value qsub command line
argument or with a -l nodes=value PBS directive in the job script.
See the section on Monitoring Ansoft PBS Batch Jobs for options that can facilitate monitoring of
Ansoft batch jobs.
Related Topics
Monitoring Ansoft PBS Batch Jobs
Running Simulations 15-101

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example PBS qsub Command Lines


Example PBS qsub Command Lines
What a Scheduler Does

qsub Arguments
The PBS qsub command has a large number of options for control of the submission process. In
this section, we review the -l nodes=value command line option with Ansoft parallel batch jobs.
This option or directive has the following format:
-l nodes=node_spec [+node_spec...][#suffix]
where node_spec is one of the following
nodename[:pc_spec[:pc_spec...]]
Host name of the specified node, followed by optional ppn or cpp specifiers.
[N][:property[:property...]][:pc_spec[:pc_spec...]]
Optional number of nodes, followed by optional node properties, followed by optional
ppn or cpp specifiers. If the number N is omitted, then the default value of 1 host is used.
Here, the optional ppn or cpp specifiers pc_spec are of form:
ppn=X
Number of processes (tasks) per node. Default is 1 if not specified.
cpp=Y
Number of CPUs (threads) per process. Default is 1 if not specified.
The optional global suffix, #suffix, which applies to all hosts has one of the following values:
#excl
This suffix requests exclusive access to the allocated nodes.
#shared
This suffix requests shared (i.e., non-exclusive) access to the allocated nodes.
The total number of requested processes is determined by adding up the product of the number of
nodes and the number of processes per node for each node_spec. In general, this should match the
number of distributed engines specified in the Ansoft desktop -Machinelist
num=num_distributed_engines command line option.
The number of CPUs per process (cpp) specified in the PBS qsub command line or in the PBS
directives in the script file should generally match the number of processors per engine specified in
the Desktop -batchoptions value. Both the NumberOfProcessors and NumberOfProcessorsDistributed should match the PBS cpp value.
See the PBS documentation for a complete list of options for the bsub command, and further information on running multi-node jobs.
Related Topics
Integration with PBS (Portable Batch System) Professional from Altair Engineering
Monitoring Ansoft PBS Batch Jobs
15-102 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example PBS qsub Command Lines


Example PBS qsub Command Lines

Monitoring Ansoft PBS Batch Jobs


The suggestions below may be used for Ansoft Batch jobs run under PBS.
PBS qstat Command
The PBS qstat command may be used to display information on jobs and queues. In this section,
several qstat command line options that may be used to monitor job progress are described.
The qstat -a command displays information about all jobs in the system.
The qstat -r command displays information about all running jobs in the system.
The qstat -s command resembles the qstat -r command; the only difference is that a comment
from the scheduler or batch administrator is also shown for each job.
The qstat -au userid command displays information about all jobs owned by user userid.
The qstat -f jobid command displays all available information about the job with id jobid.
See the PBS manual pages for more information.
Ansoft -monitor Command Line Option for PBS
The Ansoft -monitor command line option enables batch job output to the standard output and
standard error streams. The warning, info, and progress messages are sent to the standard output
stream. The error and fatal messages are sent to the standard error stream.
The PBS scheduler redirects the standard output and standard error streams of batch jobs to files
specified in the qsub -o [hostname:]pathname and the -e [hostname:]pathname command line
options, respectively. If either option is not specified, then the associated stream is redirected to the
default file pathname for that stream.
The qsub -j join option controls whether the standard error stream for the job will be merged with
the standard output stream for the job. A join value of oe indicates that the interleaved standard output and standard error will be sent to the standard output file or stream. A join value of oe indicates
that the interleaved standard output and standard error will be sent to the standard error file or
stream. A join value of n indicates that the standard ouput and standard error streams will not be
joined. If the qsub -j join option is not specified, then the the standard error and standard output
streams will not be joined.
A user can monitor the progress of a job by checking the standard output file for progress, info and
warning messages, and checking the standard error file for error and fatal messages.
Related Topics
Integration with PBS (Portable Batch System) Professional from Altair Engineering
qsub Arguments
Example PBS qsub Command Lines
Example PBS qsub Command Lines
Running Simulations 15-103

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example PBS qsub Command Lines


Note

The following examples show how to submit Linux Maxwell jobs on PBS, but similar
command lines and job scripts will work for other ANSYS Electromagnetics products.

Most of the following examples are PBS "Single-node jobs." The last example is a PBS "multinode jobs"; this examples demonstrate how to specify the allocation of threads, tasks and nodes to a
job.
Serial job:
qsub ~/pbs_scripts/OptimTee.sh

Job Script File:


#!/bin/sh
/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
~/projects/OptimTee.mxwl

Serial job that needs a minimum of 4GB memory and two hours of real (wallclock)
time:
qsub ~/pbs_scripts/OptimTee.sh

Job Script File:


#!/bin/sh
#PBS -l walltime=2:00:00
#PBS -l mem=4gb
/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
~/projects/OptimTee.mxwl

Multi-processing job using 4 cores:


qsub ~/pbs_scripts/OptimTee.sh

Job Script File:


#!/bin/sh
#PBS -l ncpus=4
/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve -batchoptions
"'Maxwell3D/Preferences/NumberOfProcessors'=4" _
~/projects/OptimTee.mxwl

The #PBS -l ncpus=4 directive indicates that four cores or CPUs are allocated to this job.
The -batchoptions option indicates that Maxwell should use four cores for multi-processing.

Distributed processing job using 4 engines on a single host:


qsub ~/pbs_scripts/OptimTee.sh

Job Script File:


#!/bin/sh
#PBS -l ncpus=4
15-104 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve -Distributed _


~/projects/OptimTee.mxwl

The #PBS -l ncpus=4 directive indicates that four cores or CPUs are allocated to this job.
The -Distributed option indicates that this is a DSO job, so that multiple engines will be
started. Because 4 cores are allocated to the job, the job will run 4 engines.

Distributed processing and multi-processing job using 8 cores on two nodes,


running 4 engines (two per node) with 2 cores for multi-processing:
qsub ~/pbs_scripts/OptimTee.sh

Job Script File:


#!/bin/sh
#PBS -l nodes=2:ppn=2:cpp=2#excl
/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve -Distributed _
-machinelist num=4 -batchoptions _
"'Maxwell3D/Preferences/NumberOfProcessorsDistributed'=2 _
'Maxwell3D/Preferences/NumberOfProcessors'=2" _
~/projects/OptimTee.mxwl

The PBS directive #PBS -l nodes=2:ppn=1:cpp=2#shared indicates that two nodes are
requested [2], two processes (engines) run on each node [ppn=2], and each process will use
two cores [cpp=2]. The hosts allocated to this job may not be used for any other jobs while this
job is running [#excl].
The -machinelist num=4 option indicates that this is a DSO job and that a total of four engines
will be started.
The 'Maxwell3D/Preferences/NumberOfProcessorsDistributed=2 batchoption indicates that
the distributed analysis engines should use two cores for multi-processing.
The 'Maxwell3D/Preferences/NumberOfProcessors=2 batchoption indicates that the portion of
the analysis that is not distributed should use two cores for multi-processing.

Related Topics
Integration with PBS (Portable Batch System) Professional from Altair Engineering
qsub Arguments
Monitoring Ansoft PBS Batch Jobs
Example PBS qsub Command Lines

Integration with Grid Engine (GE)


Before Sun was acquired by Oracle, this job scheduler was an open source product, and it was
known as Sun Grid Engine (SGE). Since the acquisition, the product has been renamed Oracle Grid
Engine (OGE), and new versions are expected to be closed source versions. The Open Grid Scheduler project hosted on SourceForge plans to continue maintaining an open source version. Any of
the versions may also be called Grid Engine (GE).
The Grid Engine scheduler is only supported on Linux. With GE, jobs may be submitted in any of
the following ways:
Running Simulations 15-105

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using GE commands (qsub, etc.) or the GE gui (qmon)


Using the generic scheduler GUI in local mode
Using the generic scheduler GUI in service mode

This release has been tested with the following versions of GE:

6.2u4
6.2u5
2011.11

ANSYS Electromagnetics products support Grid Engine (GE) for Serial analysis, Multi Processing
and Distributed Analysis. Models with parametric sweeps can use Large Scale DSO. With GE, the
ANSYS EM job doesn't require graphics. ANSYS EM job progress can be monitored through
GE(SGE) commands or in the dialog opened through Tools>Job Management>Monitor Jobs....

15-106 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In addition to the command line interface, you can also use a Job Management user interface to
submit jobs

Related Topics
Job Management User Interface for SGE
Command Line Enhancements for ANSYS EM Desktop Products

Installation of ANSYS EM Tools on SGE


Windows:
Install on every node of cluster
Setup temp directory to a path that is same on all nodes. For example, c:\temp
Running Simulations 15-107

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

LINUX:
Install on a single node, on a shared drive.
Setup temp directory to a path that is same on all nodes. For example, /tmp
Ensure that the product is available using the same path on all nodes
Permissions:
All users of the cluster should have read/write permissions to temp directory
All users should have read/execute permissions to installation directory
When a desktop scheduler GUI is run the same node as the job submission node, no other configuration is necessary: installation is sufficient. You select the scheduler through the desktop GUI.
You need to ensure that scheduler commands are available in the path before you launch desktop.
Note

There is no need to install RSM unless the you are using the scheduler GUI on a post
processing node that is different than the than the job submission node. In this case,
RSM must be configured with the scheduler type and path.
A post processing nodes is a node in the cluster that can run the ANSYS
Electromagnetics desktop in graphical mode. A job submission node is a node in the
clutser in which job submission commands are available.

Turn OFF firewall between cluster nodes.


Scenario 1: The post-processing node and job-submission node roles are served by distinct
machines.
In this case, perform the following configuration:
The job-submission node should be configured to run Ansoft RSM service, which serves as a proxy
to scheduler. The Ansoft RSM Service should be running as 'root' in order to facilitate jobs running
using the credentials of the job's owner. A configuration file in the RSM installation folder
should be edited to specify information regarding the scheduler that manages jobs on this cluster.
A block labeled 'Scheduler' must be included within the 'AnsoftCOMDaemon' block. This block
contains two string entries:

SchedulerName: this contains the unique part of the scheduler proxy library name
ConfigString: this contains a scheduler specific configuration string

The case of the SchedulerName string is significant on Linux because Linux file names are case
sensitive. The case of the SchedulerName string is not significant on Microsoft Windows. In R14.5,
the possible scheduler names are: lsf and sge. The ConfigString entry is a scheduler specific configuration string, described below.
In addition, the AnsoftRSMService must be started with appropriate environment variables set.
Generally, the environment variables must be set the same as they would be set for using the scheduler via command lines.
SGE Details
For SGE, the ConfigString entry must contain the search path for the SGE commands. It may contain a single directory, the directory containing the SGE commands. Alternatively, it may be a path,
15-108 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

with directories separated by the colon character ":", where the SGE command directory appears
before any other directory containing files with the same name as any SGE commands.
Example ansoftrsmservice.cfg configuration file:
$begin 'AnsoftCOMDaemon'
$begin 'Managed COM Servers'
$end 'Managed COM Servers'
$begin 'Scheduler'
'SchedulerName'='sge'
'ConfigString'='/opt/sge6.2u4/bin/lx24-amd64'
$end 'Scheduler'
$end 'AnsoftCOMDaemon'
Scenario 2: The post-processing node and job-submission node roles are served by the same
machine.
The Select Scheduler... command (as described in the Job Management User Interface for SGE
section) is used to gather details about the scheduler. In this case, the Desktop process should be
started in an environment suitable for submitting jobs to the scheduler.
The environment should be configured so that all SGE commands are found using the standard
search path. In particular, search for the following commands in the search path should result in the
SGE command being found: "qsub", "qdel", "qstat", and "qconf". No other command with the same
name should appear before the SGE command in the search path.
Related Topic
Job Management User Interface for SGE
Command Line Enhancements for Ansoft Desktop Products

Job Management User Interface for SGE


The Job Management UI is accessed by running ANSYS Electromagnetics product Desktop on the
designated 'Postprocessing node' of the cluster. The Desktop provides UI commands for Scheduler
selection, Job submission and Job monitoring/control. You access the Scheduler User Interface by
clicking Tools>Job Management>Other Schedulers.

Running Simulations 15-109

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Before you can use Submit Job, you must click Select Scheduler as the one-time initial step.This
opens the Select Scheduler dialog.

Specify the following parameters:

Job submission node: this is the node on the cluster where scheduler commands (such as SGE's
qsub) are allowed to run.
Choose Use this computer if scheduler commands are enabled on the post-processing node.
Choose Use a computer on network if the cluster is configured in a manner as to disallow
job-submission from the post-processing node. Specify node name appropriately.
Pre-requisites: For this choice to work, the job-submission node must already be configured
with a running Ansoft RSM service, as documented in the 'Installation/Configuration' section

Scheduler: Available choices are: LSF and SGE. It is possible for you to integrate their custom
scheduler into this UI, through a scheduler proxy. When this is done, more choices will be
available in the combo-box, one per custom scheduler proxy that is deployed in the installation

15-110 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

After specifying the job submission node, you can click Refresh. The scheduler information is then
listed in the Scheduler info text field.

Once you select a scheduler, you can access the interface for job submission, monitoring and control. Click OK to close the dialog.

Running Simulations 15-111

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

You access the Job submission UI by clicking Tools>Job Management>Other Schedulers>Submit Job.... This command launches a multi-tab dialog.

The Analysis Specification tab has parameters to specify the input project model, the analysis
setup and analysis options (including batchoptions) that affect analysis algorithms.
The Compute Resources tab specifies the amount of compute resources and how to select
specific resources from the available pool (for example, ParallelEnvironment is an SGE
parameter).
The Scheduler Options tab has analysis-independent parameters specific to the job, such as
name, priority.

15-112 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Analysis Specification tab for SGE


This tab lets you specify the following:
Project:
You can use the ellipsis button [...] to use a navigation window to browse. The path should be
visible to all nodes in the cluster.

Analysis Setups:
Specify All setups in the project, all in a design, or a single setup. If the setup includes a parametric sweep, the Use large scale DSO checkbox is enabled.

Analysis Options:

You have checkboxes for whether to Monitor Job through the GUI, and whether to Wait for
license.
You can also specify Batchoptions. Click the Add... button to open a dialog for selecting the

Running Simulations 15-113

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Batchoptions.

The lower Value field shows the legal values for the selected registry key. You can type the
desired value into the upper text field under value. Click the Add button to accept the selection
of the registry key with the specified value. Click Done close the Add Batchoption dialog.
At the upper left, a drop down menu lets you specify which registry key categories to display,
whether All, or selected category.

A checkbox lets you choose between displaying only frequently used entries (the default), or

15-114 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

by unchecking, all options available for the selected group.

Note that for Large Scale DSO problems, you also have the option to Add Batchoption for relevant Registry Keys.

The added registry keys and values are listed in the Batchoptions field of the Submit Job dialog.

Selecting from the list enables buttons for removing or editing registry key values. Selecting a

Running Simulations 15-115

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

registry key and clicking Edit... opens the Edit Batchoptions dialog.

Here you can edit the Value field and update the value for the selected registry key.
Environment:
This permits specifying Environment Variables. Click the ellipsis button [...] to open the Addi-

15-116 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tional Job Options dialog.

The Add button permits you to specify your environment variables. Once, added, you can select
Remove or Edit. The Add Debug Environment Variables button adds variables of use in working with support.

The Save Settings as Default button lets you save a current set of values as defaults the next
time you invoke the Scheduler GUI. This can simply subsequent job submissions.

Running Simulations 15-117

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Compute Resources Specification Tab


This tab lets you provide Resource selection and Job parallelization parameters. Once you have
specified parameters, you can Save Settings as Defaults, Preview a Submission, and Submit a job.

Resource Selection:
If you do not specify parameters for resource selection, SGE may submit jobs to any machine in the
entire pool that is available.

Resource selection parameters.


Clicking the ellipsis button [...] opens a dialog for parameters specific to SGE, in this case ParallelEnvironment. The Specify Parameter checkbox in the dialog enables a parameter, and

15-118 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

you can select the Value for the ParallelEnvironment parameter from a drop down menu.

If you dont specify a parameter, the scheduler handles the situation.

Specify node list


Checking Specify node list enables the field for specifying a node list, and the drop down for
Use Distributed Machine Configuration menu, that lets you select from pre-defined lists. In
a computing environment where the available cores are not uniform, you can use this to have
control over which resources your job will use.

Job parallelization:
The values you specify here represent minimal requirements for each condition that can interact in
leading to the total resources the Scheduler derives from them. If you specify a node list in the
Resource selection area, that takes priority over any values specified in Job parallization (which are
then ignored).

Number of distributed engines


Whether Nodes are for exclusive usage by this job
Whether to Limit number of engines per node to a value
This can be useful in situations where the amount of memory available for node is limited relative to the requirements for the project, and you want to ensure sufficient memory per process.

Number of processors per engine


Number of processors, non-distributed (visible only when Show advanced options is
checked.)

In response to a set of minimal constraints, the Scheduler may increase the resources assigned
beyond the minimal values in order to meet the full set of requirements. For example, if you specify
7 distributed engines, with two processors per engine, and also limit the number of engines per
node to 4, the scheduler may increase the number of cores used in order to meet the limit specified

Running Simulations 15-119

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

for engines per node. Notice that a preview of the Submit Job Results shows the number of
resouces assigned, and that the scheduler generated code includes an MPI specification.

Preview submission
This opens a screen showing the qsub command to be used to submit the job.

Submit job actually sends the batch command to the SGE cluster.A dialog reports a successful submit and presents a checkbox for monitoring.

15-120 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Scheduler Options Tab


This tab lets you give Job name and Priority.

You continue to have the Save Settings As Default, Preview Submission, and Submit Job buttons.
If you check Show advanced options, you can also specify Job submission options.

Running Simulations 15-121

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Job submission options permit you to customize a job submission in terms of addition job submission options, or override a job submission command.

Text in the enabled field is appended to the bsub command. You can see the effects of any custom
additions by clicking Preview Submission.
Related Topics
Integrated Job Monitoring for Job Management Interface for SGE
Scheduler Proxy Interfaces

Integrated Job Monitoring for Job Management Interface for SGE


The job monitoring/control dialog is launched through the command Tools>Job Management>Monitor Jobs... or by checking Begin monitoring this job now in the information window reporting successful job submission.

15-122 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In response to either invocation, the Monitor Job dialog opens:

Running Simulations 15-123

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In this dialog, user selects the same project they submitted. You begin by selecting the job to monitor from a pull down list of recent jobs.

The lower left has corner of the dialog has options for manual refresh or to Automatically refresh
every specified number seconds. After refresh, the messages for the job are displayed. The format
of the text is essentially same as output of the '-monitor' command-line option.

15-124 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If desired, you can use the check boxes to filter the messages listed in terms of whether to monitor
Errors, Warnings, or Info messages.
Related Topics
Scheduler Proxy Interfaces
Job Management User Interface for SGE

Running Simulations 15-125

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SGE Command Line Interface


SGE Commands for Information About Jobs and Cluster Configuration
The following SGE commands are especially useful for getting information about the cluster configuration or for getting information about running or completed jobs. This list only contains a few
of the most common commands. Consult the SGE man pages for a complete list and more details.
qconf -help: The first line displays the SGE version
qacct -j job-id : Displays a log of the completed job with id job-id(if accounting is
enabled)
qstat -j job-id : Displays a log of the running job with id job-id
qconf -sc: Show all complex attributes
qconf -spl: Show a list of all parallel environments
qconf -sp pe-name : Show details of parallel environment named pe-name
qconf -sql: Show a list of all queues
qconf -sq queue-name : Show details of queue named queue-name
qconf -sconf: Show configurations
Submitting Ansoft SGE Batch Jobs
The SGE qsub command may be used to submit Ansoft jobs. Typical command formats are:
qsub qsub_args ansoft_exe ansoft_args
qsub qsub_args job_script
qsub qsub_args[ -]
where:

qsub_args are the options of the qsub command,


ansoft_exe is the pathname of the Ansoft tool executable to launch,
ansoft_args are the arguments to the Ansoft tool command, and
job_script is a shell script containing the Ansoft desktop command to run.

In the first format, the Ansoft desktop command and its arguments are specified on the qsub command line. In the second format, the pathname of a shell script containing the Ansoft desktop command and its arguments is specified on the qsub command line. In the third format, the command is
omitted or replaced with a hyphen; this indicates that the command or script will be taken from
stdin.
Quoting Ansoft Command or Arguments for SGE
If the Ansoft tool executable pathname (ansoft_exe) or any of the arguments of the Ansoft tool
command (ansoft_args) contain characters which are interpreted by the command shell, then these
special characters must be properly quoted to ensure that the correct command is launched by SGE.
This is especially important when using the first form of the qsub command, as the Ansoft desktop
command is processed by the shell twice in this case. It is processed by the shell when the qsub
command is processed, and again when the job is started.
15-126 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Serial SGE Batch Jobs


In general, Ansoft batch jobs may be submitted as SGE serial jobs without any special considerations.
See Monitoring Ansoft SGE Batch Jobs for options for monitoring Ansoft batch jobs.
Parallel SGE Batch Jobs
When an Ansoft batch job is run as an SGE parallel job, the SGE scheduler will select the hosts for
the distributed analysis job, and start the desktop process on one of these hosts. The desktop process will obtain the list of hosts from the SGE scheduler, and start analysis processes, as needed,
using the SGE scheduler facilities. To run an SGE parallel job, the job must be submitted to an SGE
parallel environment (PE).
See Monitoring Ansoft SGE Batch Jobs for options for monitoring Ansoft batch jobs.
Setting Up an SGE Parallel Environment (PE)
To allow Ansoft batch jobs to distribute analysis engines to multiple hosts, the job must be run in a
parallel environment (PE) in which the the control_slaves parameter is set to TRUE. This setting is
required to allow the Ansoft desktop to start analysis engines on hosts other than the local host, i.e.,
the host where the Ansoft desktop is running.
Here is a sample parallel environment configuration:
pe_name

ans_test1

slots

999

user_lists

NONE

xuser_lists

NONE

start_proc_args

/bin/true

stop_proc_args

/bin/true

allocation_rule

$round_robin

control_slaves

TRUE

job_is_first_task

FALSE

urgency_slots

min

accounting_summary TRUE
The user_lists and xuser_lists parameters are ACLs (access control lists) used to control which
users have permission to use the parallel environment. The user_lists setting gives permission to
use the PE. The xuser_lists setting denys permission to use the parallel environment. The
xuser_lists settings override the user_lists settings.
The start_proc_args and stop_proc_args parameters contain the pathname and arguments for the
parallel environment startup and shutdown scripts. No startup or shutdown scripts are needed for
parallel Ansoft batch jobs. The setting /bin/true may be used as the value for these scripts; this utility does nothing and returns an exit code indicating success (0).
The parallel environment allocation_rule parameter will affect how the analysis engine tasks are
distributed across the hosts allocated to the job. The $round_robin setting distributes the tasks
Running Simulations 15-127

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

across the hosts in a round robin fashion, resulting in the load being relatively evenly distributed
over all of the hosts. The $fill_up setting allocates all slots on a host before distributing the tasks to
another host; the result is that most hosts are either fully utilized or completely unused. See the
sge_pe man page for other settings for this parameter.
The control_slaves parameter must be set to TRUE, as described above.
The job_is_first_task parameter also affects how tasks are allocated. When submitting a job to run
in a parallel environment, the number of parallel tasks, n, is specified on the command line. If this
setting is TRUE, then the job process is considered one of the tasks, and only (n-1) additional tasks
are allocated to the job. If the setting is FALSE, then the job process is not considered to be one of
the tasks, and n additional tasks are allocated for the job.
See the sge_pe man page for more information about these and other PE parameters.
A parallel environment does not run tasks directly. Instead, the tasks are distributed to queues associated with the parallel environment. In order to complete the setup of a parallel environment, one
or more queues need to be associated with the parallel environment. The queue pe_list parameter is
used to specify the parallel environments (PEs) supported by the queue. This is an important step; if
no queues support a given PE, then jobs submitted to that PE will not run.
Parallel Batch Job Command Line Considerations
The number of engines run on a host will depend on the total number of distributed engines, and the
number of hosts allocated to the job. The memory required on a host depends on the number of
engines running on the host and on the memory needed for each engine. The qsub command -l
resource=value,... or -q queue_list command line options specify that the parallel batch job run on
machines with sufficient memory and other resources.
Related Topics
Monitoring Ansoft SGE Batch Jobs
Ansoft Desktop -monitor Command Line Option for SGE
Example SGE qsub Command Lines
Issue with MainWin Core Services for SGE
What a Scheduler Does
Recommended Practices for SGE Clusters

Monitoring Ansoft SGE Batch Jobs


The suggestions below may be used for SGE serial jobs and for SGE parallel jobs.
SGE qstat Command
The SGE qstat command may be used to display information on jobs and queues. If the -j [job_list]
option is included, then information on jobs is displayed. If the -j [job_list] option includes a job
list, then the displayed information is limited to the jobs in the job list.
The -u user,... option limits the output to jobs associated with users in the user list. If the -u user,...
option is not specified, then information on queues or jobs of the current user are displayed.
15-128 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The -t option displays extended information about the subtasks of each displayed job. This is equivalent to the -g t option. The -r option displays extended information about the resource requirements of the displayed jobs.
See the SGE manual pages for more information.
Related Topics
Integration with Sun Grid Engine (SGE)
Ansoft Desktop -monitor Command Line Option for SGE
Example SGE qsub Command Lines
Issue with qrsh (SGE)
Issue with MainWin Core Services for SGE

Ansoft Desktop -monitor Command Line Option for SGE


The Ansoft -monitor command line option enables batch job output to the standard output and
standard error streams. The warning, info, and progress messages are sent to the standard output
stream. The error and fatal messages are sent to the standard error stream.
The SGE scheduler redirects the standard output and standard error streams of batch jobs to files
specified in the qsub -o [[hostname]:]path,... and the -e [[hostname]:]path,... command line
options, respectively. If either option is not specified, then the associated stream is redirected to the
default file pathname.
The qsub -j y[es] | n[o] controls whether the standard output and standard error streams are
merged. If the y or yes value is specified, then the standard error stream is merged into the standard
output stream. If the -e host_and_path option is also specified in this case, the host_and_path setting is ignored. If the n or no value is specified, or if this option is not specified, then the standard
error stream and standard output stream are not merged.
You can monitor the progress of a job by checking the standard output file for progress, info and
warning messages, and checking the standard error file for error and fatal messages.
Related Topics
Integration with Sun Grid Engine (SGE)
Monitoring Ansoft SGE Batch Jobs
Example SGE qsub Command Lines
Recommended Practices for SGE Clusters
Issue with qrsh (SGE)
Issue with MainWin Core Services for SGE

Running Simulations 15-129

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example SGE qsub Command Lines


Note

The following examples show how to submit Linux Maxwell jobs on SGE, but similar
command lines will work for other ANSYS Electromagnetics products.

Serial job using command line:


qsub -b y /opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
~/projects/OptimTee.mxwl

The -b y option indicates that maxwell is launched directly from the command line, instead of
using a script.
No queue is specified, so the default queue will be used

Serial job with a hard runtime limit of 15 minutes:


qsub -b y -l h_rt=00:15:00 /opt/Ansoft/Maxwell16.0/maxwell _
-ng -BatchSolve ~/projects/OptimTee.mxwl

The -l h_rt=00:15:00 option indicates that this job has a "hard" runtime limit of 15 minutes.

Serial job using a script, with a runtime limit specified in the script:
qsub

~/sge/scripts/OptimTee.csh

The -b y option is absent, so the script ~/sge/scripts/OptimTee.csh will be run when the job
starts.
The script file OptimTee.csh may contain SGE directives in addition to the command(s) to run.
In this example, a directive with a hard runtime limit if 15 minutes is included in the script.

Script file contents:


#!/bin/csh
#$ -l h_rt=00:15:00
/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve _
~/projects/OptimTee.mxwl

The SGE directive #$ -l h_rt=00:15:00 is equivalent to including -l h_rt=00:15:00 on the qsub


command line.

Distributed processing job using 4 engines:


qsub -b y -pe pe1 4 /opt/Ansoft/Maxwell16.0/maxwell _
-ng -BatchSolve -Distributed ~/projects/OptimTee.mxwl

The -b y option indicates that maxwell is launched directly from the command line, instead of
using a script.
The -pe pe1 4 command_line option indicates that this is a parallel job running under the pe1
parallel environment, and that 4 cores or processors are allocated to this parallel job.
The -Distributed option indicates that this is a DSO job, so that multiple engines will be
started. Because 4 cores are allocated to the job, the job will run 4 engines.

Related Topics
Integration with Sun Grid Engine (SGE)
15-130 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Monitoring Ansoft SGE Batch Jobs


Ansoft Desktop -monitor Command Line Option for SGE
Recommended Practices for SGE Clusters
Issue with qrsh (SGE)
Issue with MainWin Core Services for SGE

Recommended Practices for SGE Clusters


The following subsections contain recommendations on how to set up an SGE cluster for efficiently running Ansoft serial and parallel jobs. These recommendations require the cluster administrator to make configuration changes.
Submitting Exclusive Jobs
Consumable Memory Limits
Serial Jobs in SGE
Parallel Jobs in SGE
Using Multithreading with Parallel Jobs
Submitting Exclusive Jobs
In many cases, clusters are used to run "large" Ansoft batch jobs. That is, these are jobs that may
require a large quantity of resources, such as processors, memory, disk space, or run time. One way
to ensure that the resources needed by the batch job are available to the job is to run the job in an
"exclusive" mode. That is, any host running the job is not available for use by any other jobs. There
is no SGE built in mechanism for specifying that a job is "exclusive". SGE is extensible, and it is
not difficult to configure the cluster to allow exclusive jobs. The steps below show one way to do
this. This example requires SGE 6.2u3 or later. Note that specifying a job as "exclusive" may delay
the start of the job if there are not enough hosts available to run the job exclusively.
1.

Use the command qconf -mcto add a new complex to the table of complexes. Recommended
attributes are:

2.

name : exclusive
shortcut : excl
type : BOOL
relop : EXCL
requestable : YES
consumable : YES
default : 0
urgency : 0

Set the value of "exclusive" to TRUE for each execution host using the command qconf -me
hostname, where hostnameis the name of the host. The values of all host configuration parameters may be displayed using the command qconf -se hostname. The "complex_values" line
should look similar to:
Running Simulations 15-131

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

complex_values exclusive=TRUE, but other values may also be included.


3.

When submitting a job, the job will be "exclusive" if the value "excl" is included in the
resource list specified by the qsub -l option. If the resource list does not include "excl" then the
job will not be exclusive, and other jobs may run on the same host or hosts as this job.

4.

Example qsub command line for exclusive serial job:


qsub -b y -l excl /opt/Ansoft/Maxwell16.0/maxwell -ng _
-BatchSolve ~/projects/OptimTee.mxwl.
Although serial jobs use only one slot, no other jobs will run on the host where this job is running, even if additional slots are present.

5.

Example qsub command line for exclusive parallel job using eight engines, each using a single
thread of execution:
qsub -b y -l excl -pe pe1 8 /opt/Ansoft/Maxwell16.0/maxwell -ng
-BatchSolve -Distributed -machinelist num=8
~/projects/OptimTee.mxwl
None of the hosts used for this job will be allowed to run other jobs while this job is running.

Consumable Memory Limits


SGE contains several built-in complexes related to memory, including mem_total, for example, but
none of these are "consumable". If a job is submitted with resource list including one of these nonconsumable memory complexes (such as mem_total), then the job will run on a host or hosts only if
sufficient memory is available. If a second job is submitted, the memory request for the second job
is compared to the original total when determining if the job may run on a host. This may result in
both jobs running out of memory. For example, if host A has mem_total=16G of memory, and two
jobs are submitting with option "-l mt=16G", then both jobs could run on host A, if sufficient slots
are available on host A.
SGE allows complexes to be "consumable" to avoid this type of problem. If a complex is consumable and a job requests x amount of the complex in the -l resource list, then the available amount of
the resource is decreased by x for subsequent jobs. For the same example as above, if the
mem_total complex was consumable, then the first job would run on host A. This would decrease
the available mem_total from 16G to 16G-16G = 0. The second job could not run on host A
because there is no memory available for this job.
The steps below show how to set up a consumable resource called physical_memory to accomplish
the same thing. We do not recommend changing the behavior of the built-in complexes (such as
mem_total) because other scripts may expect normal behavior of the built-in complexes.
1.

Use the command qconf -mcto add a new complex to the table of complexes. Recommended
attributes are:

name : physical_memory
shortcut : phys_mem
type : MEMORY
relop : <=

15-132 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

requestable : YES
consumable : YES
default : 0
urgency : 0

Set the value of "physical_memory" to an appropriate value for each execution host using the
command qconf -me hostname, where hostnameis the name of the host. The appropriate value
is the actual physical memory on each host. Because the type is MEMORY, the K, M, and G
suffixes may be used to represent kilobytes, megabytes and gigabytes. The values of all host
configuration parameters may be displayed using the command qconf -se hostname. The
"complex_values" line should look similar to:
complex_values physical_memory=16G,
but other values may also be included, and the memory value should be appropriate for the
host.

3.

When submitting a job, the physical memory requirement per slot may be specified in the
resource list as follows: -l phys_mem=mem_needed. The number of slots assigned to the job
on a specific host will be limited by the number of slots available on the host, and also by the
physical_memory available on the host.

Serial Jobs in SGE


If a serial job is submitted with the option -l phys_mem=mem_neededincluded, then the job may
only run on a host in which the remaining physical_memory is equal to or greater than the
mem_neededvalue.
Example 1: Host A has physical_memory=16G, and host B has physical_memory=8G. If
mem_neededis 8G, the job may run on either host A or host B. If mem_neededis 16G, then the job
may only run on host A.
Example 2: Host A has physical_memory=16G, and host B has physical_memory=8G. Job 1 is
already running on host A, and it was submitted with option -l phys_mem=8G. If job 2 is submitted
with option -l phys_mem=16G, then job 2 cannot start until job 1 finishes, because only host A has
16GB of physical_memory. If job 2 is submitted with option -l phys_mem=8G, then job 2 may start
immediately, and run on either host A or host B, because both hosts have 8G of physical_memory
remaining.
Parallel Jobs in SGE
Because the consumable setting for physical_memory is YES (and not JOB), each slot of the job
requires a physical_memory of mem_needed. The number of slots on a host assigned to the job is
limited by the number of available slots on the host. It is also limited by the physical_memory
available on the host; the number of slots assigned to the job cannot exceed the available
physical_memory on the host divided by the mem_neededspecification.
Example 1: Execution host A and execution host B both have 4 slots per host (configured in the
queue associated with the parallel environment). Host A has physical_memory=16G and host B has
physical_memory=8G (shown by commands qconf -se Aand qconf -se B). If a a job is submitted

Running Simulations 15-133

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

that requires 6 slots and 4G per slot, it will be able to run, with 4 slots on host A and 2 slots on host
B. The qsub command might look like: qsub -l phys_mem=4G -pe pe_name 6 command args
Example 2: Same as example 1, except that 7 slots are requested. In this case, the job will never
run. Although there are 8 slots available on hosts A and B, only two of the slots on host B are
usable by this job because it only has physical_memory of 8G. With only 6 slots total available to
this job (4 on host A and 2 on host B), the job can not start. In this case the command might look
like: qsub -l phys_mem=4G -pe pe_name 7 command args
Using Multithreading with Parallel Jobs
For large jobs it may be useful to combine multiprocessing with distributed processing. Distributed
processing refers to starting multiple processes, in which each process performs a portion of the
analysis. These processes may run on the same host or on different hosts. The number of processes
running at the same time is known as the number of "analysis engines". Multiprocessing refers to
using multiple threads within a single process to decrease the run time of the process. Multiprocessing may also be called multi-threaded processing.
As a concrete example of combining multiprocessing with distributed processing, an analysis could
run with four engines, where each engine uses two threads. In order to distribute the processing
load so that no processor is overloaded, one slot is generally allocated per thread, so 8 slots would
be needed for this example (4 engines * 2 threads per engine = 8 threads). The four engines could
all run on a single host, or they could be distributed across 2, 3 or 4 hosts, depending on available
slots. Each engine represents a single process, so the two slots for each engine must be allocated on
the same host.
This section describes how to set up an SGE cluster so that a specified number of slots per host may
be requested when a job is submitted. This procedure will require the cluster administrator privileges. This capability may be used to submit parallel jobs in which one engine runs on each host,
and the number of slots per host matches the number of threads used by each engine.
1.

Let n be the largest number of slots available on any host used for the jobs. Create a separate
parallel environment for each value of the number of slots per host from 1 to n. For example,
pe_sph1 is a parallel environment in which one slot is allocated to the job per host, pe_sph2 is
a parallel environment in which two slots are allocated to the job per host, etc. The command
qconf -ap pe_namemay be used to create each new parallel environment. The allocation_rule
parameter should be set to the number of slots per host, an integer from 1 to n. The
control_slaves parameter should be set to TRUE, as described above. The slots parameter
should be set to the maximum number of slots managed by this pearallel_environment, which
is typically set to a large number, such as 999. The other parameters should be set to values
appropriate for the cluster. For example, the pe_sph2 parallel environment might have the following parameters:

pe_name : pe_sph2
slots : 999
user_lists : NONE
xuser_lists : NONE
start_proc_args : /bin/true

15-134 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

stop_proc_args : /bin/true
allocation_rule : 2
control_slaves : TRUE
job_is_first_task : FALSE
urgency_slots : min
accounting_summary : TRUE

When submitting a job, use the parallel environment where the slots per host matches the number of threads per engine.

The batchoptions setting for 'Maxwell/Preferences/NumberOfProcessorsDistributed' controls the


number of threads per distributed engine. This should be set to match the number of slots per host.
With any analysis, a portion of the analysis may not be distributed across multiple engines. Multiprocessing may be used with this portion of the analysis using the batchoptions setting for 'Maxwell/Preferences/NumberOfProcessors'. This value should also be set to match the number of slots
per host because this portion of the analysis will run on one of the hosts allocated to the job.
Example qsub command line for running distributed processing with four engines and multiprocessing with two threads per engine:
qsub -V -b y -pe pe_sph2 8 "/opt/Ansoft/Maxwell16.0/maxwell -ng -BatchSolve -Distributed machinelist num=4 -batchoptions "\""'Maxwell/Preferences/NumberOfProcessorsDistributed'=2
'Maxwell/Preferences/NumberOfProcessors'=2"\"" ~/projects/OptimTee.mxwl"
The -Voption indicates that the all environment variables in the submission environment should be
copied to the job environment.

The -b y option indicates that Maxwell is launched directly from the command line, instead of
using a script.
The -pe sph2 8 command_lineoption indicates that this is a parallel job running under the
pe_sph2parallel environment so that two slots are allocated to this job from each host, and that
8 slots in total are allocated to this parallel job.
The -Distributedoption indicates that this is a DSO job, so that multiple engines will be started.
The -machinelist num=4option indicates that a total of four engines will be started.
The 'Maxwell/Preferences/NumberOfProcessorsDistributed'=2batchoption indicates that the
distributed analysis engines should use two cores for multi-processing.
The 'Maxwell/Preferences/NumberOfProcessors'=2batchoption indicates that the portion of
the analysis that is not distributed should use two cores for multi-processing.
The entire Maxwellcommand is in double quotes, and the double quotes enclosing the batchoptions value are escaped. Each of these double quotes is replaced by the sequence "\"".

Related Topics
Integration with Sun Grid Engine (SGE)
Monitoring Ansoft SGE Batch Jobs
Ansoft Desktop -monitor Command Line Option for SGE
Running Simulations 15-135

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Issue with qrsh (SGE)


Issue with MainWin Core Services for SGE

Issue with qrsh (SGE)


Ansoft parallel batch jobs use the SGE qrsh command to launch engine processes on remote hosts.
If the qrsh command is not working correctly, then the parallel job is unable to launch engine processes on remote hosts. If this problem occurs, the batch log for the job typically includes one or
more error messages indicating that a COM engine was unable to be started on a remote host. If this
occurs, the user or cluster administrator should verify that the SGE qrsh command is working correctly, and correct the problem if the SGE qrsh command is not working correctly.
The qrsh command may be tested by running a simple command on a specified host, such as qrsh
-l hostname=host1 hostname or qrsh -l hostname=host1 ls /tmp, where host1 is the remote host
name. The first test should simply echo back the hostname of the remote machine. The second test
should list the contents of the /tmp directory on the remote machine.
The failures of the SGE qrsh command are associated with the following global sge configuration
parameters, listed below with values that may cause the failures:
qrsh_command

/usr/bin/ssh -t

rsh_command

/usr/bin/ssh -t

rlogin_command

/usr/bin/ssh -t

If these parameter settings are removed, then the SGE built-in mechanisms are used for qrsh, rsh,
and rlogin. No problems with the built-in versions have been reported. The SGE qconf -sconf
global command may be used to view these parameter settings. The SGE qconf -mconf global command may be used to modify or remove these parameter settings.

Issue with MainWin Core Services for SGE


By default, SGE creates a temporary directory for each SGE batch job, and deletes this temporary
directory and its contents when the job finishes. SGE sets the TMP and TMPDIR environment variables of the job environment to point to this temporary directory. Ansoft desktop software starts the
MainWin Core Services on startup, if they are not already running. After the Ansoft desktop software finishes, the MainWin Core Services time out and automatically shut down. The MainWin
Core Services use the TMP and/or TMPDIR directories to store temporary data. If this temporary
data is removed before the services shut down, then the services do not shut down automatically.
Normally, SGE will remove the temporary directory and its contents before the services time out.
The result is that these extraneous service processes run forever. If this problem occurs, each
Ansoft batch job starts an additional set of these services that never shut down. This can result in an
excessive number of processes running on the host where the Ansoft desktop is started. The names
of the service processes are:

watchdog
regss
mwrpcss

15-136 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Workaround for Issue with MainWin Core Services


One way to avoid this problem is to modify the environment in which the Ansoft desktop runs so
that the TMP and TMPDIR environment variables do not point to the directory which will be
immediately removed by SGE when the job finishes. This can be done by copying the value of the
TMPDIR environment variable to the ANS_SGE_TMPDIR environment variable, and unsetting
the TMPDIR and TMP environment variables. The servcies ignore the ANS_SGE_TMPDIR environment variable, but if this variable is set, then it will be used as the temporary directory for the
rest of the Ansoft software.
Here is an example bash wrapper script that may be used to work around this issue. In this example,
the product is maxwell, but the same approach will work for any Ansoft product. In this example,
the script is named sge_maxwell and is in the Ansoft software installation directory. When an
Ansoft desktop job is submitted to the SGE scheduler, the script (sge_maxwell, in this example)
should be submitted instead of maxwell. The script will modify the environment, as needed, then
start maxwell. When the analysis finishes, the script returns the exit status of maxwell.
An alternative is to place the script in an arbitrary directory, and modify the script to include an
absolute path to the product (maxwell in this example).
Script contents:
#! /bin/bash
# This script will not correctly process arguments containing
# spaces or other characters special to the shell.
# Create maxwell command line
# In this example, sge_maxwell and maxwell are in the same directory
# An alternative is to use an absolute path for the maxwell command
cmd0=$0
cmd="${cmd0/%sge_maxwell/maxwell} $@"
# Fix environment variables
export ANS_SGE_TMPDIR=${TMPDIR}
unset TMPDIR
unset TMP
# Run the maxwell command and return the exit status
${cmd}
exit $?

Related Topics
Integration with Sun Grid Engine (SGE)
Monitoring Ansoft SGE Batch Jobs
Ansoft Desktop -monitor Command Line Option for SGE
Running Simulations 15-137

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example SGE qsub Command Lines


Issue with MainWin Core Services for SGE
Recommended Practices for SGE Clusters

Command Line Enhancements for Ansoft Desktop Products


Any Tools>Options setting can be specified via command line, using corresponding registry keys.
Examples
simplorer.exe batchsolve
batchoptions _
Simplorer/Preferences/NumberOfProcessors=4 _
Simplorer/Preferences/NumberOfProcessorsDistributed=2_
projectname.asmp
simplorer.exe batchsolve batchoptions registry.txt _
projectname.asmp
Registry.txt contains:
$begin 'Config'
'Simplorer/Preferences/NumberOfProcessors'=4
'Simplorer/Preferences/NumberOfProcessorsDistributed'=2
$end 'Config'
Distributed Jobs
An Ansoft batch job which distributes the analysis over several hosts may also be called a distributed job. To submit a distributed job, the following Ansoft desktop command line options should
be used:

The -Distributed option should be present, and the -Local option should be absent. When running as a batch job under one of the schedulers with direct integration, this option is a directive
to the job to 1) obtain the list of hosts allocated to the job, directly from the scheduler, and to 2)
use the scheduler to launch the analysis engines on the hosts allocated to the job.
The -Machinelist num=num_distributed_engines option should be included, where
num_distributed_engines is the total number of analysis engines to be started on the hosts
assigned to the job.

Other examples:

Serial Job on a Single Processor


Distributed Job using Four Processors
Multiprocessing Job Using Four Cores
Distributed Analysis and Multi-Processing in the Same Job

15-138 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Serial Job on a Single Processor


Suppose Simplorer is installed at c:\Simplorer11.0 and you are using Ansoft RSM for remoteanalysis/DSO:
C:\ Simplorer11.0\simplorer.exe ng BatchSolve
monitor \\shared_drive\projs\capacitor.asmp

remote 10.1.1.221 _

User is using LSF for remote-analysis/DSO


bsub n 1 C:\ Simplorer11.0\simplorer.exe ng BatchSolve -monitor
local_ \\shared_drive\projs\capacitor.asmp

Distributed Job using Four Processors


Ansoft RSM
C:\ Simplorer11.0\simplorer.exeng Batchsolve -monitor Distributed _
machinelist list=10.1.1.221, 10.1.1.222, 10.1.1.223,_ 10.1.1.224
\\shared_drive\projs\capacitor.asmp

LSF
bsub n 4 C:\ Simplorer11.0\simplorer.exe ng Batchsolve monitor _
Distributed machinelist num=4 _
\\shared_drive\projs\capacitor.asmp

Multiprocessing Job Using Four Cores


Multi-processing job using 4 cores
bsub n 4 R span[ptile=4] C:\ Simplorer11.0\simplorer.exe ng
-monitor Local BatchSolve batchoptions \\shared_drive\registry.txt
_ \\shared_drive\projs\capacitor.asmp

This requests 4 cores to come from the same machine, as multi-processing needs cores to be on the
same machine
Distributed Analysis and Multi-Processing in the Same Job
Distributed-processing using 4 engines and multi-processing using 4 cores, using a total of 16 cores
bsub n 16 R span[ptile=4] c:\Simplorer11.0\maxwell.exe
BatchSolve Distributed machinelist num=4 _
batchoptions \\shared_drive\registry.txt _
\\shared_drive\projs\capacitor.asmp

ng _

Related Topics
Running Simplorer from a Command Line
Integration with Platforms Load Sharing Facility (LSF)
General Terminology for LSF
What a Scheduler Does
Installation of Ansoft Tools on LSF Cluster
Integration of Ansoft Products with LSF
LSF Job Submission Guidelines
Running Simulations 15-139

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Known Issues for LSF


Troubleshooting for LSF
Aborting an Analysis

Integrating Ansoft Tools with Third Party Schedulers


This section indicates how to create a dynamically linked library to allow integration of Ansoft
tools with an arbitrary scheduler environment. Each scheduler proxy library is used for a single specific scheduler environment. If the library is installed with a valid name and in the correct location,
then it will automatically be loaded and used by Ansoft tools.
Installation Details
The scheduler proxy library must be installed in the schedulers subdirectory of the Ansoft installation directory. For example, if the Ansoft installation directory is
C:\Program Files\AnsysEM\Simplorer11.0\Windows, then the scheduler proxy library must be
installed in directory C:\Program Files\AnsysEM\Simplorer11.0\Windows\schedulers.
The scheduler proxy library base name must match "libprefix_scheduler" on Windows and
"liblibprefix_scheduler" on Linux. The extension must be a valid extension for a dynamically
loaded library on the platform where it is used. The scheduler proxy library name prefix libprefix
shall be unique, so it does not conflict with other scheduler proxy libraries in the same directory. To
avoid confusion, the scheduler proxy library name should be all lower case on OSs where file
names are case sensitive.
Related Topics
Build Information for Scheduler Proxy Library
Implementation Details for Custom Scheduler Integration
Testing Your Scheduler Integration
Troubleshooting Custom Scheduler Integration

Build Information for Scheduler Proxy Library


This section contains the recommended compiler and linker settings for building a scheduler proxy
library.
Microsoft Windows
The proxy library should be compiled and linked as a 32 bit DLL, using the following recommended compiler and linker options:
Compiler Options

Use of MFC: Use Standard Windows Libraries


Character Set: Use Multi-Byte Character Set [/D "_MBCS"]
Runtime Library: Multi-threaded DLL [/MD]
Calling Convention: __cdecl [/Gd (default)]
Linker Options:
Create a DLL [/DLL]

15-140 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

32 bit code [MACHINE:X86]

Linux
The proxy library should be compiled and linked as shared library (*.so) file. The following compiler and linker options are recommended when building using gcc/g++:
Compiler Options

Generate 32 bit code: [-m32]


Generate position independent code, suitable for use in a shared library: [-fpic]
Generate code compatible with pthreads library: [-pthread]

Linker Options:

Create a shared object file: [-shared]


Generate 32 bit code: [-m32]
Generate position independent code, suitable for use in a shared library: [-fpic]
Generate code compatible with pthreads library: [-pthread]

Implementation Details for Custom Scheduler Integration


Function Name Prefix
Each exported function will have a scheduler specific function name prefix. The function name prefix will be the same as the library name prefix, except that it is converted to upper case. For example, if the library name prefix is "lsf", then the function name prefix is "LSF". In the examples
below, we use FN_PREFIX to denote the function name prefix.
The scheduler proxy library must provide implementations of the following extern "C" functions:

IsProductLaunchedInYourEnvironment
GetTempDirectory
GetMachineListAvailableForDistribution
LaunchProcess
GetUseRsmForEngineLaunch
GetThisJobID
GetSchedulerDisplayName

IsProductLaunchedInYourEnvironment
Purpose
Determine if the program is running in the context of the scheduler for which this library was
written.
Signature
extern "C" bool FN_PREFIX_IsProductLaunchedInYourEnvironment();
Arguments
None.
Return Value
Running Simulations 15-141

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Returns true if the current process is running as a job of the scheduler. Otherwise, false is
returned.
Notes
For many schedulers, the presence of certain environment variables or their values may be checked
to determine if the current process is running as a job of the scheduler.

GetTempDirectory
Purpose
Get the pathname of the temporary directory provided by the scheduler for the current job. The
pathname is an empty string if the scheduler does not provide a temporary directory for the
current job.
Signature
extern "C" bool FN_PREFIX_GetTempDirectory(char * buffer,
unsigned int* length);
Arguments
buffer: Pointer to a character buffer to contain the temporary directory path name or NULL.
length: Pointer to a location to contain the length of the buffer. Must be a valid pointer to an
unsigned int.
Return Value
If argument buffer is NULL, then then required length of the buffer is stored in the location to
which argument length points, and true is returned.
If argument buffer is not NULL, then the value to which argument length points (the buffer
length) is checked. If it is large enough to contain the pathname of the temporary directory,
including the terminal null byte, then the pathname is copied to the buffer and true is returned.
If the buffer length is insufficient for the pathname of the temporary directory, then the buffer
is unchanged, and false is returned.
Notes
To get the pathname of the temporary directory, the infrastructure first calls this function with a
NULL buffer, and obtains the required length of the buffer for the pathname. After creating a buffer
of the appropriate size, the infrastructure calls this function again, passing the pointer to the buffer
in the buffer argument and a pointer to the size of the buffer in the length argument.

GetMachineListAvailableForDistribution
Purpose
Get the list of hosts allocated to the current job. A host will appear in the list multiple times if
the scheduler has allocated multiple processors or cores on the host to the job. The number of
times the host appears in the list is equal to the number of processors or cores of the host that
are allocated to the current job. The list is a text string containing a space separated list of hostnames.
Signature
15-142 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

extern "C" bool


FN_PREFIX_GetMachineListAvailableForDistribution(char * buffer,
unsigned int* length);
Arguments
buffer: Pointer to a character buffer to contain the list of machines available for distribution
or NULL.
length: Pointer to a location to contain the length of the buffer. Must be a valid pointer to an
unsigned int.
Return Value
If argument buffer is NULL, then then required length of the buffer is stored in the location to
which argument length points, and true is returned.
If argument buffer is not NULL, then the value to which argument length points (the buffer
length) is checked. If it is large enough to contain the lists of hosts, including the terminal null
byte, then the list is copied to the buffer and true is returned. If the buffer length is insufficient
for the list of hosts, then the buffer is unchanged, and false is returned.
Notes
To get the list of hosts for distribution, the infrastructure first calls this function with a NULL buffer, and obtains the required length of the buffer for the list. After creating a buffer of the appropriate size, the infrastructure calls this function again, passing the pointer to the buffer in the buffer
argument and a pointer to the size of the buffer in the length argument.
The hostnames in the list provided by this function shall be used in calls to LaunchProcess(). These
host names must be in a format that is accepted by that function. See the section below on LaunchProcess.

LaunchProcess
Purpose
Launch a local or remote process to run an analysis engine. This function is called by the
Ansoft desktop application to launch an engine process on a specified host. The hostname is
one of the names in the list provided by the GetMachineListAvailableForDistribution function.
See the GetMachineListAvailableForDistribution section above. If the hostname does not refer
to the local host, then this function shall use the scheduler to launch the engine on the specified
host. If the hostname refers to the local host, then the engine may be started as a child process,
or it may be started using the scheduler.
Signature
extern "C" int FN_PREFIX_LaunchProcess(const char* hostName,
const char* exePathName, const char* arg1, const char* arg2);
Arguments
hostName: The name of the host where the process is to be launched.
exePathName: The pathname of the analysis engine executable to be started.
Running Simulations 15-143

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

arg1: The first argument of the analysis engine command line.


arg2: The second argument of the analysis engine command line.
Return Value
Returns 0 on success. Returns a non-zero value if an error occurs.
Notes
The hostName argument will be one of the hostnames provided by the function GetMachineListAvailableForDistribution().
If the hostName argument is the same as the current host, then the analysis engine process may be
started as a child process. If the hostName argument is not the same as the current host, then the
analysis engine process will be started on the remote host using the facilities available in the scheduler environment. The command line of the analysis engine process is exePathName arg1
arg2. The command line arguments arg1 and arg2 may contain newlines, tabs, spaces or other
characters that are interpreted by the command processor, such as single quote (') or double quote
(") characters, or dollar signs ($). Newlines or tabs may be replaced by spaces, if the newline or tab
characters cannot be easily handled. If the analysis engine command is processed by a shell, then it
may be necessary to quote any special characters in the exePathName or in the arguments so
that the special meaning is removed. If a scheduler command is used to request the scheduler to
launch the command to start the engine process, the analysis engine command may be processed by
the shell twice: once when the scheduler command is processed, and a second time when the analysis engine process is started. If this is the case, then the quoting of special characters needs to
account for two passes through the command processor.

GetUseRsmForEngineLaunch
Purpose
This function is optional. If this feature is not needed, then the function need not be implemented. Most schedulers should not need this feature.
For some schedulers, it may be desirable for the Ansoft RSM service to launch the engine processes instead of using the scheduler proxy library. For example, if the scheduler proxy library
is limited to launching one process per host, then the scheduler proxy library may be used to
launch one Ansoft RSM service executable per host, and the Ansoft RSM executable will
launch all of the engine processes.
If the Ansoft RSM service should be used to launch engine processes for this scheduler, then
this function shall be implemented and it shall return true.
If the Ansoft RSM service should not be used to launch engine processes for this scheduler,
then this function is not required. If it is implemented, it should return false. If it is not implemented, it will be treated the same as if it was implemented and returns false.
Signature
extern "C" bool FN_PREFIX_GetUseRsmForEngineLaunch(void)
Arguments
None.
15-144 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Return Value
Returns true if the Ansoft RSM service should be used to launch engine processes for this
scheduler. Returns false if the Ansoft RSM service should not be used to launch engine processes for this scheduler.
Notes
This function is optional. If not implemented, then it is treated the same as if it was implemented
and returns false.

GetThisJobID
Purpose
Get a string identifying the job currently running in the scheduler environment. This string is
displayed to the end user to identify the job.
Signature
extern "C" bool FN_PREFIX_GetThisJobID(char * buffer, unsigned
int* length);
Arguments
buffer: Pointer to a character buffer to contain the Job ID or NULL.
length: Pointer to a location to contain the length of the buffer. Must be a valid pointer to an
unsigned int.
Return Value
If argument buffer is NULL, then then required length of the buffer is stored in the location to
which argument length points, and true is returned.
If argument buffer is not NULL, then the value to which argument length points (the buffer
length) is checked. If it is large enough to contain the string identifying the current job, including the terminal null byte, then the job ID is copied to the buffer and true is returned. If the buffer length is insufficient for the job ID, then the buffer is unchanged, and false is returned.
Notes
To get the job ID, the infrastructure first calls this function with a NULL buffer, and obtains the
required length of the buffer for the job ID. After creating a buffer of the appropriate size, the infrastructure calls this function again, passing the pointer to the buffer in the buffer argument and a
pointer to the size of the buffer in the length argument.
For many schedulers, the job ID may be obtained from the value of an environment variable.

GetSchedulerDisplayName
Purpose
Get a string identifying the scheduler associated with the current scheduler proxy library. This
string is displayed to the end user to identify the scheduler.
Signature
extern "C" bool FN_PREFIX_GetSchedulerDisplayName(char *
buffer, unsigned int* length);
Running Simulations 15-145

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Arguments
buffer: Pointer to a character buffer to contain the scheduler display name or NULL.
length: Pointer to a location to contain the length of the buffer. Must be a valid pointer to an
unsigned int.
Return Value
If argument buffer is NULL, then then required length of the buffer is stored in the location to
which argument length points, and true is returned.
If argument buffer is not NULL, then the value to which argument length points (the buffer
length) is checked. If it is large enough to contain the scheduler display name, including the
terminal null byte, then the scheduler display name is copied to the buffer and true is returned.
If the buffer length is insufficient for the scheduler display name, then the buffer is unchanged,
and false is returned.
Notes
To get the scheduler display name, the infrastructure first calls this function with a NULL buffer,
and obtains the required length of the buffer for the scheduler display name. After creating a buffer
of the appropriate size, the infrastructure calls this function again, passing the pointer to the buffer
in the buffer argument and a pointer to the size of the buffer in the length argument.
The scheduler display name is generally a fixed string.

Scheduler Proxy Interfaces


Scheduler proxy supports the following new graphical interface functions. The scheduler specific
prefix of each function is not shown in this listing.
void Initialize(const std::string& config):
Initialize the proxy library for scheduler interaction. The config argument contains scheduler
specific initialization information.
int CheckEnvironment(std::string& msg):
Check the environment in which the proxy library is running.

Returns 0 (success) if the environment is appropriate for submitting jobs to the scheduler.
Returns a non-zero error code if the environment is incorrect. If a non-zero error code is
returned, an error message to display to the user is written to the msg argument.

int GetSchedulerInfo(std::string& msg, std::string& schedulerName, std::string& schedulerDescription, std::string& schedulerVersion):


This function returns some basic information about the scheduler with which the scheduler
proxy library interacts.

On success, 0 is returned, and the scheduler name, scheduler description, and scheduler
version are written to the schedulerName, schedulerDescription and schedulerVersion
arguments.
On failure, a non-zero error code is returned, and an error message to display to the user is
written to the msg argument.

15-146 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

int GetComputeResourceAttributes(std::string& msg, AttributeDefinitionsStruct& attributeDefs):


The Compute Resource Selection Parameters dialog allows the user to specify scheduler
specific resources. This function returns the information used to create and populate the Compute Resource Selection Parameters dialog.

Each line in the dialog is defined by a single attribute definition in the attributeDefs argument.
An attribute definition defines the name and description of an attribute, as well as information
about the allowed values and the default value. In general, only the most commonly specified
job attributes are included in the attributeDefs argument.

On success, 0 is returned, and the attribute definitions are written to the attributeDefs
Running Simulations 15-147

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

argument.

On failure, a non-zero error code is returned, and an error message to display to the user is
written to the msg argument.
If the scheduler proxy library does not support any attributes using this approach, the
attributeDefs argument will contain no attribute definitions, and 0 will be returned.

int AbortJob(std::string& msg, const std::string& jobID, bool force, const SubmissionUserStruct& submissionUser):
This function requests the scheduler to abort a job identified by the jobID argument. If the
force argument is true, then errors should be ignored (the exact behavior is scheduler specific).
The submissionUser argument contains information about the client user (the user running the
Desktop process). The request to abort the job should run in the context of this user. If no user
is specified, then the request to abort the job runs as the user of the process or thread running
the function.

If the request is successfully submitted, then 0 is returned.


If there is an error, then a non-zero error code is returned, and an error message to display
to the user is written to the msg argument.

int SubmitUniformJob(std::string& msg, std::string& jobID, const CmdLineStruct& cmdLineInfo, const JobParallelizationStruct& jobParallelization, const UniformComputeResourcesStruct& computeResources, const JobOptionsStruct& jobOptions, const
JobAtributesStruct& jobAttributes, const SubmissionUserStruct& submissionUser,const
IJobParameters* jobParametersCB):
This function submits a job to the scheduler.

On success, 0 is returned, and the job identifier of the newly submitted job is written to the
jobID argument.
On failure, a non-zero error code is returned, and an error message to display to the user is
written to the msg argument.

This function is used to submit jobs to the scheduler in which the resources allocated to the job
are uniformly distributed across the nodes allocated to the job. All other arguments are input
arguments, and they are described below:
The cmdLineInfo argument contains the command line arguments. The first argument is the command name.
The jobParallelization argument contains information on how the job should be parallelized. It
contains the following integral parameters:

the total number of distributed engines,


the number of cores to allocate for each distributed engine,
the maximum number of engines to allocate to a single node (optional), and
the number of cores to allocated for the non-distributed portion of the analysis.
It also contains a boolean parameter indicating whether nodes used for this job should be
exclusively allocated to this job.

15-148 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The computeResources argument is a reference to an object of type UniformComputeResourcesStruct. This struct contains zero or more resource attribute settings for the job. Each resource attribute setting consists or a resource name and a resource value. The resource name is the name of one
of the resources defined in the AttributeDefinitionsStruct filled in by the GetComputeResourceAttributes() function. The resource attribute value is the value specified for the resource attribute
by the user using the Compute Resource Selection Parameters dialog. If no resource attributes
are specified by the user in this dialog, then the computeResources argument will contain no
resource attribute settings.
The jobOptions argument contains the environment variable settings for the job.
The jobAttributes argument contains job submission attributes which are not necessarily related to
the compute resources allocated to the job. The job name and the requested job priority are included
in this data structure. The SchedulerOptions tab of the Job Submission dialog allows the user to

Running Simulations 15-149

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

either specify additional job submission options or to specify all submission options, replacing the
settings from the other Job Submission dialog controls.

The user specified submission options are included in this data structure, as well as a boolean
setting indicating whether the user specified options are in addition to the automatically generated options, or whether they replace the automatically generated submission options.
The submissionUser argument contains information about the client user (the user running the
Desktop process). The job is submitted to the scheduler to run as this user.
The jobParametersCB argument is a pointer to an object that implements the IJobParameters interface. This interface allows the scheduler proxy library to get additional information
about the job. Specifically, the GetWorkingDirectory() interface function returns the working
15-150 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

directory to be used for the job.


The cmdLineInfo argument contains the command line arguments. The first argument is the
command name.
int SubmitNonUniformJob(std::string& msg, std::string& jobID, const CmdLineStruct&
cmdLineInfo, const JobParallelizationStruct& jobParallelization, const NonUniformComputeResourcesStruct& computeResources, const JobOptionsStruct& jobOptions, const
JobAtributesStruct& jobAttributes, const SubmissionUserStruct& submissionUser,const
IJobParameters* jobParametersCB):
This function submits a job to the scheduler.

On success, 0 is returned, and the job identifier of the newly submitted job is written to the
jobID argument.
On failure, a non-zero error code is returned, and an error message to display to the user is
written to the msg argument.

This function is used to submit jobs to the scheduler in which the nodes to use and the number
of engines to run on each node are specified by the user. All other arguments are input arguments, as for the SubmitUniformJob() function. These input arguments are the same as for
the SubmitUniformJob() function, except that the computeResources argument is a reference to a NonUniformComputeResourcesStruct, as described below:
The computeResources argument is a reference to an object of type NonUniformComputeResourcesStruct. This object contains a vector of pairs, where each pair consists of the name of
a node in the cluster, and the number of engines to run on the node.
int PreviewUniformJob(std::string& msg, std::string& preview, const CmdLineStruct&
cmdLineInfo, const JobParallelizationStruct& jobParallelization, const UniformComputeResourcesStruct& computeResources, const JobOptionsStruct& jobOptions, const JobAtributesStruct& jobAttributes, const SubmissionUserStruct& submissionUser, const
IJobParameters* jobParametersCB):
This function is similar to the SubmitUniformJob() function, but instead of submitting the
job, text representing how the job will be submitted is written to the preview argument. Typically the preview text includes the job submission command and the contents of the job script
created for the job. For some schedulers, this content may not be meaningful, so the text
returned could be different.

On success, 0 is returned, and the job preview text is written to the preview argument.
On failure, a non-zero error code is returned, and an error message to display to the user is
written to the msg argument.

The other arguments are input arguments with the same meaning as for the SubmitUniformJob() function. The submissionUser argument is ignored for this function.

Testing Your Scheduler Integration


One way to test these functions is to run the analysis for an Ansoft product in batch mode. When
running in batch mode, a batch log file is created in the same directory as the project file. The batch
log file has the same base name is the project file, with an extension of ".log". For example, if the
Running Simulations 15-151

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

project file is TestProject123.asmp, then the batch file is TestProject123.log. The batch log file
contains useful information about the analysis run.
See the product specific help for details on running the product in batch mode, and for the command line options to use for distributed analysis.

Testing IsProductLaunchedInYourEnvironment
Testing GetSchedulerDisplayName and GetThisJobID
Testing GetTempDirectory
Testing GetMachineListAvailableForDistribution
Testing LaunchProcess
Testing GetUseRsmForEngineLaunch

Testing IsProductLaunchedInYourEnvironment
This function should be tested first. If the Ansoft application is not able to load and run this
function, or if it returns false, then none of the other functions will be called. If the batch analysis is running in a scheduler environment, and this function returns true, then there will be an
"info" message near the beginning of the batch log indicating that the analysis is running as a
scheduler job. This message will include the scheduler display name returned by the function
GetSchedulerDisplayName, and it will also include the job ID returned by the function
GetThisJobID. If the batch analysis is not running in a scheduler environment, then none of the
messages will include a scheduler display name or job ID.
If this message does not appear when running in a scheduler environment, ensure that the
scheduler proxy library is named correctly, that it is built correctly, that it is installed in the
correct directory, and that the function name prefix is the same is the library prefix converted
to upper case.

Testing GetSchedulerDisplayName and GetThisJobID


As described above, when running a batch job in a scheduler environment, the scheduler display name and the job ID will appear in an "info" message near the beginning of the batch log.
The values returned by these functions are copied to this message verbatim, so they can be
directly compared to the expected values.

Testing GetTempDirectory
Unfinished. The temp directory displayed in the batch log is the default installation setting, not
the one from the scheduler. The scheduler temp directory is set in AnsoftCOMApplication::MainFunction(), so it happens for COM engines, but not for the desktop.

Testing GetMachineListAvailableForDistribution
This function is used for distributed analysis. The analysis may be distributed across several
machines if portions of the analysis are independent. For example, frequency sweeps, parametric analysis and domain decomposition allow different portions of the analysis to be distributed
across machines. The analysis in a batch job will be distributed to multiple processors or hosts
if the the analysis includes a setup that may be distributed (e.g., a frequency sweep or parametric analysis) and the -Distributed option is included in the desktop command line. The list of
15-152 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

machines is displayed in an "info" message near the beginning of the batch log. The list in the
info message can be directly compared to the expected list of machines.
To verify that the machine list is constructed correctly for a variety of cases, it may be necessary to test several jobs with different resource requirements and verify that the machine list is
correct in each case. For example, one may run batch analyses with the following resource
requirements:

One processor on one host


Several processors on one host
One processor on each of several hosts
Several processors on each of several hosts

Testing LaunchProcess
This function is used to launch analysis engines in the case where the analysis is distributed across
multiple hosts. The analysis may be distributed across several machines if portions of the analysis
are independent. For example, frequency sweeps, parametric analysis and domain decomposition
allow different portions of the analysis to be distributed across machines. The analysis in a batch
job will be distributed to multiple processors or hosts if the the analysis includes a setup that may
be distributed (e.g., a frequency sweep or parametric analysis) and the -Distributed option is
included in the desktop command line. The list of machines is displayed in an "info" message near
the beginning of the batch log. The batch log may also contain info messages when portions of the
analysis distributed to different machines start or finish. These messages usually include the name
of the host when the analysis ran or will run. One can verify that the analysis is actually running on
the expected host or hosts using the Linux ps command or the Windows Task Manager.
In general, one analysis engine is started for each occurrence of each host in the list of machines
available for distribution. For example, if the list of hosts is "hostA hostA hostA hostB hostB", then
a total of 5 engines would be started, three on hostA and two on hostB. In some cases, an additional
engine is started to perform the portion of the analysis which is not distributed; if this is the case,
the non-distributed engine is idle during the portion of the analysis which is distributed. If this
occurs in the case where the list of hosts is "hostA hostA hostA hostB hostB", then a total of 6
engines would be started, but at most 5 engines would be active at any given time. When each analysis engine is running, it may start additional child processes to do a portion of the analysis, but
these are not counted as additional analysis engines because the parent of the sub-engine is inactive
(waiting for the sub-engine results) when the sub-engine is active.
Testing should be sufficient to demonstrate that the scheduler proxy library can start multiple
engine processes on the desktop host, and can also start multiple engine processes on other hosts.

Testing GetUseRsmForEngineLaunch
In most cases, this function will not be implemented or tested. If this function is implemented and
returns true, then the Ansoft desktop application will not start the analysis engines using the
LaunchProcess function directly. Instead, the Ansoft desktop application will start one
AnsoftRSMService process on each host using the LaunchProcess function, and the engine
processes will be started by these AnsoftRSMService processes. One may check for these processes using the Linux ps command or the Windows Task Manager. One AnsoftRSMService proRunning Simulations 15-153

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

cess should run on each host. These processes will be named ansoftrsmservice.exe or
AnsoftRSMService.exe. These processes will be started on each host before any analysis engine is
started on the host, and will remain running until the job is complete.

Troubleshooting Custom Scheduler Integration


None of the Proxy Functions are Called
Troubleshooting IsProductLaunchedInYourEnvironment Function
Troubleshooting GetSchedulerDisplayName
Troubleshooting GetThisJobID
Troubleshooting GetTempDirectory
Troubleshooting GetMachineListAvailableForDistribution
Troubleshooting LaunchProcess
Troubleshooting GetUseRsmForEngineLaunch
None of the Proxy Functions are Called
There are several problems which could result in none of the proxy functions being called.
The scheduler proxy library must be installed in the schedulers subdirectory of the Ansoft installation directory. The installation directory is set in the registry entry HKEY_CURRENT_USER/
Software/Ansoft/Product/Version/Desktop/InstallationDirectory, where
Product is the Ansoft product name (eg, Simplorer) and Version is the Ansoft product version
(e.g., 14.0).
The scheduler proxy library name must match "*_scheduler.dll" on Windows and
"lib*_scheduler.so" on Linux. If the library name does not match this format, then the library will
not be loaded. In addition, the function name prefix must be the same as the library name prefix
converted to upper case. For example, if the library name prefix is "abc", then the function name
prefix is "ABC". In this example, the library name is "abc_scheduler.dll" on Windows, and
"libabc_scheduler.so" on Linux. In this example, the full name of the IsProductLaunchedInYourEnvironment function is ABC_IsProductLaunchedInYourEnvironment on Windows and
Linux, and it must have extern "C" linkage.
Verify that the compile and link flags follow the guidelines in the section "Build Information",
above. Incorrect compile or link flags may prevent the library from being loaded by the Ansoft
product.
If there is a problem with calling the IsProductLaunchedInYourEnvironment function,
then none of the other functions will be called. The other functions are only called if the IsProductLaunchedInYourEnvironment function is successfully called and returns true.

Troubleshooting IsProductLaunchedInYourEnvironment Function


Verify that the conditions specified in the section "None of the Proxy Functions are Called" are
met.
Verify that this function returns true when called in an environment running under the scheduler,
and that it returns false when called in an environment not running under the scheduler.
15-154 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Troubleshooting GetSchedulerDisplayName
Verify that the IsProductLaunchedInYourEnvironment function returns true when running in the scheduler environment.
Verify that the scheduler display name is a valid ASCII string.
Verify that, if argument buffer is NULL, then the required length of the buffer is stored in the location to which argument length points, and true is returned. The required buffer length must include
space for the string null terminator.
Verify that, if argument buffer is not NULL and the value to which argument length points (the buffer length) is large enough to contain the display name, including the terminal null byte, then the
display name is copied to the buffer and true is returned.

Troubleshooting GetThisJobID
Verify that the IsProductLaunchedInYourEnvironment function returns true when running in the scheduler environment.
Verify that the job ID is a valid ASCII string.
Verify that, if argument buffer is NULL, then the required length of the buffer is stored in the location to which argument length points, and true is returned. The required buffer length must include
space for the string null terminator.
Verify that, if argument buffer is not NULL and the value to which argument length points (the buffer length) is large enough to contain the job ID, including the terminal null byte, then the job ID is
copied to the buffer and true is returned.

Troubleshooting GetTempDirectory
Verify that the IsProductLaunchedInYourEnvironment function returns true when
running in the scheduler environment.
Verify that the temporary directory name is a valid ASCII string.
Verify that, if argument buffer is NULL, then the required length of the buffer is stored in the location to which argument length points, and true is returned. The required buffer length must include
space for the string null terminator.
Verify that, if argument buffer is not NULL and the value to which argument length points (the buffer length) is large enough to contain the temporary directory pathname, including the terminal null
byte, then the temporary directory pathname is copied to the buffer and true is returned.

Troubleshooting GetMachineListAvailableForDistribution
Verify that the IsProductLaunchedInYourEnvironment function returns true when running in the scheduler environment.
Verify that the list of hosts is a valid ASCII string containing a space separated list of host names.
A host name will appear in the list a number of times equal to the number of processors or cores
available to the job on that host.

Running Simulations 15-155

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Verify that, if argument buffer is NULL, then the required length of the buffer is stored in the location to which argument length points, and true is returned. The required buffer length must include
space for the string null terminator.
Verify that, if argument buffer is not NULL and the value to which argument length points (the buffer length) is large enough to contain the list of hosts, including the terminal null byte, then the list
of hosts is copied to the buffer and true is returned.

Troubleshooting LaunchProcess
Verify that the IsProductLaunchedInYourEnvironment function returns true when running in the scheduler environment.
The hostName argument is a host name from the list returned by the GetMachineListAvailableForDistribution function. Verify that the LaunchProcess function can accept host names in the format returned by the GetMachineListAvailableForDistribution function.
The exePathName argument is the pathname of the analysis engine executable to be started. This
pathname may contain spaces or other characters special to the shell. Ensure that the LaunchProcess function is able to handle such cases.
The arg1 and arg2 arguments may contain newlines, tabs, single quotes, spaces, dollar signs, and
other characters which may be special to the shell. Ensure that the LaunchProcess function is able
to handle such cases. If needed, the newline characters may be replaced by other whitespace characters. One or both of these arguments could also be an empty string; verify that the empty string is
correctly passed to the engine process command line.
If a scheduler command is used to launch the engine process on a remote machine, the engine command line may be processed by the shell twice, once when the scheduler command is processed by
the shell, and again when the engine command is processed by the shell. In such cases, the quoting
of characters special to the shell will need to be take these two passes through the shell into
account. In some implementations, it may be necessary or convenient to use different approaches
for launching engine processes on the local machine and on remote machines; if this is done, verify
that the approach used to determine whether the hostName argument represents the local machine
is correct.

Troubleshooting GetUseRsmForEngineLaunch
In most cases, this function will not be implemented. If it is implemented, then follow the suggestions below.
Verify that the IsProductLaunchedInYourEnvironment function returns true
when running in the scheduler environment.
If the RSM should be used for launching engines, verify that this function returns true. Otherwise,
verify that this function returns false.

15-156 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Re-solving a Problem
If you modify a design after generating a solution, the solution in memory will no longer match the
design.
To generate a new solution after modifying a design, follow the procedure for running a simulation:
1.

Select a solution setup in the project tree.

2.

Click Project>Analyze All.

Running Simulations 15-157

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Resetting Symbol Animation


The Simplorer Circuit>Reset Symbol Animation command resets output quantity and signal values to their defaults (they may have been set to other values during simulation) and re-evaluates the
symbol animation conditions to determine the current graphics levels to show.
Related Topics
Design Settings
Animate

15-158 Running Simulations

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

16
Network Data Explorer

The network data explorer, ndExplorer, provides visualization, analysis, and manipulation tools for
network data. It is accessible by selecting Tools > Network Data Explorer on the main menu bar.
The topics for this section include:
ndExplorer Overview
Loading Data Into ndExplorer
Exporting Data from ndExplorer
Right-Click Context Menu Options
Viewing Data and Modifying the Display
Creating a Statistics Plot
Comparing Network Data
Comparing Variations
Displaying Plot Traces from Multiple Data Sources
Displaying Mixed-Mode Parameters
Changing Port Properties and Reducing Matrix Size
Thresholding
Smoothing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

ndExplorer Overview

ndExplorer Overview
To open the ndExplorer, click Tools > Network Data Explorer. The ndExplorer window is
divided into the following panes:

Control Pane
The control pane is used to select the network data to be viewed as well as the manner in which it is
to be displayed.

Network data file Name of the currently active data set.


Browse Clear the current data sets and browse for a new file to load.
Network Data Explorer16-2

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

ndExplorer Overview

Export Buttons for exporting as SYZ Data, Broadband, and Lumped (currently Lumped
is not enabled); same options as those accesed via the File menu. Broadband export also
allows the user to create a Simplorer component.
Compare matrix data Lets you choose a comparison data set (or none at all).
Quantity The quantity to display (parameter or statistical).
Parameter type S, Y, or Z parameters.
Format The display function to apply to the data: magnitude/phase, real/imaginary, dB/
phase, magnitude, phase, dB, real, or imaginary.

Data View Pane


The data view pane supports both a tabular view of the matrix data and graphical representations.

Data Selection Pane


The data selection pane allows you to choose to display data by frequency or by matrix cell, and to
choose which frequencies or cells to display.

The variation list box allows you to control which variations are currently active; this
affects all displays (table, plot, and statistics). When displayed by frequency, the entire
matrix is presented in the data view pane for each selected frequency; when by matrix cell,
the data for the individually chosen cells is shown across all frequencies.
Frequencies unavailable for a variation are dimmed and are not highlighted when
selected.
Checking Select all causes all items within the list box to be selected; the corresponding
data is displayed in the data view pane. Warning: given the volume of data in many network data sets, this display may take a considerable time to generate, especially when the
graph plot view is enabled.

Network Data Explorer16-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Loading Data Into ndExplorer

Loading Data Into ndExplorer


You can load data into ndExplorer either by clicking the Browse button or by selecting the File >
Open menu command to open a file browser window. Use the Files of type pulldown menu to
select from the following file formats: Touchstone Format, Touchstone 2 Format, Citifile, or Neutral Format.

ndExplorer allows you to have multiple files open. However, the displayed data always corresponds to the data set indicated in the Network data file field on the control pane. You can use
its drop-down list to switch between primary datasets.
All data sets are available for data comparison, and all data sets which are open for comparison
are also available as primary data sets.
Opening one or more new files clears the current data sets. Additional data sets may be opened
through the Compare matrix data control field, but this option does not clear the current data
sets. For more information see Comparing Network Data.

Network Data Explorer16-4

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

Exporting Data from ndExplorer


ndExplorer allows you to export data to a file in several formats. You can also choose to create a
Simplorer component during export, which exports the active data set back to the Simplorer project.

Topics for this section include:


Creating a Simplorer Component
Scripting ndExplorer
Export SYZ Data
Export Macro Model

Creating a Simplorer Component


If you choose Simplorer in the Full Wave Spice Format pane of the Broadband Export Options
dialog, you can also select an option to Create a Simplorer Component. Choosing this option allows
ndExplorer to compile the exported model data and creates a component based on the data. The
resulting component is then available for placement in a design.

Export SYZ Data


The active data set may be saved as a touchstone file (under a name different from the original)
with the File > Export SYZ Data command. At the time of export, you can select from the following options:

Precision
Type of data
Renormalize data

Network Data Explorer16-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

Touchstone Export
After clicking File > Export SYZ Data and specifying a file name and Touchstone format (*.sNp)
in the Save File As dialog, the Specify Export Options dialog opens:

You are then able to:

Select the data


Select the display format
Enter the precision
Override Solution Renormalization using a specified value
Include Gamma and Impedance Comments

Network Data Explorer16-6

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

NMF Export
After clicking File > Export SYZ Data and specifying a file name and the NMF format (*.nmf) in
the Save File As dialog, the Specify Export Options dialog opens:

You are then able to:

Select the data


Select the display format
Enter the precision
Network Data Explorer16-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

Select/unselect the listed parameters.


Select the variations to include in the exported file

Spreadsheet, Matlab, and Citifle Export


After clicking File > Export SYZ Data and specifying a file name and the format Spreadsheet
(*.tab), Matlab( *.m), or Citifile(*.cit) in the Save File As dialog, the Specify Export Options
dialog opens:

You are then able to:

Select the data


Select the display format: Magnitude/Phase (deg), Real/Imaginary, or dB/Phase (deg)

Export Macro Model


ndExplorer provides the ability to export macro model data in a variety of different formats. In the
ndExplorer window, click File > Export MacroModel and select either Broadband or Lumped

Network Data Explorer16-8

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

(presently unimplemented) to open an export options dialog. A typical Broadband Export


Options dialog is shown below.

The actual controls displayed in the dialog vary with the Full Wave Spice Format:

File Name Use the default file name or browse to a different file/location.
Full Wave Spice Format Select the export format. The remaining controls in the dialog
vary with the format selected.
Use Common Ground Select this box to use a common ground.
Enforce Causality Select this box to enforce causality.
Enforce Passivity Select this box to enforce passivity.
Renormalize Select this box to renormalize using the impedance specified in the adjacent text box. (Not present for PSPICE, Simplorer, or Spectre.)

Network Data Explorer16-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

Create Simplorer Component Creates a Simplorer component. (Present only for Simplorer.)

Touchstone Options
When Touchstone 1.0 or Touchstone 2.0 is selected as the format, the following Touchstone
Options are displayed:

Import Options
The Broadband export dialog displays Import Options, when the Full Wave Spice Format chosen is
either Touchstone 1.0 or Touchstone 2.0..

The Import Options group has a checkbox: Add as derived solution. When checked, the
exported Touchstone file is read in as an s-parameter solution and loaded into ndExplorer
for comparison. If the solution was renormalized during the export, then the original solution impedances are applied on importing back.
The Edit button opens a text edit box where the user can give the solution a description
which will be displayed in ndExplorer to better identify the imported solution.
The solution is added to ndExplorer as a derived solution so that the user can compare this
solution with the original solution. All of the comparison features available in ndExplorer
can be used to compare the original and derived solutions.
~DerivedSolution='1' is the exported solution. When you hover over the derived solution
line in the list box below, the tool tips displays the description entered in the export dialog.

Network Data Explorer16-10

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

The import of the exported solution is now done by reading the exported Touchstone file.

Advanced Options
Click the Advanced button to display the following advanced options.

The following advanced options are available:

Desired Fitting Error


Maximum Order
Passivity Options
Column Fitting Options
State Space Fitting Algorithm Select either TWA or Iterative rational function.
TWA (Tsuk-White Algorithm) is an ANSYS-proprietary method for fitting a state space
model to extracted s-parameter data (Set up Sweeps, Adding Frequency Sweeps). It uses
techniques based on Singular Value Decomposition (SVD) to quickly determine required
number of poles for fitting a model. It is also capable of simultaneously finding sets of
poles that match multiple matrix entries. This can result in a much smaller state space
model at the end of the process which improves performance when the model is a component in a transient spice simulation. Due to its many benefits, TWA is the preferred
method for state space fitting.
The Iterative rational function fitting approach takes a matrix of S-parameter data and,
for each matrix entry, tries a succession of different pole-zero approximations (increasing
Network Data Explorer16-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Exporting Data from ndExplorer

the number of poles used at each iteration) until it can find an acceptable fit to the data.
For broad frequency sweeps and large numbers of excitations this process can be time
consuming because of all the iterations and is not guaranteed to produce a good fit to the
data. It is retained as a fallback if the TWA algorithm fails.

Enable relative error tolerance

Clicking the OK button begins the export.

Scripting ndExplorer
Scripting is available for each ndExplorer export method, which means a script can be recorded to
duplicate the export process. ndExplorer can be invoked in the following contexts, and scripting is
available from the Project Context and the Design Instance Context (simulation setup):

No design When there is no design available, the export functionality is not available,
and so scripting is not available.
Project Context In the context of a project, you can open a Touchstone file and then
export. Scripting is available.
Design Instance Context In the context of a solution (RCM from the simulation setup in
a design), you can export the corresponding networkdata solution. Scripting is available.

For more information, see ndExplorer Manager Script Commands.

Network Data Explorer16-12

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Right-Click Context Menu Options

Right-Click Context Menu Options


Right-clicking in the data view pane brings up a context sensitive menu. A number of these same
menu options are also accessible through the Edit menu on the Control pane.

Topics for this section include:


Display Format
Multiple Frequency Statistics
Highlight Min/Max
Select Transpose
Full Port Names
Select Compare Variations

Display Format
The Display format dialog allows the user additional control over the display of values throughout
ndExplorer.

Field width The minimum number of characters used to display a number; values are
padded with blanks as necessary; use to increase the blank space displayed in the data
tables to force an increase in column width.
Precision The number of decimal places to display.
Use scientific notation When checked, values are displayed using scientific notation,
e.g. 3.88124e-001.
Network Data Explorer16-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Right-Click Context Menu Options

Post-format difference When comparing data sets, subtract values after applying the
formatting function (e.g. dB, magnitude, etc.); the values displayed will be the difference
between the magnitude, dB, and so on.
Pre-format difference When comparing data sets, subtract values before applying the
formatting function (e.g. dB, magnitude, etc.); the values displayed will be the magnitude,
dB, etc., of the complex difference.
Length The default units used to display and interpret length values (e.g. de-embedding
length).

Multiple Frequency Statistics


This option determines the statistical composite to display when multiple frequencies have been
selected for the matrix display. The statistical data is always the first matrix displayed, followed by
matrices for each individual frequency. The Multiple Frequency Statistics also indicates the data
to be used in the colored matrix plot when multiple frequencies have been selected.

Average Display the average of the matrix values across the selected frequencies.
Minimum Display the minimum matrix values across the selected frequencies.
Maximum Display the maximum matrix values across the selected frequencies.

Highlight Min/Max
This option determines whether the minimum and maximum matrix entries should be highlighted
in the matrix table and color plot view.

Select Transpose
When selecting a cell in the table view of the matrix, this option determines if the transpose cell is
to be highlighted as well.

Full Port Names


By default, port names are displayed in an abbreviated form: P1, P2, etc. This applies to the matrix
display and to the cell list display. Use this option to display the original port names. Note that tooltips always display the full port name.

Network Data Explorer16-14

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

Viewing Data and Modifying the Display


A number of features in the Network Data Explorer allow you to view data and modify various
aspects of the display, including color plots, color coding, viewing across frequencies, and displaying individual statistics.

The topics for this section include:


Viewing the S, Y, or Z Matrix for a Selected Frequency
Color Coded Matrix Plot
Changing the Color Scheme for a Matrix Color Plot
Viewing Matrix Cell Data Across All Frequencies
Cell Filtering
Displaying a Graph of a Cell Across All Frequencies
Displaying Statistics by Frequency
Displaying Individual Statistics for All Frequencies

Viewing the S, Y, or Z Matrix for a Selected Frequency


1.

Select Parameter values in the Quantity control field.

2.

Select Frequencies in the data selection pane at left.

3.

Select Table in the data view pane at right.

4.

Choose the frequencies and the variations to display.

Network Data Explorer16-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

The maximum value (and its transpose) is highlighted in red and the minimum value in
blue. Complex values (regardless of the data format) are compared using their modulus.
When multiple frequencies or variations are selected, the first iv in the data display is
either the average, minimum, or maximum of all the frequencies selected - the selection
type is set via the right-click menu option, Multiple Frequency Statistics.
Use Parameter type in the control panel to choose the data type (S, Y, or Z) and Format
to specify how the data values are to be displayed (real, imaginary, dB, etc.).
When the cursor is placed over a cell, tool-tip text reveals detail as to the content of the
Network Data Explorer16-16

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

cell. When multiple variations are selected, use the tooltips to identify the variation being
displayed. Clicking in a cell will select it and its transpose. Double clicking a cell takes the
user to a matrix cell view in which values for all frequencies for that particular cell are displayed; the double-clicked frequency is highlighted with solid red shading.

Selecting Plot in the data view pane switches the view to a colored graphical representation of the tabular data.

Color Coded Matrix Plot


1.

Select Parameter values in the Quantity control field.

2.

Select Frequencies in the data selection pane at left.

3.

Select Plot in the data view pane at right.

4.

Choose the frequency and variation to display.

Network Data Explorer16-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

The matrix values are displayed in a color coded grid; if the current Format is a complex
value, only the real component is used to determine the display color. Use the Parameter
type selection in the control panel to choose the data type: S, Y, or Z parameter. When
multiple frequencies or variations are selected, either the minimum, maximum, or average
value is displayed (as chosen with the right-click menu option, Multiple Frequency Statistics).
Network Data Explorer16-18

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

The maximum value (and its transpose) is highlighted in red and the minimum value in
blue; the real value alone is used to determine these extremes.
When the cursor is placed over a cell, tool-tip text reveals detail as to the content of the
cell. Clicking in a cell will select it and its transpose. Double clicking a cell takes the user
to the matrix cell plot in which all frequency values for that matrix cell are displayed as a
graph.
Double clicking the legend or choosing the right-click menu option Color Legend Attributes allows you to select the data range and number of colors for each data type and format.
Selecting Table in the data view pane, switches the view to a matrix representation of the
graphical data.

Changing the Color Scheme for a Matrix Color Plot


Double clicking the matrix color plot legend or right clicking within the plot itself and choosing
Color Legend Attributes, displays the Legend Attributes dialog. The dialog permits you to
change the granularity of the color scheme and the value range but not the colors themselves. Using
a standard range across all frequencies permits you to quantitatively compare plots; ndExplorer
remembers legend settings for each data-type/display-format pair.

Number of colors number of color entries in the legend, i.e. the number of divisions
between the start/end of the data range.
Use the data minimum and maximum automatically select the data range using the
minimum and maximum values from either just the selected frequencies or all frequencies in the data set.
Network Data Explorer16-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

Minimum & Maximum when the range is not automatically determined, these fields
permit the user to manually enter hard values, e.g. for S parameter data magnitude data, a
mimum of 0 and a maximum or 1 could be used.

Viewing Matrix Cell Data Across All Frequencies


1.

Select Parameter values in the Quantity control field.

2.

Select Matrix entries in the data selection pane at left.

3.

Select Table in the data view pane at right.

4.

Choose the frequency and variation to display.

Network Data Explorer16-20

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

Values for all frequencies are displayed for each matrix cell selected. The data type and
format are determined by the Parameter type and the Format settings in the control
pane.
When the cursor is placed over a table cell, tool-tip text reveals more detail as to the content of the cell. Clicking in a cell will select it. Double clicking a cell takes the user to the
matrix table view in which all cell values for the corresponding frequency are displayed;
the double-clicked cell is highlighted with solid red shading.
Clicking on a column header in the data table highlights the column. The corresponding
trace in the plot view is also highlighted.
Selecting Plot in the data view pane, switches the view to a graph of the cell data. The
graph shares the same color coding as the columns; highlighted columns are highlighted in
the plot.

Cell Filtering
The cells available in the data selection pane may be restricted using the Cell Filtering dialog by
selecting Edit > Cell Filter.

The Cell filtering dialog is modeless and the filters are immediately applied to the cell list.
Filtering remains in effect even after the dialog has been closed.
For an n-port model with a total of 2n pins in the standard arrangement, the choices are:

Show all the available cells. There are n-squared choices.


Return loss, show S(i, i). There are n choices.
Insertion loss, show S(i, i+1). There are n choices.
Network Data Explorer16-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

Lower triangle, show S(i, j) for all j < i. There are n(n-1)/2 choices.

Three pin arrangements are recognized:

S(i, i+1) and its Reverse order, S(i, i-1)


S(i, i+n) and its Reverse order, S(i, i-n)
S(i, 2*n-i+1) and its Reverse order, S(i, 2*n-i-1)

Displaying a Graph of a Cell Across All Frequencies


1.

Select Parameter values in the Quantity control field.

2.

Select Matrix entries in the data selection pane at left.

3.

Select Plot in the data view pane at right.

4.

Choose the cells and variations to display.

5.

Select Plot > Log Frequency to switch the X axis to a log scale.

Network Data Explorer16-22

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

The standard "view" right click menu options are available: zoom, pan, fit-all, visibility,
etc. A right click Copy Image is also available; the resulting image may be pasted into
external documents.
Holding the cursor over a trace will provide an identifying tool-tip; in the case of multiple
variations this is the only way to distinguish between the curves for a particular cell.
Selecting Table in the data view pane, switches the view to a tabular view of the plot data.

Network Data Explorer16-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

Displaying Statistics by Frequency


1.

Select Matrix statistics in the Quantity control field.

2.

Select Frequencies in the data selection pane at left.

3.

Select Table in the data view pane at right.

4.

Choose the frequencies and variations to display.

The various statistical measures for the current Parameter type and Format are displayed for each frequency selected. Only real (not complex) data formats are offered for
Network Data Explorer16-24

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

statistical analysis. Passivity is only available for S-parameter data (comparisons inactive). NTI refers to the number of trivial items; for S-parameters, this includes all zeros
and ones; for all other data (and data comparisons), only zeros are counted as trivial. The
minimum value for each column is highlighted in blue; the maximum is highlighted with
red.

When the cursor is placed over a cell, tool-tip text indicates the frequency and statistics
displayed. Clicking a cell selects the cell. Multiple variations are displayed as separate
entries in the table; use the tool-tip to identify the variation for a particular frequency.
Clicking a column header sorts the data using that column for comparison; clicking again
reverses the order of the sort.

Displaying Individual Statistics for All Frequencies


1.

Select Matrix statistics in the Quantity control field.

2.

Select Matrix entries in the data selection pane at left.

3.

Select Table in the data view pane at right.

4.

Choose the statistics and variations to display.

Network Data Explorer16-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

The various statistical measures (for the current Parameter type and Format) are displayed for all frequencies. Passivity is only available for S-parameters (comparisons inactive). NTI refers to the number of trivial items; for S-parameters, this includes all zeros
and ones; for all other data (and data comparisons), only zeros are counted as trivial.
When the cursor is placed over a cell, tool-tip text indicates the frequency and statistics
displayed. Clicking a cell selects the cell. Multiple variations are displayed as separate
entries in the table; use the tool-tip to identify the variation for a particular frequency.
Selecting Plot in the data view pane, switches the view to a graph of the statistical data.
Network Data Explorer16-26

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Viewing Data and Modifying the Display

The graph shares the same color coding as the columns; highlighted columns are highlighted in the plot.

Network Data Explorer16-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating a Statistics Plot

Creating a Statistics Plot


1.

Select Matrix statistics in the Quantity control field.

2.

Select Matrix entries in the data selection pane at left.

3.

Select Plot in the data view pane at right.

4.

Choose the statistics and variations to display.

A graph of each of the statistical measures selected (for the current Parameter type and
Network Data Explorer16-28

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating a Statistics Plot

Format) is displayed across all frequencies. Passivity is only available for S-parameters
(comparisons inactive). NTI refers to the number of trivial items; for S-parameters, this
includes all zeros and ones; for all other data (and data comparisons), only zeros are
counted as trivial.

When the cursor is placed over a curve, tool-tip text indicates the statistical function, the
data format, the data type, and the variation of the graph being displayed.
Selecting Table in the data view pane, switches the view to a tabular presentation of the
statistical data. The table columns share the same color coding as the plot traces.

Network Data Explorer16-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Comparing Network Data

Comparing Network Data


1.

Select Browse in the Compare matrix data control field or the Compare menu option
on the File menu.

2.

Load a network data file to be compared with the currently active data. Multiple files may
be opened from the file browser dialog, however, only one file is compared against the
primary data set at any given time.

The data displayed in all views is now of the primary Network data less the values for the
Network Data Explorer16-30

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Comparing Network Data

compare data set. The data format (magnitude, dB, etc.) is applied either before (pre) or
after (post) the subtraction depending on the corresponding setting in the Display format
settings dialog (available on the Edit menu or the right-click context menu).

Multiple data-sets can be loaded for comparison though only one is active at any one time.
The compare data set may be changed by using the Compare matrix data control field;
comparisons may also be turned off by selecting No compare.
The primary data source may be changed using the Network data file drop-down list
within the control pane. By so doing, a comparison data set may be made the primary data
set, either for viewing as is, or for comparing with other network data.
The Compare matrix data dialog, accessed through the Select Compare Variations
menu option, may also be used to switch comparison data sets. When a comparison is
active, the data sets are restricted to one variation. The variation selected in the variation
list box applies to the primary data source alone, i.e. the one displayed in the Network
data file field of the control pane.

Network Data Explorer16-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Comparing Variations

Comparing Variations
1.

Select Browse in the Compare matrix data control field or the Compare menu option
on the File menu.

2.

Load the data for the same (or different) network data file. Please note, that currently only
".nmf" files support multiple variations.

3.

Use the Data Sources (Edit menu or the right-click menu) to choose the variations to
compare.

The Compare Variations dialog displays a table of all the loaded data. Selecting a row
changes the comparison data set; the data view is updated when the dialog is dismissed
with the OK button. Note: it is not possible to compare a data set against itself, unless the
data set has been loaded twice. Selecting the active data set row clears the comparison.
Network Data Explorer16-32

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Displaying Plot Traces from Multiple Data Sources

The variations being used may be changed through the drop-down lists in the Variation
column. Please note that when comparisons are inactive, all the variations for the active
data source may be displayed (where relevant) in the data view; when comparisons are
active, only the one selected variation is displayed.

Displaying Plot Traces from Multiple Data Sources


1.

Open multiple data sets, either through the main file browser or through the data comparison browser.

2.

Use the Edit menu or the right-click menu to open the Data Sources dialog.

3.

Enable the Display plot traces for all data sources option.

Traces for a given cell or statistical measure are displayed for all data sets; you can use
Network Data Explorer16-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Displaying Plot Traces from Multiple Data Sources

tool tips to distinguish between them.

If a single cell or statistical measure is displayed, different colors are used for each data
trace.
If multiple cells or statistical measures are selected, a single color is used for all data traces
for each cell or statistical measure.
If a data comparison is active, traces will be shown for all data sets compared against it
(with the exception of the comparison data set). This is true for both cell and statistical
traces.
Data sets with no variation information are always displayed. With multiple variation data
sets, only those with values for the currently selected variations are displayed. (Note that
the variation for the comparison data set is fixed by the selection that is made in the Select
Compare Variations dialog.)

Network Data Explorer16-34

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Displaying Mixed-Mode Parameters

Displaying Mixed-Mode Parameters


Mixed-mode parameters are displayed in place of single-ended parameters when differential pairs
are both defined and activated.

To define differential pairs:


1.

Select existing ports.

2.

Open ndExplorer by selecting Tools > Network Data Explorer.

3.

Select Edit > Define Differential Pairs to open the Differential Pairs dialog.

4.

Select New Pair in the Differential Pairs dialog to pair the selected ports.

5.

Optionally select a Ref. Z (ohm) column heading to enable the Set impedance button
which can be used to set a new impedance value entered in the associated data entry field.

6.

Optionally change the Positive and Negative ports being paired using the drop-down lists.

To activate differential pairs:


1.

Open the ndExplorer by selecting Tools > Network Data Explorer.


Network Data Explorer16-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Displaying Mixed-Mode Parameters

2.

Click the Active column boxes for the pairs you wish to activate. (Alternately, you can
click the Active column header itself to activate all pairs listed in the column).
The chosen pairs are activated.

Note

The ndExplorer Edit menu option Reset All Port Properties deactivates all pairs, but it
does not clear the differential pair settings. And since Reset All Port Properties also
clears reference impedances and terminations, it should not be used when the user
simply wishes to disable all differential pairs. To disable all differential pairs, click the
Active column header in the Differential Pairs dialog to deselect all pairs.

Network Data Explorer16-36

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Changing Port Properties and Reducing Matrix Size

Changing Port Properties and Reducing Matrix Size


Access the Port Properties dialog through the Edit Port Properties option on the Edit menu. The
normalization impedance, termination, port order, gamma values, and de-embedding distance may
all be edited through this dialog.

Impedance values are specified in ohms and may be complex, the accepted syntaxes are:
real, e.g. 50
real + imag i, e.g. 50+5i
imag i, e.g. 5i

Explicit units may be used with the impedance value (e.g. 0.5kOhm) but will always be
shown in ohms (when the dialog is redisplayed).
Reorder ports by clicking and dragging their row. To see the port names in the data view
displays, use the right-click menu option Full Port Names.
Terminated ports are eliminated from the matrix thereby reducing the matrix size. Existing
data sets with mismatching port numbers will no longer be available for data comparisons.
Port properties may be restored to their load time values using the Reset All Port Properties option on the Edit menu.
Network Data Explorer16-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Changing Port Properties and Reducing Matrix Size

The de-emebedding column only appears if gamma values are available (specifically, if
ndExplorer is invoked from the results menu within Simplorer). Values are always displayed in the units indicated in the column header, however, values may be entered with
specific units, e.g. "1.5in". The default units may be changed via the Set Display Format
dialog (available on the Edit menu or the right-click context menu).
Once the changes have been committed by selecting OK, the modified matrix values may
be saved to a file by using the File > Save As option.

Network Data Explorer16-38

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Thresholding

Thresholding
The Thresholding control is accessed through the Magnitude Thresholding option on the Edit
menu. Thresholding is a way of reducing matrix entries to zero based on a value threshold. Thresholding applies to the displayed data, e.g. Magnitude(S), but it is the original matrix value that is
reset to zero. Hence, thresholding is affected by the Parameter type and Format settings.

Set the threshold value by sliding the control or by explicitly entering a value. The data range for
the slider is determined by the following dialog options:

Value range based on selected frequencies only When selected, the slider value range
is determined from the selected frequencies only, otherwise, the entire data set is used to
determine the range.
Network Data Explorer16-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Thresholding

Min to average When selected, the slider data ranges extends from the data minimum to
the mean.
Min to max When selected, the slider data range extends over the entire data range, i.e.
from the minimum to the maximum data values.
Apply to selected frequencies only When selected, the Save edits button only modifies
the currently selected network data matrices, otherwise, the matrix data for all frequencies
and variations are adjusted.

Network Data Explorer16-40

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Smoothing

Smoothing
The data smoothing dialog is accessed via the Smooth All Frequencies option on the Edit menu.

A least-squares polynomial fit of the specified order is used to interpolate new data points for the
magnitude and phase components of the S-parameters.

Network Data Explorer16-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

17
Optimetrics

Optimetrics enables you to determine the best design variation among a model's possible variations. You create the original model, the nominal design, and then define the design parameters that
vary, which can be nearly any design parameter assigned a numeric value in Simplorer. For example, you can parameterize the model geometry or material properties. You can then perform the following types of analyses on your nominal Simplorer design:
Parametric

In a parametric analysis, you define one or more variable sweep definitions,


each specifying a series of variable values within a range. For example, you
can parameterize component values. (See
VariablesVariablesVariablesVariables in Simplorer for more information.)
Optimetrics solves the design at each variation. You can then compare the
results to determine how each design variation affects the performance of the
design. Parametric analyses are often used as precursors to optimization
solutions because they help to determine a reasonable range of variable values
for the optimization analysis.

Optimization For an optimization analysis, you identify the cost function and the
optimization goal. Optimetrics changes the design parameter values to meet
that goal. The cost function can be based on any solution quantity that
Simplorer can compute.

Optimetrics 17-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Sensitivity

In a sensitivity analysis, you use Optimetrics to explore the vicinity of the


design point to determine the sensitivity of the design to small changes in
variables.

Tuning

Tuning allows you to change variable values interactively while monitoring


the performance of the design.

Statistical

In a statistical analysis, you use Optimetrics to determine the distribution of a


design's performance, which is caused by a statistical distribution of variable
values.

Note

Sweeping or using a complex variable is not allowed in any optimetrics setup, including
optimization, statistical, sensitivity, and tuning setups.

Related Topics
Setting up a Parametric Analysis
Setting up an Optimization Analysis
Setting up a Sensitivity Analysis
Tuning a Variable
Setting up a Statistical Analysis
Parametric Overview
Optimization Overview
Sensitivity Analysis Overview
Statistical Analysis Overview
Tuning Overview
Using Distributed Analysis

17-2 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Parametric Overview
Running a parametric analysis enables you to simulate several design variations using a single
model. You define a series of variable values within a range, or a variable sweep definition, and
Simplorer generates a solution for each design variation. You can then compare the results to determine how each design variation affects the performance of the design.
You can vary design parameters that are assigned a quantity, such as geometry dimensions, material
properties, and boundary and excitation properties. (See the online help topic for the specific
parameter you want to vary.) The number of variations that can be defined in a parametric sweep
setup is limited only by your computing resources.
To perform a parametric analysis, you first create a nominal design. A nominal design is created
like any other design, except that variables are assigned to those aspects of the model you want to
change. All variables must be defined before you start the parametric analysis. Although you are
not required to solve the nominal design before performing a parametric analysis, doing so helps
ensure that the model is set up and operates as intended. Alternatively, you can performperformperform a validation check on the nominal design before performing a parametric analysis.
Parametric analyses are often used as precursors to optimization analyses because they enable you
to determine a reasonable range of variable values for an optimization analysis.
Related Topics
Setting up a Parametric Analysis

Optimetrics 17-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Setting Up a Parametric Analysis


A parametric setup specifies all of the design variations that Optimetrics drives Simplorer to solve.
A parametric setup is made up of one or more variable sweep definitions, which are a set of variable values within a range that you want Simplorer to solve when you run the parametric setup.
You can define more than one parametric setup per design.
Note

Once you have created a parametric setup, you can copy and paste it, and then make
changes to the copy, rather than redoing the whole process for minor changes.

To add a parametric setup to a design:


1.

On the Simplorer CircuitMaxwell3D or Maxwell2DHFSSQ3D Extractor or 2D Extractor


menu, point to Optimetrics Analysis, and then click Add Parametric
.

Alternatively, right-click Optimetrics in the project tree, and then click Add>Parametric
on the shortcut menu.

The Setup Sweep Analysis dialog box appears.


2.

Add a variable sweep definition.

Note

Sweeping or using a complex variable is not allowed in any optimetrics setup, including
optimization, statistical, sensitivity, and tuning setups.

After you define a parametric sweep, a shortcut menu becomes available when you right-click
the setup name.
3.

Use the Options tab if you want to save the solution data for solved design variations in the
parametric analysis, or to enable/disable use of a fast calculation-update algorithm to speed up
optimetrics and report updates during optimetrics analyses.

Note

Improper or undefined simulation setups will cause errors during Optimetrics Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Parametric Analysis.

Related Topics
Adding a Variable Sweep Definition
Specifying a Solution Setup for a Parametric Setup
Using Distributed Analysis
Parametric Overview

17-4 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Adding a Variable Sweep Definition


A parametric setup is made up of one or more variable sweep definitions. A variable sweep definition is a set of variable values within a range that Optimetrics drives Simplorer to solve when the
parametric setup is analyzed. You can add one or more sweep definitions to a parametric setup.
Note

1.

Sweeping a complex variable is not allowed in any optimetrics setup, including


optimization, statistical, sensitivity, and tuning setups.

On the Simplorer CircuitMaxwell3D or Maxwell2DHFSSQ3D Extractor or 2D Extractor


menu, point to Optimetrics Analysis, and then click Add Parametric
.

Alternatively, right-click Optimetrics in the project tree, and then click Add>Parametric
on the shortcut menu.

The Setup Sweep Analysis dialog box appears.


2.

Under the Sweep Definitions tab, click Add.


The Add/Edit Sweep dialog box appears.
All the independent variables associated with the design are listed in the Variable pull-down
list.

3.

Click the variable for which you are defining the sweep definition from the Variable pulldown list.
If you do not define a sweep definition for a variable in the list, the variable's current value in
the nominal design is used in the parametric analysis.

4.

Specify the variable values to be included in the sweep.

5.

Click Add, and then click OK.


You return to the Setup Sweep Analysis dialog box. The variable sweep is listed in the top
half of the window.

6.

View the design variations that are to be solved in table format under the Table tab. Viewing
the sweep definition in table format enables you to visualize the design variations that are to be
solved and manually adjust sweep points if necessary.

7.

Click OK.

Related Topics
Specifying Variable Values for a Sweep Definitions
Synchronizing Variable Sweep Definitions
Modifying a Variable Sweep Definition Manually
Overriding a Variables Current Value in a Parametric Setup

Optimetrics 17-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Specifying Variable Values for a Sweep Definition


To specify the variable values to include in a sweep definition:
1.

Select one of the following in the Add/Edit Sweep dialog box:


Single value

Specify a single value for the sweep definition.

Linear step

Specify a linear range of values with a constant step size.

Linear count

Specify a linear range of values and the number, or count of points within
this range.

Decade count

Specify a logarithmic (base 10) series of values, and the number of values
to calculate in each decade.

Octave count

Specify a logarithmic (base 2) series of values, and the number of values


to calculate in each octave.

Exponential count Specify an exponential (base e) series of values, and the number of values
to calculate.
2.

If you selected Single value, type the value of the sweep definition in the Value box.
If you selected another sweep type, do the following:
a.

Type the starting value of the variable range in the Start text box.

b.

Type the final value of the variable range in the Stop text box.

Warning

3.

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

If you selected Linear step as the sweep type, type the step size in the Step box.
The step size is the difference between variable values in the sweep definition. The step size
determines the number of design variations between the start and stop values. Simplorer will
solve the model at each step in the specified range, including the start and stop values. The step
size can be negative, when the Stop value is less than the Start value
If you selected another sweep type, type the number of points, or variable values, in the sweep
definition in the Count text box. For Decade count and Octave count, the Count value specifies the number of points to calculate in every decade or octave. For Exponential count, the
Count value is the total number of points. The total number of points includes the start and
stop values.

Related Topics
Synchronizing Variable Sweep Definitions

Synchronizing Variable Sweep Definitions


By default, variable sweep definitions are nested. Alternatively, you can synchronize the variable
sweep definitions if they have the same number of sweep points.
17-6 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

For example, if you synchronize a sweep definition that includes values of 1, 2, and 3 inches with a
second sweep definition that includes values of 4, 5, and 6 inches, Simplorer will solve 3 design
variations. The first variation is solved at the variable values of 1 and 4; the second variation is
solved at the variable values 2 and 5; and the third variation is solved at the final variable values 3
and 6.
To synchronize variable sweep definitions:
1.

Under the Sweep Definitions tab of the Setup Sweep Analysis dialog box, select the rows
containing the sweep definitions you want to synchronize.

2.

Click Sync.
The synchronized sweeps are given a group number, which is listed in the Sync # column.

Optionally, view the design variations that are to be solved in table format under the Table tab.
Related Topics
Specifying Variable Values for a Sweep Definitions

Modifying a Variable Sweep Definition Manually


You can manually modify the variable values that are solved for a parametric setup by explicitly
changing, adding, or deleting existing points in a variable sweep definition under the Table tab of
the Setup Sweep Analysis dialog box.
To manually modify a variable sweep definition:
1.

Click the Table tab of the Setup Sweep Analysis dialog box.
The design variations Simplorer solves for the parametric setup listed in table format.

2.

Do one of the following:

To modify a variable value, click a value text box in the table and type a new value.
To delete a variable value from the sweep definition, click the row you want to delete, and
then click Delete.
To add a new variable value to the sweep definition, click Add. Then click in the value
text box and type a new value.

Warning

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

Optimetrics 17-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Your modifications are tracked and available for viewing at the bottom of the Setup Sweep Analysis dialog box under the Sweep Definitions tab. The operations you performed are listed with
descriptions.
Warning

If you modify an original sweep definition using the Add/Edit Sweep dialog box
after you have manually modified its table of design variations, your manual
modifications become invalid and are removed. A warning is displayed to inform
you that your manual values are about to become invalid, so you can decide whether
or not to proceed.

Related Topics
Adding a Variable Sweep Definition
Overriding a Variables Current Value in a Parametric Setup

Overriding a Variable's Current Value in a Parametric Setup


If you choose not to sweep a variable, Simplorer uses the variable's current value set for the nominal design when it solves the parametric setup. To override the current variable value for a parametric setup:
1.

In the Setup Sweep Analysis dialog box, click the General tab.
Under Starting Point, all of the current independent design variable values are listed.

2.

Click the Value box of the variable with the value you want to override for the parametric
setup.

3.

Type a new value in the Value box, and then press Enter.
The Override option is now selected. This indicates that the value you entered will be used for
the parametric setup. For this parametric setup, the new value will override the current value in
the nominal design.

Note

4.

Alternatively, you can select the Override option first, and then type a new variable
value in the Value box.

Optionally, click a new unit in the Units box.

To revert to the current variable value, clear the Override option.


Warning

5.

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

In the SIM. Setup area of the dialog box, all available simulation types associated with the
project will be listed. Select the simulation setups to be run during parametric analysis by

17-8 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

selecting or unselecting individual simulation types.


Note

Improper or undefined simulation setups will cause errors during Parametric Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Parametric Analysis.

Related Topics
Adding a Variable Sweep Definition
Modifying a Variable Sweep Definition Manually

Specifying a Solution Setup for a Parametric Setup


To specify the solution setup that Simplorer analyzes when it solves a parametric setup:
1.

In the Setup Sweep Analysis dialog box, click the General tab.

2.

Select the solution setup you want Simplorer to use when it solves the parametric setup.
Simplorer solves the parametric setup using the solution setup you select. If you select more
than one, results are generated for all selected solution setups.

Related Topics
Specifying the Solution Quantity to Evaluate for Parametric Analysis
Specifying a Solution Quantitys Calculation Range

Specifying the Solution Quantity to Evaluate for Parametric Analysis


When you add a parametric setup, you can identify one or more solution quantities to be presented
in the Post Analysis Display dialog box. The solution quantities are specified by mathematical
expressions that are composed of basic quantities, such as output variables. When you view the
results, Simplorer extracts the solution quantities and lists them in the results table.
1.

In the Setup Sweep Analysis dialog box, click the Calculations tab.
This displays a table that will show Solutions and associated Calculations. Below the table, are
control buttons to Setup Calculations... and Delete.

2.

Click Setup Calculations.


This displays the Add/Edit Calculation dialog. The dialog contains panes to set the Context,
the Trace tab for the Calculation Expression, and the Calculation Range tab for the Calculation Range.
Follow the procedure to Setup Calculations for Optimetrics.

3.

Click Add Calculation to add the expression in the Add/Edit Calculation dialog Calculation
Expression field to the Calculations tab of the Setup Sweep Analysis dialog.

4.

Click Done to close the Add/Edit Calculation dialog.

Optimetrics 17-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Related Topics
Specifying a Solution Quantitys Calculation Range
Specifying Specifying Specifying Specifying Output Variables
Setup Calculations for Optimetrics.

Setup Calculations for Optimetrics


The Setup dialogs for each of the Optimetrics types include a Setup Calculations button. Clicking
this displays the Add/Edit Calculation dialog box. The dialog box contains distinct panes and tabs
to set the Context, the Calculation Expression, and the Calculation Range.
The Context pane contains fields for the Report Type to use, the Solution, and the Domain.
The Trace tab contains fields for the Calculation expression, and, to build the expression, a Category list, a Quantity list with a Text Filter field, and a list of Functions available for the selected
Category. The Range Range Range Range function button opens a dialog in which you can define a
range function to apply a function to the expression.
The Category list for the Trace tab includes Variables and Output Variables. An Output Output
Output Output Variables... button lets you open a dialog box to define and edit the Output Variables.
To setup an Optimetrics calculation:
1.

Click the Setup Calculations button to open the Add/Edit/Calculation dialog.

2.

In the Report Type text field in the Context pane, select from the drop down list of available
types.

3.

In the Solution text box, select from the drop down list of available solutions.

4.

In the Trace tab, specify the solution Category, a Quantity, and Functions. The resulting
expression will be displayed in the Calculation Expression field.
a.

Select the Category from the list.


The selection appears in the Calculation Expression field, and the Quantity and Function
fields list what is available for the corresponding selection.

b.

Select the Quantity from the list.


The selected quantity appears in the Calculation Expression field.
If the Quantity list is long, you can filter it for easier selection by typing in the text filter
field. Only quantities that contain those alphanumeric characters anywhere in their name
will remain visible in the list.
If you want to create an output output output output variable that represents the solution
quantity, do the following:

Click the Output Variables button.


The Output Variables dialog box appears.

Add the expression you want to evaluate, and then click Done.
The recently created output variable appears in the Quantity list.

17-10 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Note

Click a new output variable in the Quantity pull-down list.

The calculation you specify must be able to be evaluated into a single, real number.
The selected Quantity appears in the Calculation Expression field.

c.

Select the Function from the list.


The selected function is applied to the Quantity in the Calculation Expression field.

5.

To apply a Range function to the Calculation Expression, see Setting a Range Range Range
Range function.

6.

Click Add Calculation to add the expression in the Add/Edit Calculation dialog Calculation
Expression field to the Calculations tab of the Setup Sweep Analysis dialog.

7.

Click Done to close the Add/Edit Calculation dialog box.

Related Topics
Specifying a Solution Quantity to Evaluate
Setting a Range Range Range Range function

Specifying a Solution Quantity's Calculation Range


The calculation range of a solution quantity determines the value of intrinsic variables such as frequency (F) at which the solution quantity will be extracted. For a parametric setup, the calculation
range must be a single value. For a Driven Modal or Driven Terminal design, if you selected to
extract the solution from the last adaptive solution, Optimetrics uses the adaptive frequency defined
in the solution setup. If you selected to extract the solution quantity from a frequency sweep solution, Optimetrics by default will use the starting frequency in the sweep.
1.

In the Setup Sweep Analysis dialog box, click the Calculations tab.

2.

Click the Setup Calculations button.


The Add/Edit/Calculation dialog box appears.

3.

Select the Calculation Range tab.

4.

In the Variable list, click an intrinsic variable.


Single Value is selected by default.

5.

In the Value box, click a value at which the solution quantity will be extracted.

6.

Click Update, and then click Edit.

Viewing Results for Parametric Solution Quantities


1.

In the project tree, right-click the parametric setup for which you want to view the results calculated for the solution quantities, and then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Select the parametric setup with the results you want to view from the pull-down list at the top
of the dialog box.
Optimetrics 17-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

3.
4.

Make sure the Result tab is selected on the dialog.


To view the results in tabular form, select Table as the view type.
The results for the selected solution quantities are listed in table format for each solved design
variation.

5.

Optionally, select Show complete output name.


The complete name of the solution for which the results are being displayed will be listed in
the column headings.

6.

Optionally, click a design variation in the table, and then click Apply (at the far right side of
the dialog box).
Simplorer now points to the selected design variation as the nominal solution and as a result,
the design is changed to represent the selected design variation.
Click Revert to return the design in the view window to the original value.

7.

To view the results in graphic form, select Plot as the view type.

8.

Select the variable with the swept values you want to plot on the x-axis from the X pull-down
list.

9.

Only one sweep variable at a time can be plotted against solution quantity results. Any other
variables that were swept during the parametric analysis remain constant.
Optionally, to modify the constant values of other swept variables, do the following:
a.

Click Set Other Sweep Variables Value.


The Setup Plot dialog box appears. All of the other solved variable values are listed.

b.

Click the row with the variable value you want to use as the constant value in the plot, and
then click OK.

10. Select the solution quantity results you want to plot on the y-axis from the Y pull-down list.
The x -y plot appears in the view window.
You can modify the display by right-clicking in the graph area. See CreatingCreatingCreatingCreating Reports for details on these operations.
11. To view profile information about the analysis, click the Profile tab on the Post Analysis Display dialog.
12. When more than one parametric analysis has been run, use the left and right arrows to select a
profile.
13. Click Close to close the Post Analysis Display dialog.
Related Topics
Plotting Solution Quantity Results vs. a Swept Variable
Viewing Solution Data for an Optimetrics Design Variation

17-12 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

Adding a Parametric Sweep from a File


You can specify the parameters for a parametric sweep in a spreadsheet that uses either a .csv
(comma delimited) or .txt (tab delimited) format. You can then import the parametric sweep using
the Simplorer Circuit>Optimetrics Analysis>Add Parametric from File command.
For example, a .txt spreadsheet file could resemble the following:
@a $b $c[in] d[m] $e $f
0.1 mil 2mm 11 21 0.6in 8
0.2mil 3mm 1.3 2.6mm 3 9cm
...
The first row lists the Project and Design Variable names, and when followed by parentheses or
square brackets, the units. The following rows provide the variable values and units. Project or
Design variables must be defined before they are accepted from a file. The characters in variable
names are not case sensitive. Consecutive separators, tabs for .txt files, or commas for .csv files,
are treated as one separator.
Related Topics
Setting up a Parametric Analysis

Using Distributed Analysis


If you have purchased the appropriateappropriateappropriate license, Simplorer supports distributed solve, which involves distributing rows of a parametric table during Optimetrics solve.
If you do a distributed solve, Simplorer launches solver engines on multiple machines, assuming
that you have configuredconfiguredconfigured your machines appropriately.
To run a distributed analysis:
1.

Under Optimetrics in the project tree, right-click the specific parametric setup.
A shortcut menu appears.

2.

Select Distribute Analysis from the shortcut menu.

Note

After you define a parametric sweep, a shortcut menu becomes available when you
right-click the setup name.

While the analysis is running, you can access parent and child progressprogressprogress bars.
By default, only the main progress bar is displayed, while the child progress bars (or subtasks)
remain hidden. You can toggle between showing and hiding the child progress bars.
To show the child progress bars:

Right-click the progress window, and select Show Subtask Progress Bars.

To hide the child progress bars:

Right-click the progress window, and select Hide Subtask Progress Bars.

Related Topics:
Optimetrics 17-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Maxwell 3D Online Help

GeneralGeneralGeneral Options: Analysis Options Tab


SolvingSolvingSolving Remotely (Windows Only)
SettingSettingSetting Up Distributed Analysis with Licensing
ViewingViewingViewing Distributed Analysis Subtasks

17-14 Optimetrics

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Optimization Overview
Optimetrics interfaces with ANSYS Electromagnetics products to enable the optimization of a
wide variety of design parameters based on variable geometry, materials, excitations, component
values, etc. Optimization is the process of locating the minimum of a user-defined cost function.
Optimetrics modifies the variable values until the minimum is reached with acceptable accuracy.
Related Topics
Setting Up an Optimization Analysis
Choosing an Optimizer

Choosing an Optimizer
Conducting an optimization analysis allows you to determine an optimum solution for your problem. In Simplorer optimization analyses, you have five choices of optimizer, though in most cases,
the Sequential Nonlinear Programming optimizer is recommended.

Sequential Nonlinear Programming (SNLP)


Sequential Mixed Integer NonLinear Programming (SMINLP)
Quasi Newton
Pattern Search
Genetic Algorithm
MATLAB Optimizer

All five optimizers assume that the nominal problem you are analyzing is close to the optimal solution; therefore, you must specify a domain that contains the region in which you expect to reach the
optimum value.
All five optimizers allow you to define a maximum limit to the number of iterations to be executed.
This prevents you from consuming your remaining computing resources and allows you to analyze
the obtained solutions. From this reduced range, you can further narrow the domain of the problem
and regenerate the solutions.
All optimizers also allow you to enter a coefficient in the Add Constraints window to define the
linear relationship between the selected variables and the entered constraint value. For the SNLP
and NMINLP optimizers, the relationship can be linear or nonlinear. For the Quasi Newton and
Pattern Search optimizers, the relationship must be linear.

Quasi Newton
If the Sequential Non Linear Programming Optimizer has difficulty, and if the numerical noise
is insignificant during the solution process, use the Quasi Newton optimizer to obtain the
results. The Quasi Newton optimizer works on the basis of finding a minimum or maximum of
a cost function which relates variables in the model or circuit to overall simulation goals. The
user defines one or more variables in the problem definition and a cost function in the optimization setup. The cost function relates the variable values to field quantities, design parameters
like force or torque, power loss, etc. The optimizer can then maximize or minimize the value of
the design parameter by varying the problem variables.
Setting up an Optimetrics Analysis 17-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Sir Isaac Newton first showed that the maximum or minimum of any function can be determined by setting the derivative of a function with respect to a variable (x) to zero and solving
for the variable. This approach leads to the exact solution for quadratic functions. However, for
higher order functions or numerical analysis, an iterative approach is commonly taken. The
function is approximately locally by a quadratic and the approximation is solved for the value
of x. This value is placed back into the original function and used to calculate a gradient which
provides a step direction and size for determining the next best value of x in the iteration process.
In the Quasi-Newton optimization procedure, the gradients (Hessian) are not well behaved
functions and are calculated numerically. Essentially, the change in the estimate of x and the
change in the gradient are used to estimate the Hessian for the next iteration. The ratio of the
change in the gradients to the change in the values of x provides the Hessian for the next step
and is know as the quasi-Newton condition. In order to perform the Quasi-Newton optimization, at least three solutions are required for each parameter being varied. This can have a significant computational cost depending upon the type of analysis being performed.
There are numerous methods described in the literature for solving for the Hessian and the
details of the method used by Optimetrics are beyond the scope of this document. However, as
the Quasi-Newton method is, at its heart, a gradient method, it suffers from two fundamental
problems common to optimization. The first is the possible presence of local minima. The fig-

17-16 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ure below illustrates the problem of local minima. In this scenario, you can see that in order to

find the minimum of the function over the domain, a number of factors will determine the
overall success including the initial starting point, the initial set of gradients calculated, the
allowable step size, etc. Once the optimizer has located a minimum, the Quasi-Newton
approach will locate the bottom and will not search further for other possible minima. In the
example shown, when the optimizer begins at the point labeled Starting Point 1" the minima it
finds is a local minima and not a good global solution to the problem.
The second basic issue with Quasi-Newton optimization is numerical noise. In gradient optimization, the derivatives are assumed to be smooth, well behaved functions. However, when
the gradients are calculated numerically, the calculation involves taking the differences of
numbers that get progressively smaller. At some point, the numerical imprecision in the
parameter calculations becomes greater than the differences calculated in the gradients and the
solution will oscillate and may never reach convergence. To illustrate this, consider the figure

Setting up an Optimetrics Analysis 17-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

shown below. In this scenario, the optimizer is looking for the point labeled minimum. Three

possible solutions are labeled A, B and C, with each arrow indicating the direction of the derivative of the function at that point. If points A and B represent the last two solution points for
the parameter, then it is easy to see that the changes in the magnitude and the consistent direction of the derivatives will serve to push the solution closer to the desired minimum. If, however, points A and C are the last two solution points respectively, the magnitude indicates the
proper direction of movement, but the derivatives are opposite, possibly causing the solution to
move away from the minimum, back in the direction of point A.
In order to use the Quasi-Newton optimizer effectively, the cost function should be based on
parameters that exhibit a smooth characteristic (little numerical noise) and a starting point of
the optimization should be chosen somewhat close to the expected minimum based on an
understanding of the physical problem being optimized. This becomes increasingly difficult,
however, when multiple parameters are being varied or when multiple parameters are to be
optimized. In addition, the computational burden of multivariate optimization with QuasiNewton increases geometrically with the number of variables being optimized. As a result, this
method should only be attempted when 1 or 2 variables are being optimized as a time.
For more information regarding Quasi-Newton optimization methods, see the following reference:
17-18 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Schoenberg, Ronald. Optimization with the Quasi-Newton Method. Aptech Systems, Inc.
2001.
Related Topics
Optimization Setup for Quasi Newton Optimizer

Pattern Search
If the noise is significant in the nominal project, use the Pattern Search optimizer to obtain the
results. It performs a grid-based simplex search, which makes use of simplices: triangles in 2D
space or tetrahedra in 3D space. A simplex is a Euclidean geometric spatial element having the
minimum number of boundary points, such as a line segment in one-dimensional space, a triangle in two-dimensional space, or a tetrahedron in three-dimensional space.
The cost value is calculated at the vertices of the simplex. The optimizer mirrors the simplex
across one of its faces based on mathematical guidelines and determines if the new simplex
provides better results. If it does not produce a better result, the next face is used for mirroring
and the pattern continues. If no improvement occurs, the grid is refined. If improvement
occurs, the step is accepted and the new simplex is generated to replace the original one. The
figures below illustrates a triangular simplex mirrored several times to demonstrate the pattern
search approach in two variables and the simplices superimposed on a 2D cost function to

Setting up an Optimetrics Analysis 17-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

demonstrate the convergence toward a minimum in the cost function.

17-20 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Pattern Search algorithms are extensible to three variable optimization by using tetrahedral simplices, however, they are not easily represented in graphical form. Generally, Pattern
Search algorithms are not used when more than three variables are used in the optimization.
When there is not improvement in the cost function regardless of the direction the simplex is
mirrored, then the simplex is subdivided into smaller simplices and the process restarted.
Pattern Search algorithms have several advantages over Quasi-Newton algorithms. First, they
are less sensitive to noise because the cost function is evaluated at all node points on the simplex and the numerical noise averages out over the simplex. The second advantage is that the
number of initial solutions is generally smaller as shown in the table. However, since the pattern search does not use gradient information to locate the minimum the process converges
more slowly toward the true minimum, taking more steps to successively divide the simplices
as the minimum is approached.
Related Topics
Optimization Setup for Pattern Search Optimizer

Sequential Non-linear Programming (SNLP)


The main advantage of SNLP over Quasi Newton is that it handles the optimization problem in
more depth. This optimizer assumes that the optimization variables span a continuous space.
Setting up an Optimetrics Analysis 17-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

As a result, there is no Minimum Step Size specified in this optimizer and the variables may
take any value within the allowable constraints and within the numerical precision limits of the
simulator. Like Quasi Newton, the SNLP optimizer assumes that the noise is not significant. It
does reduce the effect of the noise, but the noise filtering is not strong.
The SNLP optimizer approximates the FEA characterization with Response Surfaces (RS).
With the FEA-approximation and with light evaluation of the cost function, SNLP has a good
approximation of the cost function in terms of the optimization variables. This approximation
allows the SNLP optimizer to estimate the location of improving points. The overall cost
approximations are more accurate. This allows the SNLP optimizer a faster practical convergence speed than that of quasi Newton.
The SNLP Optimizer creates the response surface using a Taylor Series approximation from
the FEA simulation results available from past solutions. The response surface is most accurate
in the local vicinity. The response surface is used in the optimization loop to determine the gradients and calculate the next step direction and distance. The response surface acts as a surrogate for the FEA simulation, reducing the number of FEA simulations required and greatly
speeding the problem. Convergence improves as more FEA solutions are created and the
response surface approximation improves.
The SNLP method is similar to the Sequential Quadratic Programming (SQP) method in two
ways: Both are sequential, updating the optimizer state to the current optimal values and iterating. Sequential optimization can be thought of a walking a path, step by step, toward an optimal goal. SNLP and SQP optimizers are also similar in that both use local and inexpensive
surrogates. However, in the SNLP case, the surrogate can be of a higher order and is more generally constrained. The goal is to achieve a surrogate model that is accurate enough on a wider
scale, so that the search procedures are well lead by the surrogate, even for relatively large
steps. All functions calculated by the supporting finite element product (for example, Maxwell
3D or HFSS) is assumed to be expensive, while the rest of the cost calculation (for example, an
extra user-defined expression) which is implemented in Optimetrics is assumed to be
inexpensive. For this reason, it makes sense to remove inexpensive evaluations from the finite
element problem and, instead, implement them in Optimetrics. This optimizer holds several
advantages over the Quasi Newton and Pattern Search optimizers.
Most importantly, due to the separation of expensive and inexpensive evaluations in the cost
calculation, the SNLP optimizer is more tightly integrated with the supporting FEA tools. This
tight integration provides more insight into the optimization problem, resulting in a significantly faster optimization process. A second advantage is that the SNLP optimizer does not
require cost-derivatives to be approximated, protecting against uncertainties (noise) in cost
evaluations. In addition to derivative-free state of the RS-based SNLP, the RS technique also
proves to have noise suppression properties. Finally, this optimizer allows you to use nonlinear
constraints, making this approach much more general than either of the other two optimizers.
Related Topics
Optimization Setup for SNLP Optimizer

17-22 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Sequential Mixed Integer NonLinear Programming


The Sequential Mixed Integer Nonlinear Programming (SMINLP) optimizer is equivalent to
the SNLP optimizer with only one difference. Many problems require variables take only discrete values. One example might be to optimize on the number of turns in a coil. To be able to
optimize on number of turns or quarter turns, the optimizer must handle discrete optimization
variables. The SMINLP optimizer can mix continuous variables among the integers, or can
have only integers, and works if all variables are continuous. The setup resembles the setup for
SNLP, except that you must flag the integer variables.supporting integer variables. You can set
up internal variables based on the integer optimization variable.
For example, consider N to be an integer optimization variable. By definition it can only
assume integer values. You can establish another variable, which further depends on this one:
K = 2.345 * N, or K = sin(30 * N). This way K has a discrete value, but is not necessarily integer. Or, one can use N directly as a design parameter.
Related Topics
Optimization Setup for SMINLP Optimizer

Genetic Algorithm
Genetic Algorithm (GA) optimizers are part of a class of optimization techniques called stochastic optimizers. They do not use the information from the experiment or the cost function to
determine where to further explore the design space. Instead, they use a type of random selection and apply it in a structured manner. The random selection of evaluations to proceed to the
next generation has the advantage of allowing the optimizer to jump out of a local minima at
the expense of many random solutions which do not provide improvement toward the optimization goal. As a result, the GA optimizer will run many more iterations and may be prohibitively slow.
The Genetic Algorithm search is an iterative process that goes through a number of generations
(see picture below). In each generation some new individuals (Children / Number of Individuals) are created and the so grown population participates in a selection (natural-selection) process that in turn reduces the size of the population to a desired level (Next Generation /

Setting up an Optimetrics Analysis 17-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Number of Individuals).

When a smaller set of individuals must be created from a bigger set, the GA selects individuals
from the original set. During this process, better fit (in relation to the cost function) individuals
are preferred. In the elitist selection, simply the best so many individuals are selected, but if
you turn on the roulette selection, then the selection process gets relaxed. An iterative process
starts selecting the individuals and fill up the resulting set, but instead of selecting the best so
many, we use a roulette wheel that has for each selection-candidate divisions made proportional to the fitness level (relative to the cost function) of the candidate. This means that the fitter the individual is, the larger the probability of his survival will be.
Related Topics
Optimization Setup for Genetic Algorithm Optimizer
Optimization Variables in Design Space
Cost Function
Advanced Genetic Algorithm Optimizer Options

MATLAB optimizer
The MATLAB optimizer option lets you pass a script to MATLAB to perform the optimization.
When optimization is started, MATLAB is launched and a script is passed in to MATLAB to perform the optimization. During optimization, MATLAB calls back into Simplorer to perform the
solve and compute the cost. The cost is reported back to MATLAB, and MATLAB's optimization
then determines the next step in the optimization.

17-24 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The optimization script is specified as part of the optimization setup. By modifying the optimization script, users can change optimization parameters and optimization method as well as use the
full power of MATLAB.
Running the Optimization
A MATLAB optimization is launched like any other optimization. The Message Manager displays
status messages when MATLAB is being launched, and status messages are generated for each
solve that is being performed.
In most cases, MATLAB terminates when the optimization has been completed. Some reasons why
MATLAB may fail to terminate include:

The user has modified the MATLAB script to not terminate MATLAB after the optimization.
A syntax error or some other error has occurred.
The user has added some other code, which runs after the optimization has completed.

System Requirements
In order to use MATLAB to perform optimizations from your application:

A version of MATLAB must be installed on your system.


The computing platform (i.e. 32/64 bit) of MATLAB MUST match the platform of the
ANSYS application you are using it with.
You must have the MATLAB Optimization Toolkit installed.

Specifying the MATLAB Location


The Tools>General Options:Miscellaneous tab contains a setting for the MATLAB application
location. This setting must to point to the version of MATLAB to be used for performing the optimization. The platform (32/64 bit) of the specified version of MATLAB must match the platform of
this application.
MATLAB Optimization Setup
MATLAB optimization starts by creating an optimization and selecting MATLAB from the optimizer dropdown list. If you select MATLAB as the optimizer, the Setup Optimization dialog displays a Setup... button.

Setting up an Optimetrics Analysis 17-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Select Setup.. to open the MATLAB Options dialog.

Thee upper text panel is informative. The Script section drop-down lets you select a lower panel
display for Optimization algorithm, Options, or the Full script template.
This panel allows you to modify the script that is passed to MATLAB to perform the optimization.
The complete script contains all the instructions necessary for MATLAB to connect to Simplorer
and perform the optimization. The dropdown selection lets you view only the portion of code of
interest without having to view the full script. The choices are:

Optimization algorithm: displays only the line of code invoking the actual optimization function. By changing this line, the user can use a different MATLAB function for optimization.
By default fmincon() is used, which is a derivative-based constrained optimization. By
modifying this line, the user could replace the fmincon() call with fminsearch() to use
an unconstrained pattern searching optimizer or another optimization function. See the MATLAB documentation for details about available optimization functions.
Options: Each optimization function contains many options and parameters, which are set in
the MATLAB script prior to actually calling the optimization function. By modifying these
options, the optimization can be customized as desired. For instance, options can be set for
fmincon() to specify the algorithm that it uses internally. See the MATLAB documentation
for details about options available for each optimization function.
Full script template: This choice displays the full optimization script that is passed to MATLAB.

The initial Script Section display for the Optimization algorithm shows the following:
% invoke optimization
[x,fval,exitflag,output] = fmincon(wrapperfunc, startingpoint,
[], [], [], [], $ANS_MINVAL, $ANS_MAXVAL, nlcon, options)
The initial Script Section Options display shows the following:
% customers can add their own options below
17-26 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

options = optimset(options, 'display', 'iter')


options = optimset(options, 'Algorithm', 'interior-point')
% options = optimset(options, 'PlotFcns', @optimplotfval)
You can modify the script to extend and customize the optimization to your needs. You must
ensure that the script follows MATLAB syntax. For instance, by modifying the optimization script
you can:

Change the optimization algorithm (e.g. call fminsearch instead of fmincon)


Change the parameters/options of the optimization algorithm (see the MATLAB documentation for details).

Specify a plot function to provide graphical output during optimization.


Specify a user defined output function to be called at completion or per iteration.

Symbols:
When modifying the MATLAB code, users can use symbols to represent values from the optimization setup. The symbols and their definitions are listed below.
$ANS_VARIABLE_LIST:

list of variables we are optimizing

$ANS_STARTING_POINT:

vector of starting values of variables used in the optimization

$ANS_MAXITERATIONS:

maximum number of iterations specified in optimization setup

$ANS_MINVAL:

vector of minimum values from optimization setup

$ANS_MAXVAL:

vector of maximum values from optimization setup

$ANS_MINSTEP:

vector of minimum step sizes from optimization setup

$ANS_MAXSTEP:

vector of maximum step sizes from optimization setup

Note

While modifying the script, please ensure that the script follows MATLAB syntax.

MATLAB Optimization Script Template


The script template shown in the Script Section is as follows:
% make sure platform matches
if strcmp(computer, '$ANS_EXPECTED_PLATFORM') ~= 1
h = msgbox('32/64 platform does not match calling application,
exiting')
uiwait(h)
exit
end
% add installation dir to search path so .mex file can be found
Setting up an Optimetrics Analysis 17-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

originalpath = addpath('$ANS_EXEDIR')
% connect back to opticomengine
callbackinterface = optimex('connect', '$ANS_CONNECTIONSTRING')
% set up optimization
% variables are: $ANS_VARIABLELIST
startingpoint = $ANS_STARTINGPOINT
options = optimset('MaxIter', $ANS_MAXITERATIONS)
iterationCallbackWrapper = @(x, optimValues, state) optimex('notifyiterationcomplete', callbackinterface, x, optimValues.fval,
state)
options = optimset(options, 'OutputFcn', iterationCallbackWrapper)
% halt execution so debugger can be attached
% h = msgbox('attach debugger if desired')
% uiwait(h)
% attributes that user can pass to optimization algorithm
% variables are: $ANS_VARIABLELIST
% this is the objective function which returns cost
wrapperfunc = @(x)optimex('eval', callbackinterface, x)
% this is our non linear constraint function, returns no constraints
returnempty = @(x)[];
nlcon = @(x) deal(returnempty(x), returnempty(x));
% DO NOT EDIT THIS LINE - START OPTIONS SECTION
% customers can add their own options below
options = optimset(options, 'display', 'iter')
options = optimset(options, 'Algorithm', 'interior-point')
% options = optimset(options, 'PlotFcns', @optimplotfval)

17-28 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

% DO NOT EDIT THIS LINE - END OPTIONS SECTION


% DO NOT EDIT THIS LINE - START OPTIMIZATION ALGO SECTION
% invoke optimization
[x,fval,exitflag,output] = fmincon(wrapperfunc, startingpoint, [],
[], [], [], $ANS_MINVAL, $ANS_MAXVAL, nlcon,
options)
% DO NOT EDIT THIS LINE - END OPTIMIZATION ALGO SECTION
% write exit message to Ansoft message window (warning=0,error=1,info=2)
optimex('postansoftmessage', callbackinterface, 2, output.message)
% notify opticomengine that optimization is finished
optimex('optimizationfinished', callbackinterface, exitflag)
% restore original path
path = originalpath
% note: comment below line if you want MATLAB to remain
% running after optimization
exit
Related Topics
Tools>General Options:Miscellaneous tab

Optimization Variables and the Design Space


Once the optimization variables are specified, the optimizer handles each of them as an n-dimensional vector x. Any point in the design space corresponds to a particular x-vector and to a design
instance. Each design instance may be evaluated via FEA and assigned a cost value; therefore, the
n
cost function is defined over the design space (cost(x): R R , where n is the number of optimization variables.
In practice, a solution of the minimization problem is sought only on a bounded subset of the Rn
space. This subset is called the feasible domain and is defined via linear constraints.

Setting up an Optimetrics Analysis 17-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Up an Optimization Analysis


Optimization allows you to vary predefined variables in the nominal design to search for the solution that best satisfies a set of user defined goals or cost functions. Optimetrics modifies the variable values until the minimum is reached with acceptable accuracy.
Note

You can define more than one optimization analysis setup per design.
Once you have created an optimization analysis setup, you can copy and paste it,
and then make changes to the copy, rather than redoing the whole process for minor
changes.

To provide a broad range of capability, Optimetrics incorporates the following types of numerical
optimizers:

Sequential Nonlinear Programming (SNLP)


Sequential Mixed Integer Nonlinear Programming (SMINLP)
Quasi Newton
Pattern Search
Genetic Algorithm
MATLAB

Click on the links above to view the setup procedure for each optimizer. Options for the analysis
are listed in the table.
The following optional optimization solution setup options can also be used:

Modify the starting variable value.


Modify the minimum and maximum values of variables that will be optimized.
Exclude variables from optimization.
Modify the values of fixed variables that are not being optimized.
Set the minimum and maximum step size between solved design variations (For the Quasi
Newton and Patterns Search optimizers, Variables tab).
Set the minimum and maximum focus size. (For the SNLP and SMINLP optimizers, Variables tab).
Set Linear constraints.
Request that Optimetrics solve a parametric sweep before an optimization analysis.
Request that Optimetrics solve a parametric sweep during an optimization analysis.
Automatically update optimized variables to the optimal values during an optimization or
after an optimization analysis is completed.
Change the norm used for the cost function calculation (Advanced Option)
Enable a fast calculation-update algorithm to speed up optimetrics and report updates
during optimetrics analyses. By default, the fast calculation-update option is automatically
enabled whenever it is applicable.

17-30 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Sweeping or using a complex variable is not allowed in any optimetrics setup, including
optimization, statistical, sensitivity, and tuning setups.

Note

Improper or undefined simulation setups will cause errors during Optimetrics Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Optimetrics Analysis.

Related Topics
Optimization Overview
Choosing an Optimizer

Optimization Setup for the Quasi Newton Optimizer


Following is the procedure for setting up an optimization analysis using the Quasi Newton Optimizer. Once you have created a setup, you can Copy and Paste it, and then make changes to the
copy, rather than redoing the whole process for minor changes.
1.

Set up the variables you want to optimize in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Optimization
.
The Setup Optimization dialog box appears.

3.

Under the Goals tab, select the optimizer by selecting Quasi Newton from the Optimizer
pull-down list. Selecting Quasi Newton enables the Acceptable Cost and Noise fields.

4.

Type the maximum number of iterations you want Optimetrics to perform during the optimization analysis in the Max. No. of Iterations text box.

5.

Under Cost Function, add a cost function by selecting the Setup Calculations button to open
the Add/Edit Calculation dialog.

6.

Type the value of the cost function at which the optimization process should stop in the
Acceptable Cost text box.

7.

Type the cost function noise in the Noise text box.

8.

If you want to select a Cost Function Norm Type:

Check the Show Advanced Option check box.


The Cost Function Norm Type pull-down list appears.

Select L1, L2, or Maximum.


A norm is a function that assigns a positive value to the cost function.
For L1 norm the actual cost function uses the sum of absolute weighted values of the individual goal errors. For L2 norm (the default) the actual cost function uses the weighted
sum of squared values of the individual goal error. For the Maximum norm the cost function uses the maximum among all the weighted goal errors. (For further details, see ExplaSetting up an Optimetrics Analysis 17-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

nation of the L1, L2, and Max Norms in Optimization.)


The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios.
9.

In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Min/Max Step Size for the analysis.

You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.
Optionally, modify the values of fixed variables that are not being optimized.
Optionally, set Linear constraints.

10. In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.
Enabling the Update design parameters value after optimization checkbox will cause Optimetrics to modify the variable values in the nominal design to match the final values from the
optimization analysis.
11. Use the Options tab if you want to enable use of a fast calculation-update algorithm to speed
up optimetrics and report updates during optimetrics analyses, and to save the solution data for
solved design variations in the analysis.

Optimization Setup for the Pattern Search Optimizer


Following is the procedure for setting up an optimization analysis using the Pattern Search Optimizer. Once you have created a setup, you can Copy and Paste it, and then make changes to the
copy, rather than redoing the whole process for minor changes.
1.

Set up the variables you want to optimize in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Optimization
.
The Setup Optimization dialog box appears.

3.

Under the Goals tab, select the optimizer by selecting Pattern Search from the Optimizer
pull-down list. Selecting Pattern Search enables the Acceptable Cost and Noise fields.

4.

Type the maximum number of iterations you want Optimetrics to perform during the optimization analysis in the Max. No. of Iterations text box.

5.

Under Cost Function, add a cost function by selecting the Setup Calculations button to open
the Add/Edit Calculation dialog.

6.

Type the value of the cost function at which the optimization process should stop in the
Acceptable Cost text box.

7.

Type the cost function noise in the Noise text box.

8.

If you want to select a Cost Function Norm Type:

Check the Show Advanced Option check box.


The Cost Function Norm Type pull-down list appears.

Select L1, L2, or Maximum.

17-32 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

A norm is a function that assigns a positive value to the cost function.


For L1 norm the actual cost function uses the sum of absolute weighted values of the individual goal errors. For L2 norm (the default) the actual cost function uses the weighted
sum of squared values of the individual goal error. For the Maximum norm the cost function uses the maximum among all the weighted goal errors. (For further details, see Explanation of the L1, L2, and Max Norms in Optimization.)
The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios.
9.

In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Min/Max Step Size for the analysis.

You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.
Optionally, modify the values of fixed variables that are not being optimized.
Optionally, set Linear constraints.

10. In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.
Enabling the Update design parameters value after optimization checkbox will cause Optimetrics to modify the variable values in the nominal design to match the final values from the
optimization analysis.
11. Use the Options tab if you want to enable use of a fast calculation-update algorithm to speed
up optimetrics and report updates during optimetrics analyses, and to save the solution data for
solved design variations in the analysis.

Optimization Setup for the SNLP Optimizer


Following is the procedure for setting up an optimization analysis using the Sequential Nonlinear
Programming (SNLP) Optimizer. Once you have created a setup, you can Copy and Paste it, and
then make changes to the copy, rather than redoing the whole process for minor changes.
1.

Set up the variables you want to optimize in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Optimization
.
The Setup Optimization dialog box appears.

3.

Under the Goals tab, select the optimizer by selecting Sequential Nonlinear Programming
from the Optimizer pull-down list.

4.

Type the maximum number of iterations you want Optimetrics to perform during the optimization analysis in the Max. No. of Iterations text box.

5.

Under Cost Function, add a cost function by selecting the Setup Calculations button to open
the Add/Edit Calculation dialog.

6.

If you want to select a Cost Function Norm Type:

Check the Show Advanced Option check box.


The Cost Function Norm Type pull-down list appears.
Setting up an Optimetrics Analysis 17-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Select L1, L2, or Maximum.


A norm is a function that assigns a positive value to the cost function.
For L1 norm the actual cost function uses the sum of absolute weighted values of the individual goal errors. For L2 norm (the default) the actual cost function uses the weighted
sum of squared values of the individual goal error. For the Maximum norm the cost function uses the maximum among all the weighted goal errors. (For further details, see Explanation of the L1, L2, and Max Norms in Optimization.)
The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios.

7.

In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Min/Max Focus for the analysis.

8.

You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.
Optionally, modify the values of fixed variables that are not being optimized.
Optionally, set Linear constraints.

In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.
Enabling the Update design parameters value after optimization checkbox will cause Optimetrics to modify the variable values in the nominal design to match the final values from the
optimization analysis.

9.

Use the Options tab if you want to enable use of a fast calculation-update algorithm to speed
up optimetrics and report updates during optimetrics analyses, and to save the solution data for
solved design variations in the analysis.

Optimization Setup for the SMINLP Optimizer


Following is the procedure for setting up an optimization analysis using the Sequential Mixed Integer Nonlinear Programming (SMINLP) Optimizer. Once you have created a setup, you can Copy
and Paste it, and then make changes to the copy, rather than redoing the whole process for minor
changes.
1.

Set up the variables you want to optimize in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Optimization
.
The Setup Optimization dialog box appears.

3.

Under the Goals tab, select the optimizer by selecting Sequential Mixed Integer Nonlinear
Programming from the Optimizer pull-down list.

4.

Type the maximum number of iterations you want Optimetrics to perform during the optimization analysis in the Max. No. of Iterations text box.

5.

Under Cost Function, add a cost function by selecting the Setup Calculations button to open
the Add/Edit Calculation dialog.

6.

If you want to select a Cost Function Norm Type:

17-34 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Check the Show Advanced Option check box.


The Cost Function Norm Type pull-down list appears.

Select L1, L2, or Maximum.


A norm is a function that assigns a positive value to the cost function.
For L1 norm the actual cost function uses the sum of absolute weighted values of the individual goal errors. For L2 norm (the default) the actual cost function uses the weighted
sum of squared values of the individual goal error. For the Maximum norm the cost function uses the maximum among all the weighted goal errors. (For further details, see Explanation of the L1, L2, and Max Norms in Optimization.)
The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios.

7.

In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Min/Max Focus for the analysis.

8.

You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.
Optionally, modify the values of fixed variables that are not being optimized.
Optionally, set Linear constraints.

In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.
Enabling the Update design parameters value after optimization checkbox will cause Optimetrics to modify the variable values in the nominal design to match the final values from the
optimization analysis.

9.

Use the Options tab if you want to enable use of a fast calculation-update algorithm to speed
up optimetrics and report updates during optimetrics analyses, and to save the solution data for
solved design variations in the analysis.

Optimization Setup for the Genetic Algorithm Optimizer


Following is the procedure for setting up an optimization analysis using the Genetic Algorithm
Optimizer. Once you have created a setup, you can Copy and Paste it, and then make changes to
the copy, rather than redoing the whole process for minor changes.
1.

Set up the variables you want to optimize in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Optimization
.
The Setup Optimization dialog box appears.

3.

Under the Goals tab, select the optimizer by selecting Genetic Algorithm from the Optimizer
pull-down list.

4.

Click the Setup... button to modify the Advanced Genetic Algorithm Optimizer Options.

5.

Under Cost Function, add a cost function by selecting the Setup Calculations button to open
the Add/Edit Calculation dialog.
Setting up an Optimetrics Analysis 17-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

If you want to select a Cost Function Norm Type:

Check the Show Advanced Option check box.


The Cost Function Norm Type pull-down list appears.

Select L1, L2, or Maximum.


A norm is a function that assigns a positive value to the cost function.
For L1 norm the actual cost function uses the sum of absolute weighted values of the individual goal errors. For L2 norm (the default) the actual cost function uses the weighted
sum of squared values of the individual goal error. For the Maximum norm the cost function uses the maximum among all the weighted goal errors. (For further details, see Explanation of the L1, L2, and Max Norms in Optimization.)
The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios.

7.

In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Min/Max Focus for the analysis.

8.

You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.
Optionally, modify the values of fixed variables that are not being optimized.
Optionally, set Linear constraints.

In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.
Enabling the Update design parameters value after optimization checkbox will cause Optimetrics to modify the variable values in the nominal design to match the final values from the
optimization analysis.

9.

Use the Options tab if you want to enable use of a fast calculation-update algorithm to speed
up optimetrics and report updates during optimetrics analyses, and to save the solution data for
solved design variations in the analysis.

Optimization Setup for the MATLAB Optimizer


Following is the procedure for setting up an optimization analysis using theMATLAB Optimizer.
Once you have created a setup, you can Copy and Paste it, and then make changes to the copy,
rather than redoing the whole process for minor changes.
1.

Set up the variables you want to optimize in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Optimization
.
The Setup Optimization dialog box appears.

3.

Under the Goals tab, select the optimizer by selecting MATLAB from the Optimizer pulldown list. Selecting MATLAB enables the Acceptable Cost and Noise fields.

4.

Click the Setup... button to modify the MATLAB Optimizer Options.

17-36 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Type the maximum number of iterations you want Optimetrics to perform during the optimization analysis in the Max. No. of Iterations text box.

6.

Under Cost Function, add a cost function by selecting the Setup Calculations button to open
the Add/Edit Calculation dialog.

7.

Type the value of the cost function at which the optimization process should stop in the
Acceptable Cost text box.

8.

Type the cost function noise in the Noise text box.

9.

If you want to select a Cost Function Norm Type:

Check the Show Advanced Option check box.


The Cost Function Norm Type pull-down list appears.

Select L1, L2, or Maximum.


A norm is a function that assigns a positive value to the cost function.
For L1 norm the actual cost function uses the sum of absolute weighted values of the individual goal errors. For L2 norm (the default) the actual cost function uses the weighted
sum of squared values of the individual goal error. For the Maximum norm the cost function uses the maximum among all the weighted goal errors. (For further details, see Explanation of the L1, L2, and Max Norms in Optimization.)
The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios.

10. In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Min/Max Step Size for the analysis.

You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.
Optionally, modify the values of fixed variables that are not being optimized.
Optionally, set Linear constraints.

11. In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.
Enabling the Update design parameters value after optimization checkbox will cause Optimetrics to modify the variable values in the nominal design to match the final values from the
optimization analysis.
12. Use the Options tab if you want to enable use of a fast calculation-update algorithm to speed
up optimetrics and report updates during optimetrics analyses, and to save the solution data for
solved design variations in the analysis.

Setting the Maximum Iterations for an Optimization Analysis


The Max. No. of Iterations value is the maximum number of design variations that you want Optimetrics to solve during an optimization when using the SNLP, SMINLP, Quasi Newton, or Pattern
Search Optimizer. This value is a stopping criterion; if the maximum number of iterations has been
completed, the optimization analysis stops. If the maximum number of iterations has not been comSetting up an Optimetrics Analysis 17-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

pleted, the optimization continues by performing another iteration, that is, by solving another
design variation.
If the maximum number of iterations has not been reached, the optimizer performs iterations until
the acceptable cost function is reached or until the optimizer cannot proceed as a result of other
optimization setup constraints, such as when it searches for a variable value with a step size smaller
than the minimum step size.
Note

The Genetic Algorithm optimizer does not use the Max. No. of Iterations criteria.

To set the maximum number of iterations for an optimization analysis:

Under the Goals tab of the Setup Optimization dialog box, type a value in the Max. No. of
Iterations text box.

Related Topics
Adding a Cost Function

Cost Function
Optimetrics manipulates the model's design variable values to find the minimum location of the
cost function; therefore, you should define the cost function so that a minimum location is also the
optimum location.
When using the Quasi Newton optimizer, which is appropriate for designs that are not sensitive to
noise, the best cost function is a smooth, second-order function that can be approximated well by
quadratics in the vicinity of the minimum; the slope of the cost function should decrease as Optimetrics approaches the optimum value. The preferred cost function takes values between 0 and 1.
In practice, most functions that are smooth around the minimum are acceptable as cost functions.
Most importantly, the cost function should not have a sharp dip or pole at the minimum. A well
designed cost function can significantly reduce the optimization process time.
The cost function is defined in the Setup Optimization dialog box when you set up an optimization analysis. If you know the exact syntax of the solution quantity on which you want to base the
cost function, you can type it directly in the Calculation text box. You can also use Setup Calculations to add a solution quantity via the Add/Edit Calculation dialog box, or to create an output
variable that represents the solution quantity in the Output Output Variables dialog box.
Related Topics
Adding a Cost Function
Acceptable Cost
Cost Function Noise
Linear Constraints
Goal Weight
Step Size
Explanation of L1, L1, Norm Costs in Optimization

17-38 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Acceptable Cost
The acceptable cost is the value of the cost function at which the optimization process should stop;
otherwise known as the stopping criterion.The cost function value must be equal to or below the
acceptable cost value for the optimization analysis to stop. The acceptable cost may be a negative
value.
Related Topics
Cost Function
Adding a Cost Function

Cost Function Noise


Numerical analysis introduces various sources of noise to the cost function. You must provide the
optimizer with an estimate of the noise. The noise indicates whether a change during the solution
process is significant enough to support achievement of the cost function.
For example, if the cost function, c, is

c = 10000 L 11

where |L11| is the magnitude of the inductance, at the minimum, |L11| is expected to be very
small, L 11 0 .
From the solution setup, the error in |L11| is expected to be E
L11
tion is therefore

0.01. The perturbed cost func-

c perturbed = 10000 ( L 11
+ E L11 )
min

Near the minimum, the error in the cost function Ec is given by

2
E c = c perturbed c min = 10000 ( 0.0 + 0.01 ) ( 10000 0.0 ) = 1.0
Therefore, the cost function noise would be 1.0.
Related Topics
Cost Function

Adding a Cost Function


A cost function can include one or more goals for an optimization analysis. Optimetrics
manipulates the model's design variable values to fulfill the cost function.The optimization will
stop when the solution quantity meets the acceptable cost criterion.
Setting up an Optimetrics Analysis 17-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Following is the general procedure for adding a cost function with a single goal:
1.

Under the Goals tab of the Setup Optimization dialog box, click Setup Calculations...
The Add/Edit Calculation dialog box is displayed.

2.

In the Add/Edit Calculation dialog box, follow these general steps to set up a cost function.
a.

Set the Context for the calculation.

b.

Choose the Category of available data type depending upon the Solution type of the
design being optimized.

c.

Select the Quantity to add to the Calculated Expression field. Available quantities
depend upon the Category selection.

d.

You may optionally make a selection from the function list to apply to the calculated
expression.

e.

When the Calculation Expression has the desired equation, click Add Calculation to
add the expression to the cost function table.

f.

Repeat to add additional calculations to the cost function or click Done to exit the Add/
Edit Calculation dialog box and return to Setup Optimization.

3.

To modify the Solution on which the calculation is based, click in the Solution column and
select the solution from which the cost function is to be extracted from the pull-down list.

4.

To edit the calculation on which to base the cost function goal, select Edit from the pull-down
list.

5.

In the Condition text box, click one of the following conditions from the pull-down list:
<=

Less than or equal to

Equal to

>=

Greater than or equal to

Minimize Reduce the cost function to a minimum value


Maximize Identify a maximized condition
6.

In the Goal text box, type the value of the solution quantity that you want to be achieved
during the optimization analysis. If the solution quantity is a complex calculation, the goal
value must be complex; two goal values must be specified. The Minimize and Maximize
options do not require you to specify a Goal value.

7.

Optionally, if you have multiple goals and want to assign higher or lower priority to a goal,
type a different value for the goal's weight in the Weight text box. The goal with the greater
weight is given more importance. If the goal is a complex value, the weight value must be

17-40 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

complex; two weight values must be specified. The weight value cannot be variable dependent.
Note

8.

Click the Edit Goal/Weight button to open the Edit Goal Value/Weight dialog box
where you can modify weights for all goals simultaneously; as well as, set the Goal
Values to expressions.

Specify other options (such as acceptable cost, noise, and number of passes), and then click
OK.

The optimization stops when the solution quantity meets the acceptable cost criterion.
Related Topics
Setting a Goal Value
Cost Function
Acceptable Cost
Goal Weight

Adding/Editing a Cost Function Calculation


The Add/Edit Calculation dialog box allows you to define the mathematical equation for one or
multiple cost functions. It represents the calculation to be performed on the optimization variables
to compare to the goal values. To set up a calculation for a cost function:
1.

In the Context section of the dialog:

Select the Report Type with a pull-down selection list containing the available types for
this design.
Select the Solution from the drop down selection list. This lists the available setups and
sweeps. As a minimum, the LastAdaptive solution is available.
Select the Geometry from the drop down selection list or select none (the default). This
modifies the list of quantities available to the ones that apply to the specific geometry.

2.

The Output Variables button opens the Output Output Variables dialog box allowing you to
create special output variables to be used in the cost function.

3.

The Calculated Expression field in the Trace tab is used to enter the equation to be used for
the cost function. To enter an expression, you may type it directly into the field or use the Category, Quantity, and Function lists as follows:

4.

Select the Category, these depend on the Solution type and the design. This lets you specify the category of information to be used in the cost function.
Select a Quantity from the list. Available quantities depend upon the Solution type, as
well as the Geometry and Category selection. Selecting a Quantity automatically enters it
into the Calculated Expression field.
Select a Function to apply to the value in the calculated expression.
For swept variables, the RangeFunction button opens the Set Range Function dialog to
apply functions to the expression that apply over the sweep range.

The Calculation Range tab applies to swept variables and allows you to specify the range of
Setting up an Optimetrics Analysis 17-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

the sweep over which to apply the calculation.


5.

When the desired Calculated Expression has been obtained, click the Add Calculation button to add the entry to the cost function table. You may add multiple entries to the table simply
by changing the Calculated Expression and using the Add Calculation button.

6.

To update or edit a selected cost function, enter the desired Calculated Expression and click the
Update Calculation button.

7.

Click Done to return to the Setup Calculations dialog box.

Specifying a Solution Quantity for a Cost Function Goal


When setting up a cost function, you must identify the solution quantity on which to base each goal.
Solution quantities are specified by mathematical expressions that are composed of basic quantities, such as matrix parameters, and output variables.
1.

Add a row (a goal) to the cost function table:


a.

Under the Goals tab of the Setup Optimization dialog box, click Add.
A new row is added to the Cost Function table.

b.

In the Solution column, click the solution from which the cost function is to be extracted.

2.

In the Solution text box, click the solution from which the solution quantity is to be extracted.

3.

In the Calculation text box, specify the solution quantity in one of the following ways:

If you know the syntax of the mathematical expression or the output variable's name, type
it in the Calculation text box.
If you want to create an output variable that represents the solution quantity, do the following:
a.

Click Edit Calculation.


The Output Variables dialog box appears.

b.

Add the expression you want to evaluate, click Done.

c.

Click Done to close the Output Variables dialog box.


In the Setup Optimization dialog box, the most recently created output variable
appears in the Calculation text box.

d.

To specify a different defined output variable, click the Calculation text box. It
becomes a pull-down list that displays all of the defined output variables. Click an
output variable from the pull-down list.

Setting the Calculation Range of a Cost Function Goal


The calculation range is the range within which you want a cost function goal to be calculated. It
can be a single value or a range of values, depending on the solution or solution quantity selected
for the goal.
1.

Under the Goals tab in the Setup Optimization dialog box, click Edit Cal. Range.

2.

In the Variable pull-down list, click a variable.


If you chose to solve a parametric setup during the optimization analysis, the variables swept

17-42 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

in that parametric setup are available in the Variable pull-down list. If you sweep a variable in
the parametric setup that is also being optimized, that variable is excluded from the optimization.
Other examples of available variables include frequency, if the solution quantity is an Sparameter quantity, and phi or theta, if the solution quantity is a radiated field quantity.
3.

4.

5.

After you select a variable from the Variable pull-down list, you can select a range of values
for the calculation range as follows:
a.

Select Range.

b.

In the Start text box, type the starting value of the range.

c.

In the Stop text box, type the final value of the range.

To select a single value for the calculation range:


a.

Select Single Value.

b.

In the Value text box, type the value of the variable at which the cost function goal is to be
extracted.

Click Update, and then click OK.

Setting a Goal Value


A goal is the value you want a solution quantity to reach during an optimization analysis. It can be
a real value or a complex value. If the solution quantity is a complex calculation, the goal value
must be complex. You can type the goal value in the Goal text box. Alternatively, you can use the
Edit Goal/Value Weight dialog box to specify the goal value as a single value, a mathematical
expression, or a value dependent on a variable such as frequency.
Related Topics
Specify a single goal value.
Specify an expression as the goal value.
Specify a variable-dependent goal value.

Specifying a Single Goal Value


1.

Under the Goals tab in the Setup Optimization dialog box, click Edit Goal/Weight.
The Edit Goal/Weight dialog box appears.

2.

Under the Goal Value tab, click Simple Numeric Value from the Type list.

3.

If the goal value is complex, click real/imag in the pull-down list to the right if you want
to specify the real and imaginary parts of the goal value.
Alternatively, click mag/ang if you want to specify the magnitude and angle of the goal
value.

4.

Type the goal value in the Goal Value table.


If the goal value is complex, type both parts of the goal value in the text box below the
Goal Value heading. For example, type 1, 1 to specify the real part of the goal value as 1
and the imaginary part as 1.
Setting up an Optimetrics Analysis 17-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If the goal value is real, type a real goal value in the text box below the Goal Value heading.
5.

Click OK.
The goal value you specified appears in the Goal text box.

Specifying an Expression as a Goal Value


1.

Under the Goals tab in the Setup Optimization dialog box, click Edit Goal/Weight.

2.

Under the Goal Value tab, click Expression from the Type list.

3.

If you know the syntax of the mathematical expression or the existing output variable's
name, type it in the text box below the Goal Value heading.

The Edit Goal/Weight dialog box appears.

Alternatively, if you want to create an output variable that represents the goal value, do the
following:
a.

Click Edit Expression.


The Output Variables dialog box appears.

b.

Add the expression you want to be the goal value, and then click Done.
Simplorer enters the most recently created output variable in the text box below the
Goal Value heading.

4.

Click OK.
The goal value you specified appears in the Goal text box.

Specifying a Variable-Dependent Goal Value


1.

Under the Goals tab in the Setup Optimization dialog box, click Edit Goal/Weight.

2.

Under the Goal Value tab, click Variable Dependent from the Type list.

3.

Click a variable from the pull-down list to the left of the table.

4.

Type the value of that variable in the first column of the table.

The Edit Goal/Weight dialog box appears.

Warning

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

5.

Type a corresponding goal value for that variable value in the text box below the Goal
Value heading.

6.

Click Add to add another row to the reference curve.

7.

Repeat steps 4, 5, and 6 until you have specified the reference curve.

8.

Click OK.
The goal value is listed as being variable dependent in the Goal text box.

17-44 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Goal Weight
If an optimization setup has a cost function made up of multiple goals, you can assign a different
weight to each goal. The goal with the greater weight is given more importance during the cost calculation.
The error function value is a weighted sum of the sub-goal errors. Each sub-goal, at each frequency
at which it is evaluated, gives rise to a (positive) error value that represents the discrepancy
between the simulated response and the goal value limit. If the response satisfies the goal value
limit, then the error value is 0. Otherwise, the error value depends on the differences between the
simulated response and the respective goal limit. The error function may be defined as follows:

Wj
-----Nj

Nj

ei
j

where

G is the number of sub-goals.


Wj is the weight factor associated with the jth sub-goal.
Nj is the number of frequencies for the jth sub-goal.
ei is the error contribution from the jth sub-goal at the ith frequency.
The value of ei is determined by the band characteristics, target value, and the simulated response
value. The choices for band characteristics are <=, =, and >=.
Band
Characteristics
(Condition)

ei evaluation where si is the simulated response and


gi is the desired limit.

<=

0
ei =
si gi

ei = si gi

>=

0
ei =
gi si

si gi
si > gi

si gi
si < gi

If the total error value is within the acceptable cost, the optimization stops.
Related Topics
Adding a Cost Function
Setting up an Optimetrics Analysis 17-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Cost Function

Modifying the Starting Variable Value for Optimization


A variable's starting value is the first value to be solved during the optimization analysis. Optimetrics automatically sets the starting value of a variable to be the current value set for the nominal
design. You can modify this value for each optimization setup.
Note

1.

If you choose to solve a parametric setup before an optimization analysis, a variable's


starting value is ignored if a more appropriate starting value is calculated for it during the
parametric analysis.

In the Setup Optimization dialog box, click the Variables tab.


All of the variables that were selected for the optimization analysis are listed.

2.

Type a new value in the Starting Value text box for the value you want to override, and then
press Enter.
The Override option is now selected. This indicates that the value you entered is used for this
optimization analysis, and the current value set for the nominal model is ignored.

3.

Alternatively, you can select the Override option first, and then type a new variable value
in the Starting Value text box.

Optionally, click a new unit system in one of the Units text boxes.

Note

To revert to the default starting value, clear the Override checkbox.

Related Topics
Setting the Min. and Max. Variable Values for Optimization
Step Size
Setting the Min and Max Focus
Modifying the Starting Variable Value for Sensitivity Analysis
Modifying the Starting Variable Value for Statistical Analysis

Setting the Min. and Max. Variable Values for Optimization


For every optimization setup, Optimetrics automatically sets the minimum and maximum values it
will consider for a variable being optimized. Optimetrics sets a variable's minimum value equal to
approximately 50% of its starting value. (The starting value is the variable's current value set for
the nominal design.) Optimetrics sets the variable's maximum value equal to approximately 150%
of the starting value. During the optimization analysis, variable values that lie outside of this range
are not considered.
Warning

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

17-46 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Override the default min and max variable values for a single optimization setup.
Change the default min and max variable values for every optimization setup.

Overriding the Min. and Max. Variable Values for a Single Optimization Setup
1.

In the Setup Optimization dialog box, click the Variables tab.


All of the variables that were selected for optimization analysis are listed.

2.

Type a new value in the Min or Max text box for the value you want to override, and then
press Enter.
The Override option is now selected. This indicates that the value you entered is used for this
optimization analysis; the variable's current Min or Max value in the nominal design is
ignored.

3.

Alternatively, you can select the Override option first, and then type a new value in the
Min or Max text box.

Optionally, click a new unit system in one of the Units text boxes.

To revert to the default minimum and maximum values, clear the Override option.

Changing the Min. and Max. Variable Values for Every Optimization Setup
1.

Make sure that the variable's minimum and maximum values are not being overridden in any
single optimization setup.

2.

If the variable is a design variable, do the following: Click Simplorer Circuit>Design Properties.
If the variable is a project variable, do the following: Click Project>Project Variables.
The Properties dialog box appears.

3.

Select Optimization.

4.

Type a new value in the Min or Max text box for the value you want to override, and then
press Enter.

5.

Click OK.
When Optimetrics solves an optimization setup, it does not consider variable values that lie
outside of this range.

Step Size
To make the search for the minimum cost value reasonable, the search algorithm is limited in two
ways. First, you do not want the optimizer to continue the search if the step size becomes irrelevant
or small. This limitation impacts the accuracy of the final optimum. Second, in some cases you do
not want the optimizer to take large steps either. In case the cost function is suspected to possess
large variations in a relatively small vicinity of the design space, large steps may result in too many
trial steps, which do not improve the cost value. In these cases, it is safer to proceed with limited
size steps and have more frequent improvements.

Setting up an Optimetrics Analysis 17-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For these two limitations, the optimizer uses two independent distance measures. Both are based on
user-defined quantities: the minimum and maximum step limits for individual optimization variables. Since the particular step is in a general direction, these measures are combined together in
order to derive the limitation for that particular direction.
The step vector between the ith and (i+1)th iterate is as follows:

si = xi + 1 xi
The natural distance measure is,

si =

si si

which is the Euclidean norm.


A more general distance measure incorporates some stretching of the design space:,

si

T T

s i D Ds i

where the matrix D incorporates the linear operation of the stretching of design space. The simplest
case is when the D matrix is diagonal, meaning that the design space is stretched along the orthogonal direction of the base vectors.
The optimizer stops the search if,

si

D min

<1

where Dmin consists of diagonal elements


equal to the inverse of the Min. Step value assigned to the corresponding optimization variable.
Similarly the optimizer truncates steps for which

si

D max

>1

where Dmax has diagonal elements equal to the inverse of Max. Step values of the corresponding
optimization variables.
17-48 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Setting the Min. and Max. Step Sizes
Cost Function
Adding a Cost Function

Setting the Min. and Max. Step Sizes


For the Quasi Newton and Pattern Search optimizers, the step size is the difference in a variable's
value between one solved design variation and the next. The step size is determined when Optimetrics locates the next design variation that should be solved in an effort to meet the cost function.
1.

In the Setup Optimization dialog box, click the Variables tab.

2.

Optimetrics displays Min Step and Max Step columns, with default values for each variable
to be optimized.

3.

In the Min Step text box, type the minimum step size value. Optionally, modify the unit system in the Units text box.

4.

In the Max Step text box, type the maximum step size value. Optionally, modify the unit system in the Units text box.

5.

Click OK.
Hint

A value of zero is recommended for the minimum step size.

Related Topics
Step Size

Setting the Min and Max Focus


For the SNLP, SMINLP and Genetic Algorithm optimizers, the min focus and max focus criteria
allow you to specify a sub-range of parameter values where the optimizer should look when performing the optimization. This focus box is where you suspect the optimal solution will be, so it is
a hint for the optimizer.

The domain limits the search. The domain = physical limits.


The focus box does not limit the search. Rather, the Focus box = an initial guess of optimum
Setting up an Optimetrics Analysis 17-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

search domain. The starting point is the center of the focus box, but the search does extend
beyond the box.

This focus must be inside the domain limits. Consequently, it has to be equal or smaller size.
An error message is generated if you specify a focus outside the domain.

The focus box must be at least one hundredth of the domain size. Otherwise, an error message
is sent.

Equalizing the influence of different optimization variables.


The optimizer seeks optimal values for the optimization variables. These variables are usually
quantities with specified units. The change in one variable could be measured in [mm] and the
change in other variable could be measured in [mA]. Instead of those units, the optimizer uses
internal abstract units, so that a change in one variable changes the design behavior about as much
as the same change in another variable, where changes are measured in the respective internal
abstract units. When you define the focus box, the unit of the abstract internal unit is defined as the
difference of the upper and lower focus limits. This way you can use the focus box to equalize the
influence of different optimization variables on the design behavior.

To set the Min and Max Focus values:


1.

In the Setup Optimization dialog box, click the Variables tab.

2.

Optimetrics displays Min. Focus and Max. Focus columns, with default values for each variable to be optimized.
If you do not have an initial guess based on your knowledge of the problem, make the focus
box equal to the domain; that is, the physical limits. This tells SNLP to search the entire decision space.

In the Min. Focus text box, type the minimum value of the focus range. Optionally, modify the unit system in the Units text box.
In the Max. Focus text box, type the maximum value of the focus range. Optionally, modify the unit system in the Units text box.
Click OK.

Solving a Parametric Setup Before an Optimization


Solving a parametric setup before an optimization setup is useful for guiding Optimetrics during an
optimization.
To solve a parametric setup before an optimization setup:
1.

In the Setup Optimization dialog box, click the General tab.

2.

In the Parametric Analysis pull-down list, click the parametric setup you want Optimetrics to
solve before optimization.

Note

3.

The parametric setup must include sweep definitions for the variables you are
optimizing.

Select Solve the parametric sweep before optimization.

17-50 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If the parametric setup has not yet been solved, Optimetrics solves it. Optimetrics uses the cost
value evaluated at each parametric design variation to determine the next step in the optimization
analysis. This enables you to guide the direction in which the optimizer searches for the optimal
design variation.
Related Topics
Solving a Parametric Setup During an Optimization

Solving a Parametric Setup During an Optimization


Solving a parametric setup during an optimization analysis is useful when you want Optimetrics to
solve every design variation specified in the parametric setup at each optimization iteration. A cost
function goal could then depend on the value of the variable swept in the parametric setup.
To solve a parametric setup during an optimization analysis:
1.

In the Setup Optimization dialog box, click the General tab.

2.

In the Parametric Analysis pull-down list, click the parametric setup you want Optimetrics to
solve during an optimization.

3.

Select Solve the parametric sweep during optimization.

4.

Optionally, you can adjust the sweep values to be used during the optimization.
a.

Click on the Goal tab, click Setup Calculations to specify a calculation.


The Add/Edit Calculation dialog box is displayed.

b.

Click the Calculation Range tab.

c.

Click the Edit button for the sweep to be modified.

d.

In the pop-up dialog box, select the sweep values to use.

e.

Close the pup-up dialog box. Click Done to close the Add/Edit Calculation dialog.

Automatically Updating a Variable's Value After Optimization


When Optimetrics finds an optimal variable value by solving an optimization setup, it can automatically update that variable's current value set for the nominal model to the optimal value.
1.

In the Setup Optimization dialog box, click the General tab.

2.

Select Update design parameters' values after optimization.


When optimization is complete, the current variable value for each optimized variable is
changed to the optimal value.

Changing the Cost Function Norm


You can select the norm to be used in the calculation of the cost goal.
1.

In the Setup Optimization dialog box, click the Goals tab.

2.

Select Show Advanced Options.

3.

Select a norm from the pull-down in the Cost Function Norm Type field. The options are L1,
L2, and Maximum. L2 is the default.

Setting up an Optimetrics Analysis 17-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Explanation of L1, L2 and Max Norms in Optimization
Cost Function

Explanation of L1, L2 and Max norms in Optimization


When you set multiple goals for an optimization, the question arises as to what is actually going to
drive the optimizer which is not a multi-objective one. The cost function will have a lot to do with
it. The following discussion explains how the cost function is put together when there are multiple
goals.
The general goal setting structure in Optimetrics is a logical sentence with the format:
Calculation(i) Condition(i) Goal(i) Weight(i)
The cost function that the optimizer uses is built based on the norm setting as long as there are multiple goals and none of those use the minimize or maximize conditions. Thus, in this case the
error associated with each individual goal (weighted) is combined in a way that is specific for each
norm type chosen.
For L1 norm the actual cost function uses the sum of absolute weighted values of the individual
goal errors:

Cost =

wi i
1

For L2 norm the actual cost function uses the weighted sum of absolute values of the individual

Cost =

2
wi i

1
For the Maximum norm the cost function uses the maximum among all the weighted goal errors:

Cost =

N
Max W i i
1

For all the above situations N is the number of individual goals wi i are individual weighting factors and residual error respectively. A minimization of the cost function is performed during optimization since it makes sense to minimize the error in the sense of the chosen norm type.

17-52 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The graphical representation of the error is possible and depends upon the actual condition being
used. If a < condition is used, the error can be represented as below:

If a > condition is used, the error can be represented as below:

If a = condition is used, the error is double-sided and can be represented as below:

Setting up an Optimetrics Analysis 17-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The norm type doesnt impact goal setting that use as condition the minimize or maximize scenarios. Note that when using minimize or maximize settings for the condition there should be a
single goal setting which in this case coincides with the cost function.
Related Topics
Cost Function

Advanced Genetic Algorithm Optimizer Options


The Genetic Algorithm (GA) search for Optimization analysis is an iterative process that goes
through a number of generations. In each generation some new individuals (Children / Number of
Individuals) are created and the so grown population participates in a selection (natural-selection)
process that in turn reduces the size of the population to a desired level (Next Generation / Number
of Individuals).
If you select the Genetic Algorithm for an Optimization analysis, a Setup button is enabled on the
Setup Optimization page.
1.

Click the Setup button to open the Advanced Genetic Algorithm Optimizer Options dialog.

2.

Select the Stopping Criteria. Any of the three following, or any combination of these can be
selected.

3.

Maximum number of generations. If checked, this enables a value field.


Elapsed time. If checked, this enables a drop down menu with times ranging from five
minutes to two weeks.
Slow convergence.

Specify the Parents.


The first step towards mating is a selection process that determines the participating individuals. Potential parents are selected from the Current Generation. This is a set of individuals that
is always a subset of the current generation.

4.

Number of individuals value field -- specify the number of parents for the optimizer to
use. You can set the Number of Individuals to less than or equal to the size of the Current
Generation. One reason to consider fewer parents than the possible maximum is to steer
the GA towards improvement by selecting the better portion of the current generation to
be able to mate.
Roulette selection checkbox -- if checked, this enables the Selection pressure value
field. This number defines how many times more probable is the selection of the best individual over the worst individual in an elementary spin of the roulette wheel.

Specify the Mating pool.


The Mating pool is created by selecting randomly from the parents, but with each selection, the
parent gets cloned so it can be selected again and again.

Number of individuals field -- specify the number individuals to include in the mating
pool.
Reproduction setup-- this button opens the Genetic Algorithm Optimizer Reproduc-

17-54 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tion Setup dialog.


5.

Click the Reproduction setup button for the dialog to specify the Crossover setup, and the
Mutation setup.
The crossover and mutation operator have different roles: Crossover mixes features of the
parents in a new combination, while mutation slightly alters the features of the individuals.
Both need to be present in a GA. The crossover is a way to discover new combinations while
the mutation acts as a local search or fine-tuning step. Mutation also keeps diversity in a population, which is a must for GA.
The crossover operator has two steps. It first alters the variable values of the parents according
to a distribution. This tends to produce one child that looks a lot like one parent, and one child
that looks a lot like the other parent. Next, some of the variable values of the two children can
be exchanged in order to achieve more variation.
For crossover there are four possible parameters.

6.

a.

Individual Crossover Probability determines, for each pair in the mating pool, the probability that their features will be mixed. Usually, this probability should be close or equal
to one. If you set it set less than one, some parents will produce two children which are
exact clones of the parents. This means that some children inherit all the features of their
parents unchanged.

b.

Parents often have multiple variables. If the parent is a candidate for mixing, the Variable
Crossover Probability determines, for each variable, the probability of mixing. This is
usually set high to ensure that most or all variables mix.

c.

Variable Exchange Probability: After the slight change in the variable values has been
made, the crossover operation is also able to exchange the values of the variables between
the two children that are being constructed. The Variable Exchange Probability governs
the likelihood of exchange of any variable.

d.

Mu is a general parameter defining the sharpness of the distribution that might be used for
the Variable Crossover Probability. Mu should be greater than one. There is no theoretical upper limit, but we recommend not exceeding 30.

Select one of the four Crossover types from the drop-down menu.
The crossover type selected affects the options available.
Uniform

Individual crossover probability


Variable crossover probability

One point

Individual crossover probability

Two point

Individual crossover probability

Simulated binary
crossover

Individual crossover probability


Variable crossover probability
Variable exchange probability
Mu
Setting up an Optimetrics Analysis 17-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

7.

Select the Mutation type--this can be one of three types, which you select from a drop-down
menu.

8.

Gaussian Distribution
Polynomial Mutation.

For the selected mutation type, set the following parameters:

9.

Uniform Distribution

Uniform Mutation Probability: If this is more than zero (recommendation is to have still
a small probability here), then there will be some children whose features are simply a
completely random design (design variables randomly selected over the domain).
Individual Mutation Probability controls, for each child, the likelihood of a mild mutation.
Variable Mutation Probability. If the child will be mutated, this probability controls at
the variable level the likelihood of a mutation of the variables.
Standard Deviation is the standard deviation of the selected distribution that is being
used for the mutation and it is measured relatively to the optimization-domain.

When you have completed the Reproduction setup in the Genetic Algorithm Optimizer
Reproduction Setup dialog, click OK to close it and return to the Advanced Genetic Algorithm Optimizer Options dialog.

10. In the Advanced Genetic Algorithm Optimizer Options dialog, specify the children as a
Number of Individuals.
11. Set the Pareto Front value.
This the number of the very best individuals (identified relative to the cost function) to keep for
future generations.
12. Set the Next Generation parameters. The Next Generation is selected from the Parents, the
children, and the Pareto front.

Number of individuals value field -- specify the number of individuals to survive to form
the next generation for the optimizer to use.
Roulette selection checkbox -- if checked, this enables the Selection pressure value
field. This number defines how many times more probable is the selection of the best individual over the worst individual in an elementary spin of the roulette wheel.

13. Click OK to accept the settings for the Genetic Algorithm and to close the dialog.
Related Topics
Setting up an Optimization Analysis
Adding a cost function
Optimization Overview
Acceptable Cost
Explanation of L1, L2, and Max Norms in Optimization
17-56 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Choosing an Optimizer

Setting up an Optimetrics Analysis 17-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Sensitivity Analysis Overview


During a sensitivity analysis, Optimetrics explores the vicinity of the design point to determine the
sensitivity of the design to small changes in variables. The variables and their attributes define the
design point, the problem around which the sensitivity analysis is performed.
When Optimetrics performs a sensitivity analysis, its goal is to calculate the second-order regression polynomials for all of the design's output parameters. The algorithm first determines an appropriate interval for each variable. The intervals are further sub-divided according to the available
number of iterations and variables. If the master output is not used, the specified initial displacement values define those intervals.
When all of the design calculations are complete, the second-order polynomials are fitted for all the
output parameters. Optimetrics then reports the following quantities:

Regression value at the current variable value.


First derivative of the regression.
Second derivative of the regression.

Related Topics
Setting Up a Sensitivity Analysis
Selecting a Master Output

Selecting a Master Output


During a sensitivity analysis, the design variations that Optimetrics selects to solve are close to the
design point, but not so close that numerical noise (from the finite element mesh) affects the analysis. The algorithm that Optimetrics uses to determine the design variations to solve must be based
on only one output parameter and that output parameter's numerical noise. Therefore, if you have
defined more than one output parameter, be sure to select Master Output for the output variable on
which you want the selection of design variations to be based.
Related Topics
Setting Up an Output Parameter
Setting Up a Sensitivity Analysis

17-58 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Up a Sensitivity Analysis


Following is the general procedure for setting up a sensitivity analysis. Once you have created a
setup, you can Copy and Paste it, and then make changes to the copy, rather than redoing the whole
process for minor changes.
1.

Before a variable can be included in a sensitivity analysis, you must specify that you intend for
it to be used during a sensitivity analysis in the Design Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Sensitivity
.
The Setup Sensitivity Analysis dialog box appears.

3.

Under the Calculations tab, type the maximum number of iterations per variable value that
you want Simplorer to perform in the Max. No. of Iterations/Sensitivity Variable text box.

4.

Set up an output parameter calculation and select a Master Output

5.

Specify the value of the design point at which the sensitivity analysis should stop in the
Approximate Error in Master Output text box.

6.

In the Variables tab, specify the Min/Max values for variables included in the optimization,
and the Initial Displacement (Initial Disp.) for the analysis.
You may also override the variable starting values by clicking the Override checkbox and
entering the desired value in the Starting Value field.

7.

In the General tab, specify whether Optimetrics should use the results of a previous Parametric analysis or perform one as part of the optimization process.

8.

The following optional sensitivity analysis setup options can also be used:

Modify the starting variable value.


Modify the minimum and maximum values of variables that will be solved.
Exclude variables from the sensitivity analysis.
Set the initial displacement.
Modify the values of fixed variables that are not being modified during the sensitivity
analysis.
Set linear constraints.
Request that Optimetrics solve a parametric sweep before a sensitivity analysis.
You can also request that Optimetrics solve a parametric sweep during a sensitivity analysis.
Enable a fast calculation-update algorithm to speed up optimetrics and report updates
during optimetrics analyses. By default, the fast calculation-update option is automatically
enabled whenever it is applicable.

Setting up an Optimetrics Analysis 17-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Sweeping or using a complex variable is not allowed in any optimetrics setup, including
optimization, statistical, sensitivity, and tuning setups.

Note

Improper or undefined simulation setups will cause errors during Sensitivity Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Sensitivity Analysis.

Related Topics
Sensitivity Analysis Overview
Setting the Maximum Iteration Per Variable

Setting the Maximum Iterations Per Variable


The Max. No. of Iterations/Sensitivity Variable value is the maximum number of design variations that Optimetrics solves per variable during a sensitivity analysis. This value is a stopping criterion; if the maximum number of iterations has been completed, the sensitivity analysis stops. If
the maximum number of iterations has not been completed, the sensitivity analysis continues by
performing another iteration, that is, by solving another design variation. It performs iterations until
the approximate error in master output value is reached or until Optimetrics cannot proceed as a
result of other sensitivity setup constraints, such as when it searches for a variable value that is
larger than the maximum value.
To set the maximum number of iterations for a sensitivity analysis:

Under the Calculations tab of the Setup Sensitivity Analysis dialog box, type a value in the
Max. No. of Iterations/Sensitivity Variable text box.

Related Topics
Setting Up an Output Parameter

Setting Up an Output Parameter


Following is the general procedure for adding an output parameter to a sensitivity setup:
1.

Under the Calculations tab of the Setup Sensitivity Analysis dialog box, click Setup Calculations to open the Add/Edit Calculations dialog box.

2.

In the Add/Edit Calculations dialog box, set up output parameter calculations to be evaluated
for sensitivity.

3.

To modify the solution from which the output parameter is to be extracted, click in the Solution column and select from the options in the pop-up list.

4.

You can modify the Calculation specified by clicking on the output parameter in the table and
selecting Edit.

5.

For output parameters based on swept variable, you must choose a single value in the Calculation Range at which to evaluate the output parameter.

17-60 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

6.

If you have more than one output parameter, select Master Output if you want Optimetrics to
use the output parameter to base its selection of solved design variations.

Note

During a sensitivity analysis, the design variations that Optimetrics selects to solve are
close to the design point, but not so close that numerical noise (from the finite element
mesh) affects the analysis. The algorithm that Optimetrics uses to determine the design
variations to solve must be based on only one output parameter and that output
parameters numerical noise. If you have defined more than one output parameter, be
sure to select Master Output for the output variable on which you want the selection of
design variations to be based.

Related Topics
Selecting a Master Output

Specifying a Solution Quantity for an Output Parameter


When setting up an output parameter, you must identify the solution quantity on which to base the
output parameter. Solution quantities are specified by mathematical expressions that are composed
of basic quantities, such as matrix parameters; and output variables.
The Add/Edit Calculation dialog box allows you to define the mathematical equation for one or
multiple output parameters. To set up an output parameter:
1.

In the Context section of the dialog:

Select the Report Type with a pull-down selection list containing the available types for
this design.
Select the Solution from the drop down selection list. This lists the available setups and
sweeps. As a minimum, the LastAdaptive solution is available.
Select the Geometry from the drop down selection list or select none (the default). This
modifies the list of quantities available to the ones that apply to the specific geometry.
When selecting a geometry, you may also be required to specify a point within the geometry where the calculation is to be performed.

2.

The Output Variables button opens the Output Output Variables dialog box allowing you to
create special output variables to be used in the output parameter.

3.

The Calculation Expression field in the Trace tab is used to enter the equation to be used for
the output parameter. To enter an expression, you may type it directly into the field or use the
Category, Quantity, and Function lists as follows:

Select the Category, these depend on the Solution type and the design. This lets you specify the category of information to be used in the output parameter.
Select a Quantity from the list. Available quantities depend upon the Solution type, as
well as the Geometry and Category selection. Selecting a Quantity automatically enters it
into the Calculation Expression field.
Select a Function to apply to the value in the calculated expression.
For swept variables, the RangeFunction button opens the Set Range Function dialog to
Setting up an Optimetrics Analysis 17-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

apply functions to the expression that apply over the sweep range.
4.

The Calculation Range tab applies to swept variables and allows you to specify the range of
the sweep over which to apply the calculation.

5.

When the desired Calculation Expression has been obtained, click the Add Calculation button to add the entry to the calculation table in the Setup Sensitivity Analysis dialog box. You
may add multiple entries to the table simply by changing the Calculation Expression and
using the Add Calculation button.

6.

To update or edit a selected cost function, enter the desired Calculation Expression and click
the Update Calculation button.

7.

Click Done to return to the Setup Sensitivity Analysis dialog box.

Note

The solution quantity you specify must be able to be evaluated to a single, real number.

Related Topics
Setting the Calculation Range of an Output Parameter

Setting the Calculation Range of an Output Parameter


The calculation range of a solution quantity determines the intrinsic variable value at which the
solution quantity is to be extracted. For a sensitivity setup, the calculation range must be a single
value. If you specified that the solution quantity be extracted from a frequency sweep solution, by
default, Optimetrics uses the starting frequency in the sweep.
1.

Under the Calculations tab of the Setup Sensitivity Analysis dialog box, click in the Calculation Range column of the table for the calculation to be modified.
The Edit Calculation Range dialog box appears.

2.

In the table, click the Edit button in the row to be modified.


If you choose to solve a parametric setup during the sensitivity analysis, the variables swept in
that parametric setup are available in the pop-up list dialog box. If you sweep a variable in the
parametric setup that is also a sensitivity variable, that variable is excluded from the sensitivity
analysis.

3.

Click on the value for the calculation range in the list and dismiss the pop-up dialog box.

4.

Click OK in the Edit Calculation Range dialog box to accept the new value for the intrinsic
variable, and return to the Setup Sensitivity Analysis dialog box.

Related Topics
Setting Up an Output Parameter

Modifying the Starting Variable Value for Sensitivity Analysis


The design point of the sensitivity analysis is the starting value of the sensitivity variable and is
usually the first variation to be solved. Optimetrics automatically sets the starting value of a vari-

17-62 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

able to be the current value set for the nominal design. You can modify the design point for each
sensitivity setup.
Warning

1.

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

In the Setup Sensitivity Analysis dialog box, click the Variables tab.
All of the variables that were selected for the sensitivity analysis are listed.

2.

Type a new value in the Starting Value text box for the value you want to override, and then
press Enter.
The Override option is now selected. This indicates that the value you entered is to be used for
this sensitivity analysis; the current value set for the nominal model will be ignored.

3.

Alternatively, you can select the Override option first, and then type a new variable value
in the Starting Value text box.

Optionally, click a new unit system in one of the Units text boxes.

To revert to the default starting value, clear the Override option.


Related Topics
Setting Up a Sensitivity Analysis

Setting the Min. and Max. Variable Values


For every sensitivity setup, Optimetrics automatically sets the minimum and maximum values that
it will consider for a sensitivity variable. Optimetrics sets a variables minimum value equal to
approximately one-half its starting value. (The starting value is the variables current value set for
the nominal design.) Optimetrics sets the variables maximum value equal to approximately 1.5
times the starting value. During sensitivity analysis, variable values outside this range are not considered.
Warning

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

Related Topics
Override the default minimum and maximum variable values for a single sensitivity setup.
Change the default minimum and maximum variable values for every sensitivity setup.

Overriding the Min. and Max. Variable Values for a Single Sensitivity Setup
1.

In the Setup Sensitivity Analysis dialog box, click the Variables tab.
All of the variables that were selected for sensitivity analysis are listed.

2.

Type a new value in the Min or Max text box for the value you want to override, and then
press Enter.
Setting up an Optimetrics Analysis 17-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Override option is now selected. This indicates that the value you entered is to be used for
this sensitivity analysis; the variable's current Min or Max value set in the nominal design is
ignored.

3.

Alternatively, you can select the Override option first, and then type a new value in the
Min or Max text box.

Optionally, click a new unit system in one of the Units text boxes.

To revert to the default minimum and maximum values, clear the Override option.
Related Topics
Setting Up a Sensitivity Analysis

Changing the Min. and Max. Variable Values for Every Sensitivity Setup
1.

Make sure the variable's minimum and maximum values are not being overridden in any sensitivity setup.

2.

If the variable is a design variable, do the following: Click Simplorer Circuit>Design Properties.
If the variable is a project variable, do the following: Click Project>Project Variables.
The Properties dialog box appears.

3.

Select Sensitivity.

4.

Type a new value in the Min or Max text box for the value you want to override, and then
press Enter.
When Optimetrics solves a sensitivity setup, it does not consider variable values that lie outside of this range.

Related Topics
Setting Up a Sensitivity Analysis

Setting the Initial Displacement


The initial displacement is the difference in a variable's starting value and the next solved design
variation. During the sensitivity analysis, Optimetrics does not consider an initial variable value
that is greater than this step size away from the starting variable value.
1.

In the Setup Sensitivity Analysis dialog box, click the Variables tab.

2.

Optimetrics displays the Initial Disp. column, with default values for each sensitivity variable.

3.

In the Initial Disp. text box, type the initial displacement value. Optionally, modify the unit
system in the Units text box.

Related Topics
Setting Up a Sensitivity Analysis

Solving a Parametric Setup Before a Sensitivity Analysis


Solving a parametric setup before a sensitivity setup is useful for guiding Optimetrics in a sensitivity analysis.
17-64 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To solve a parametric setup before a sensitivity setup:


1.

In the Setup Sensitivity Analysis dialog box, click the General tab.

2.

Click the parametric setup you want Optimetrics to solve before the sensitivity setup from the
Parametric Analysis pull-down list.

Note
3.

The parametric setup must include sweep definitions for the sensitivity variables.

Select Solve the parametric sweep before analysis.

If the parametric setup has not yet been solved, Optimetrics solves it. Optimetrics uses the results
(of the solution calculation you requested under the Goals tab of the Setup Sensitivity dialog box)
to determine the next design variation to solve for the sensitivity analysis.
Related Topics
Setting Up a Sensitivity Analysis

Solving a Parametric Setup During a Sensitivity Analysis


Solving a parametric setup during a sensitivity analysis is useful when you want Optimetrics to
solve every design variation in the parametric setup at each sensitivity analysis iteration. An output
parameter goal could then depend on the value of the variable swept in the parametric setup.
To solve a parametric setup during a sensitivity analysis:
1.

In the Setup Sensitivity Analysis dialog box, click the General tab.

2.

Click the parametric setup you want Optimetrics to solve during the sensitivity analysis from
the Parametric Analysis pull-down list.

3.

Select Solve the parametric sweep during analysis.

Related Topics
Setting Up a Sensitivity Analysis

Setting up an Optimetrics Analysis 17-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Statistical Analysis Overview


Statistical analysis allows you to explore the effects of random combinations of values of selected
variables on selected global or local available analysis results. Therefore, before a variable can be
included in a statistical analysis, you must specify that you intend for it to be used during a statistical analysis. For each variable you must specify the type of distribution (Uniform, Gaussian, Lognormal or User Defined) and the corresponding parameters of the selected distribution.
In addition to specifying the variables to be used in the statistical analysis and the parameters of the
chosen distribution, the output quantities of interest also need to be specified. These quantities can
be global ones such as previously defined parameters (Force/torque, inductance / capacitance, etc),
other named quantities, quantities defined in the field calculator as global (such a domain integral
of a certain field quantity) or local (such as field value at a certain location). The calculations to be
performed during the statistical analysis are specified during setup, in a manner similar to other
types of analysis in Optimetrics.
Following the analysis the statistical distribution of the output quantities can be visualized in histogram format. To access available reports, after the statistical analysis is complete, right click the
respective Statistical analysis setup and select View Analysis Result.
Related Topics
Setting Up a Statistical Analysis

17-66 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Up a Statistical Analysis


Following is the general procedure for setting up a statistical analysis. Once you have created a
setup, you can Copy and Paste it, and then make changes to the copy, rather than redoing the whole
process for minor changes.
1.

Before a variable can be included in a statistical analysis, you must specify that you intend for
it to be used during a statistical analysis in the Properties dialog box.

2.

On the Simplorer Circuit menu, point to Optimetrics Analysis, and then click Add Statistical
.

3.

The Setup Statistical Analysis dialog box appears.

4.

Under the Calculations tab, type the maximum number of iterations you want Simplorer to
perform in the Maximum Iterations text box.

5.

Specify a solution quantity to evaluate.

6.

In the Calculation text box, set the value at which the solution quantity is to be computed.

7.

Optionally, modify the distribution criteria to be used.

8.

The following optional statistical analysis setup options can also be used:

Note

Note

Modify the starting variable value.


Exclude variables from the statistical analysis.
Modify the values of fixed variables that are not being modified during the statistical analysis.
Request that Optimetrics solve a parametric sweep during a statistical analysis.
Sweeping or using a complex variable is not allowed in any optimetrics setup, including
optimization, statistical, sensitivity, and tuning setups.
Enable a fast calculation-update algorithm to speed up optimetrics and report updates
during optimetrics analyses. By default, the fast calculation-update option is automatically
enabled whenever it is applicable.
Improper or undefined simulation setups will cause errors during Statistical Analysis. To
verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Statistical Analysis.

Related Topics
Statistical Analysis Overview

Statistical Analysis with Netlist Components


When conducting statistical analyses with Simplorer Circuit netlist components it is important to
ensure that component definitions contain a ModelName property. If a component is netlisted as
Setting up an Optimetrics Analysis 17-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

X@ID, the components ModelName property must be set to X. Next, the statistical variable is
automatically set to X@ID and the model engine is able to locate it.
Additionally, you must also have the same parameter names listed in your library subcircuit netlist
and in your UI parameters. For example, with a subcircuit netlist of:
CAP 0805: Netlist string: X@ID %0 %1 CAP0805 PARAMS: Cval=@C Rval=@R
The UI is only aware of C and requests statistical information on X@32~~C, while the subcircuit is
only aware of Cval. Because of this, you must set up the same component parameter name which
the actual model refers to. Consequently, if you add properties Cval and Rval in this component
example, you must also change the netlist to read:
X@ID %0 %1 CAP0805 PARAMS: Cval=@Cval Rval=@Rval
As a result, statistical analysis and tuning will work for both Cval and Rval.
Note The netlist template is also capable of accessing RefDes (Reference Designator) information
for netlist definitions of the form X@RefDes %0 %1 %2 ... .

Setting the Maximum Iterations for a Statistical Analysis


The Maximum Iterations value is the maximum number of design variations Optimetrics solves
during a statistical analysis. This value is a stopping criterion; if the maximum number of iterations
has been completed, the analysis stops. If the maximum number of iterations has not been completed, Optimetrics continues by performing another iteration, that is, by solving another design
variation.
To set the maximum number of iterations for a statistical analysis:

Under the Calculations tab of the Setup Sensitivity Analysis dialog box, type a value in the
Maximum Iterations text box.

Related Topics
Setting up a Statistical Analysis

Specifying the Solution Quantity to Evaluate for Statistical Analysis


When you add a statistical setup, you can identify one or more solution quantities to evaluate. The
solution quantities are specified by mathematical expressions that are composed of basic quantities.
When you view the results, Simplorer displays the distribution of the solution quantities.
1.

In the Calculations tab of the Setup Statistical Analysis dialog box, click Setup Calculations.
The Add/Edit Calculations dialog box is displayed, allowing you to define one or more mathematical expressions for statistical evaluation.

2.

In the Context section of the dialog:

Select the Report Type with a pull-down selection list containing the available types for
this design.
Select the Solution from the drop down selection list. This lists the available setups and
sweeps. As a minimum, the LastAdaptive solution is available.

17-68 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Select the Geometry from the drop down selection list or select none (the default). This
modifies the list of quantities available to the ones that apply to the specific geometry.
When selecting a geometry, you may also be required to specify a point within the geometry where the calculation is to be performed.

3.

The Output Variables button opens the Output Output Variables dialog box allowing you to
create special output variables to be used in the output parameter.

4.

The Calculation Expression field in the Trace tab is used to enter the equation to be used for
the solution quantities. To enter an expression, you may type it directly into the field or use the
Category, Quantity, and Function lists as follows:

Select the Category, these depend on the Solution type and the design. This lets you specify the category of information to be used in the output parameter.
Select a Quantity from the list. Available quantities depend upon the Solution type, as
well as the Geometry and Category selection. Selecting a Quantity automatically enters it
into the Calculation Expression field.
Select a Function to apply to the value in the calculated expression.
For swept variables, the RangeFunction button opens the Set Range Function dialog to
apply functions to the expression that apply over the sweep range.

5.

The Calculation Range tab applies to swept variables and allows you to specify the range of
the sweep over which to apply the calculation.

6.

When the desired Calculation Expression has been obtained, click the Add Calculation button to add the entry to the calculation table in the Setup Statistical Analysis dialog box. You
may add multiple entries to the table simply by changing the Calculated Expression and using
the Add Calculation button.

7.

To update or edit a selected cost function, enter the desired Calculation Expression and click
the Update Calculation button.

8.

Click Done to return to the Setup Statistical Analysis dialog box.

Note

The solution quantity you specify must be able to be evaluated to a single, real number.

Related Topics
Setting up a Statistical Analysis
Setting the Maximum Iterations for a Statistical Analysis

Setting the Solution Quantity's Calculation Range


The calculation range of a solution quantity determines the intrinsic variable value at which the
solution quantity is extracted. For a statistical setup, the calculation range must be a single value. If
you specified that the solution quantity be extracted from a frequency sweep solution, Optimetrics
will use the starting frequency in the sweep by default.The calculation range should be set during
the setup of the solution quantity for statistical evaluation. In order to modify the calculation range,
do the following:
1.

Under the Calculations tab of the Setup Statistical Analysis dialog box, click in the CalculaSetting up an Optimetrics Analysis 17-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tion Range column of the table for the calculation to be modified.


The Edit Calculation Range dialog box appears.
2.

In the table, click the Edit button in the row to be modified.


If you choose to solve a parametric setup during the statistical analysis, the variables swept in
that parametric setup are available in the pop-up list dialog box. If you sweep a variable in the
parametric setup that is also a statistics variable, that variable is excluded from the statistics
analysis.

3.

Click on the value for the calculation range in the list and dismiss the pop-up dialog box.

4.

Click OK in the Edit Calculation Range dialog box to accept the new value for the intrinsic
variable, and return to the Setup Statistical Analysis dialog box.

Related Topics
Setting up a Statistical Analysis

Setting the Distribution Criteria


For every statistical setup, Optimetrics automatically sets the distribution criteria to be uniform
within a 10% tolerance of the variable's starting value. You can modify the distribution type and
criteria for a single statistical setup or for every statistical setup.
Related Topics
Override the default distribution criteria for a single statistical setup.
Change the default distribution criteria for every statistical setup.

Overriding the Distribution Criteria for a Single Statistical Setup


To override the default distribution criteria for a single statistical setup:
1.

In the Setup Statistical Analysis dialog box, click the Variables tab.
All of the variables that were selected for statistical analysis are listed.

2.

Check or clear the Include checkbox for each variable to define the specific variables to be
varied in the statistical analysis setup.

3.

For each included variable, select Uniform, Gaussian, Lognormal, or User Defined in the
Distribution column for the variable you want to override.
If you changed the distribution type, the Override option is now selected. This indicates that
the distribution type you selected is to be used for this optimization analysis; the current distribution type selected for the variable in the nominal design is ignored in this statistical analysis.

Alternatively, you can select the Override option first, and then select a different distribution type in the Distribution text box.

4.

Optionally, if you want to change the distribution criteria, click in Distribution Criteria column for the variable you want to override.

5.

If the distribution type is Gaussian, do the following:

The Edit Distribution dialog box appears.


a.

Enter the standard deviation in the Std. Dev text box.

17-70 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

b.

Enter the lower limit of the distribution in the Low Cutoff text box.

c.

Enter the upper limit of the distribution in the High Cutoff text box.
Simplorer will solve design variations using a Gaussian distribution within the low and
high cutoff values.

6.

If the distribution type is Uniform, do the following:

Enter a tolerance value in the text box.


Simplorer will solve design variations within the tolerance range of the starting value,
using an even distribution.

7.

8.

9.

If the distribution type is Lognormal, do the following:


a.

Enter the cutoff probability in the Cutoff Probability text box.

b.

Enter the sigma value of the distribution in the Sigma text box and select a unit from the
pull-down.

c.

Enter the m value of the distribution in the M text box.

d.

Enter the theta value in the Theta text box and select a unit from the pull-down.

If the distribution type is User Defined, do the following:


a.

Enter the cutoff probability in the Cutoff Probability text box.

b.

Click Edit XY Data to open the Edit Datasets dialog box in which you can select an
existing dataset, or create a new one.

By default, all variables are set to sample using Latin Hypercube sampling. This sampling
method provides for greater variability than random sampling by keeping track of chosen samples and guaranteeing that samples cannot be repeated. You may revert to random sampling by
clearing the checkbox in the Latin Hypercube column for any desired variable.

10. Click OK.


To revert to the default distribution settings, clear the Override option.
Related Topics
Statistical Cutoffs

Changing the Distribution Criteria for Every Statistical Setup


To change the default distribution criteria for every statistical setup:
1.

Make sure that the variable's distribution criteria are not being overridden in any statistical
setup.

2.

If the variable is a design variable, do the following: On the Simplorer Circuit menu, click
Design Properties.
If the variable is a project variable, do the following: Click Project>Project Variables.
The Properties dialog box appears.

3.

Select Statistics.

4.

Click in the Distribution column for the variable you want to change, and then select Uniform, Gaussian, Lognormal, or User Defined.
Setting up an Optimetrics Analysis 17-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Optionally, if you want to change the distribution criteria, click in the Distribution Criteria
column for the variable you want to change.
If the distribution type is Gaussian, the Gaussian Distribution dialog box appears. If the distribution type is Uniform, the Uniform Distribution dialog box appears.

6.

If the distribution type is Gaussian, do the following:


a.

Type a cutoff probability value in the Cutoff Probability text box.

b.

Type the standard deviation in the Std. Dev text box.

c.

Type the mean value of the distribution in the Mean text box.
Simplorer will solve design variations using a Gaussian distribution within the low and
high cutoff values.

7.

If the distribution type is Uniform, do the following:


a.
b.

Type a cutoff probability value in the Cutoff Probability text box.


Type mean and tolerance values in the corresponding text boxes.
Simplorer will solve design variations within the tolerance range of the starting value,
using an even distribution.

8.

9.

If the distribution type is Lognormal, do the following:


a.

Type a cutoff probability value in the Cutoff Probability text box.

b.

Type values for Sigma, M, and Theta in the corresponding text boxes.

If the distribution type is User Defined, do the following:


a.

Type a cutoff probability value in the Cutoff Probability text box.

b.

Click Edit XY Data to open the Edit Dataset dialog.

c.

Either type or import the X and Y data values for the distribution in the Edit Dataset dialog.

10. Click OK.


Related Topic
Statistical Cutoffs

Statistical Cutoffs
The low and high cutoff values multiply the Gaussian Standard Deviation value. The variable lc,
below uses a Gaussian distribution that extends three standard deviations below 10nH and two
standard deviations above 10nH. Outside these values, the Gaussian distribution is truncated,
effectively giving a Gaussian distribution on a pedestal.

17-72 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Uniform distributions such as variable cl above use only the Tolerance value, and do not have
cutoffs.

Edit Distribution
When setting the distribution type for a variable, you have the option of changing the distribution
parameters from the default values.
1.

If the distribution type is Gaussian, do the following:


a.

Type the lower limit of the distribution in the Cutoff Probability text box.

b.

Type the mean value of the distribution in the Mean text box.

c.

Type the standard deviation of the distribution in the Std Dev text box.
Simplorer solves design variations using a Gaussian distribution within the specified mean
and standard deviation values.

2.

If the distribution type is Uniform, do the following:


a.

Type the lower limit of the distribution in the Cutoff Probability text box.

b.

Type the mean value of the distribution in the Mean text box.

c.

Enter the tolerance in the Tolerance text box.


Simplorer solves design variations within the tolerance range of the starting value, using
an even distribution.

3.

If the distribution type is Lognormal, do the following:


a.

Type the lower limit of the distribution in the Cutoff Probability text box.

b.

Enter the shape parameter of the distribution in the Sigma text box.

c.

Enter the scale parameter in the M text box. The scale parameter should be set to 1 for the
standard lognormal distribution.

d.

Enter the location parameter value for Theta in the text box. The value for a standard lognormal distribution is 0.

Setting up an Optimetrics Analysis 17-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

.Simplorer solves design variations with a logarithmic distribution using the shape, scale

and location parameters provided.


4.

If the distribution type is User Defined, do the following:


a.

Type the lower limit of the distribution in the Cutoff Probability text box.

b.

Select the Edit XY Data button to manually define the data distribution using datasets.

Related Topics
Adding Datasets
Changing the Distribution Criteria for Every Statistical Setup
Overriding the Distribution Criteria for a Single Statistical Setup

Modifying the Starting Variable Value for Statistical Analysis


A variable's starting value is the first value that is solved during the statistical analysis. Optimetrics
automatically sets the starting value of a variable to be the current value set for the nominal design.
You can modify this value for each statistical setup.
Warning

1.

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

In the Setup Statistical Analysis dialog box, click the Variables tab.
All of the variables selected for the statistical analysis are listed.

2.

Type a new value in the Starting Value text box for the value you want to override, and then
press Enter.
The Override option is now selected. This indicates that the value you entered is to be used for
this statistical analysis; the current value set for the nominal model will be ignored.

3.

Alternatively, you can select the Override option first, and then type a new variable value
in the Starting Value text box.

Optionally, click a new unit system in one of the Units text boxes.

To revert to the default starting value, clear the Override option.


Related Topics
Setting up a Statistical Analysis

17-74 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Solving a Parametric Setup During a Statistical Analysis


Solving a parametric setup during a statistical analysis is useful when you want Optimetrics to
solve every design variation in the parametric setup at each statistical analysis iteration.
To solve a parametric setup during a statistical analysis:
1.

In the Setup Statistical Analysis dialog box, click the General tab.

2.

Click the parametric setup you want Optimetrics to solve during the statistical analysis from
the Parametric Analysis pull-down list.

3.

Select Solve the parametric sweep during analysis.

Related Topics
Setting up a Statistical Analysis

Setting up an Optimetrics Analysis 17-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the Fast Calculation-Update Algorithm


A fast calculation-update algorithm is available to speed up optimetrics and report updates during
optimetrics analyses. The fast calculation-update algorithm will generate the same optimetrics
results, only faster, and is available for all optimetrics analyses except Tuning analysis. By default,
the fast calculation-update option is automatically enabled whenever it is applicable, but you can
configure it manually using the Options tab of the Optimetrics Setup dialog. To enable the fast calculation-update algorithm:
1.

Click Simplorer Circuit>Optimetrics Analysis >Add <OptimetricsType>.


A typical dialog to Setup Sweep Analysis is shown below with the Options tab selected.

The Options tab is the same for all optimization setups.


2.

Check Use fast calculation-update algorithm to enable use of the algorithm. (See also, Fast
Calculation-Update Algorithm Limitations.)
When the fast calculation-update algorithm is enabled:

You can enable some reports to be updated automatically during the optimetrics analysis

17-76 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

if you Set All Variables To Nominal in the Report/Trace setup dialog:

3.

You can see each trace (overwriting the previous), by setting the Optimetrics setup in the
Report dialog to None in addition to having all variables set to Nominal. At the end of the
analysis, the user will see the last calculated value.

If you have enabled Use fast calculation-update algorithm and want to save the solution data
for every solved design variation in the Optimetrics analysis, select Save solutions to database as shown below. Selecting Save solutions to database has no effect without enabling
Use fast calculation-update algorithm.

Note

Do not select this option when requesting a large number of iterations as the data
generated will be very large and the system may become slow due to the large I/O
requirements.

Setting up an Optimetrics Analysis 17-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When the Save solutions to database option is checked, a plot with traces based on the
Optimetrics Setup just run can be updated through a menu command (right-click on the
desired report in the Project Manager Results folder and select Update Report) and will
show results as appropriate (family, if chosen).
Without the Save solutions to database option checked, you can examine analysis data in
the Post Analysis Display dialog, available by right-clicking on the Optimetrics Setup
and choosing View Analysis Result.

Fast Calculation-Update Algorithm Limitations


The fast calculation-update algorithm cannot be used if any optimetrics calculation uses:

Project/Design variables If the project/design variable is not swept in the optimetrics


analysis, and you would like to use it in the expression: You can create an output variable
for the Project/Design variable, assign the value of the Project/Design variable to the output variable, and use the output variable in the expression instead.
More than one range function For example, when range function is not the outermost
function or when range function takes arguments.
More than one calculation range, or the calculation range is not for primary sweep.

Similarly, when the fast calculation-update algorithm is enabled, a trace cannot be updated during
an analysis if the trace expression uses:

Project/Design variables. (However, you can use the same workaround described
above.)
Any range function.

17-78 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Tuning Overview
Tuning a variable is useful when you want to manually modify its value and immediately perform
an analysis of the design. For example, it is useful after performing an optimization analysis, in
which Optimetrics has determined an optimal variable value, and you want to fine tune the value to
see how the design results are affected.
A design can be updated after a tuning analysis to reflect a design variation solved during a tuning
analysis and the results of each solved design variation are saved for post processing.
Related Topics
Tuning a Variable

Setting up an Optimetrics Analysis 17-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Tuning a Variable
1.

Before a variable can be tuned, you must specify that you intend for it to be used during a tuning analysis in the Properties dialog box.

2.

On the Simplorer Circuit menu, click Tune

The Tune dialog box appears.


3.

Clear the Real Time option.


If this option is selected, a simulation begins immediately after you move the slider.

4.

In the Sim. Setups column, select the solution setup you want Simplorer to use when it solves
the specified design variation.
Simplorer solves the analysis using the solution setup you select. If you select more than one,
results are generated for all selected solution setups.

5.

In the Nominal text box for the variable you want to tune, type the value of the variable you
want Simplorer to solve, or drag the slider to increase or decrease its value.

Warning

Variable values must be single real numbers, or expressions that evaluate to single
real numbers. Complex numbers cannot be used as the values of variables in any
optimetric analysis.

Alternatively, if you want Simplorer to solve a range of values, specify a linear range of values
with a constant step size:

6.

a.

Select the Sweep check box.

b.

In the text box below the Step value, type the starting value in the variable range.

c.

Type the step size, or difference between variable values in the sweep definition, in the
Step text box. The step size determines the number of design variations between the start
and stop values. Simplorer solves the model at each step in the specified range, including
the start and stop values.

d.

In the text box just below the variable name, type a stopping value in the variable range.

Click Tune.
You can click Abort to abort the tuning process, if desired.

Note

7.

Sweeping or using a complex variable is not allowed in any optimetrics setup, including
optimization, statistical, sensitivity, and tuning setups.

When finished tuning, you can:

Save the tuned state.


Apply the tuned state to the design.
Revert to a saved tuned state.
Reset variable values.

17-80 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

Improper or undefined simulation setups will cause errors during Tuning Analysis. To
verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Tuning Analysis.

Related Topics
Applying a Tuned State to a Design
Tuning Overview
Resetting Variable Values after Tuning

Applying a Tuned State to a Design


You can apply the variable values solved during a tuning analysis to the nominal design in one of
the following three ways:

When closing the Tune dialog box:


1.

Click Close to exit the Tune dialog box.


The Apply Tuned Variation dialog box appears.

2.

Click the design variation you want to apply, and then click OK.
The variable values from the solved design variation become the current variable values
for the nominal design.

When saving a tuned state.


When reverting to a tuned state.

Saving a Tuned State


You can save the settings in the Tune dialog box, including the variable values you specified for a
tuning analysis. Saved states are only available during the current session of the Tune dialog box;
they are not stored for the next session.
1.

After tuning a variable, click Save in the Tune dialog box.


A Save As dialog box appears.

2.

Type a name for the tuned state in the text box.

3.

Select Apply tuned values to design if you want to update the model to the new variable values.

4.

Click OK to return to the Tune dialog box.

Related Topics
Reverting to a Saved Tuned State

Setting up an Optimetrics Analysis 17-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Reverting to a Saved Tuned State


You can revert to a group of saved settings in the Tune dialog box, including the variable values
you specified for a specific tuning analysis. Saved states are only available during the current session of the Tune dialog box; they are not stored for the next session.
1.

In the Tune dialog box, click Revert.


The Revert dialog box appears.

2.

Type the name of the tuned state you want to apply or click a name in the pull-down list.

3.

Select Apply tuned values to design if you want to update the model to the selected tuned
state's variable values.

4.

Click OK to return to the Tune dialog box.

Related Topics
Saving a Tuned State

Resetting Variable Values after Tuning


If you want to reset variable values to the values they were set to when you started the current session of the Tune dialog box:

After tuning a variable, click Reset in the Tune dialog box.


Solutions for the design variations solved during tuning analyses remain available for post processing.

17-82 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding an Expression in the Output Variables Window


When you are in the Output Variables window (after clicking Edit Calculation from the one of
the setup analysis windows), do the following to specify an expression:
1.

Type a name for the expression in the Name text box.

2.

Do the following in the Calculation section of the window to insert a quantity into the expression:

3.

a.

Select the Report Type and Solution from the pull-down lists.

b.

Select a Category, Quantity, and Function from the lists, and click Insert Quantity Into
Expression.

c.

If you want to insert a specific pre-defined function, select one from the Function pulldown list, and click Insert Function.

You can also type numbers or expression by hand directly into the Expression area.

Setting up an Optimetrics Analysis 17-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Excluding a Variable from an Optimetrics Analysis


To exclude a variable from being optimized or included in a sensitivity or statistical analysis:
1.

Do one of the following:

In the Setup Optimization dialog box, click the Variables tab.


In the Setup Sensitivity Analysis dialog box, click the Variables tab.
In the Setup Statistical Analysis dialog box, click the Variables tab.

All of the independent variables that were selected for the optimization analysis are listed.
2.

Clear the Include option for the variable you want to exclude from the analysis.
The Override option is now selected. This indicates that, for this optimization analysis, the
variable is not included.

Note

3.

Alternatively, you can select the Override option first, and then clear the Include option
for the variable you want to exclude.

Click OK.

17-84 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Modifying the Value of a Fixed Variable


If you are not including a variable in an optimization, sensitivity, or statistical analysis, Optimetrics
uses that variable's current value during the analysis.
To override the current value of a fixed variable for an Optimetrics setup:
1.

Do one of the following:

2.

In the Setup Optimization dialog box, click the Variables tab.


In the Setup Sensitivity Analysis dialog box, click the Variables tab.
In the Setup Statistical Analysis dialog box, click the Variables tab.

Click Set Fixed Variables.


The Setup Fixed Variables dialog box appears. Under Fixed Variables, all of the current
independent variable values are listed.

3.

Click the Value text box of the variable with the value you want to override.

4.

Type a new value in the Value text box, and then press Enter.
The Override option is now selected. This indicates that the value you entered is used for this
Optimetrics setup; the current variable value set for the nominal design is ignored.

Note

Alternatively, you can select the Override option first, and then type a new value in the
Value text box.

5.

Optionally, click a new unit system in the Units text box.

6.

Click OK.

To revert to a default variable value, clear the Override option.

Setting up an Optimetrics Analysis 17-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Linear Constraints
Once the optimization variables are specified, the optimizer handles each of them as an n-dimensional vector x. Any point in the design space corresponds to a particular x-vector and to a design
instance. Each design instance may be evaluated via Finite Element Analysis and assigned a cost
value; therefore, the cost function is defined over the design space (cost(x): RnR), where n is the
number of optimization variables.
In practice, a solution of the minimization problem is sought only on a bounded subset of the Rn
space. This subset is called the feasible domain and is defined via linear constraints.
You may constrain the feasible domain of a design variable by defining linear constraints for the
optimization process. The feasible domain is defined as the domain of all design variables that satisfy all upper and lower bounds and constraints. Linear constraints are defined by the following
inequalities:

ij x i < cj j
i
where

ij are coefficients.
cj is a comparison value for the jth linear constraint.
xi is the ith designer parameter.

Related Topics
Setting a Linear Constraint

Setting a Linear Constraint


A linear constraint defines the linear relationship between variables. Setting linear constraints in
Optimetrics is useful for establishing limitations involving linear combinations of variable values.
1.

Do one of the following:

2.

If you are setting up an optimization analysis: In the Setup Optimization dialog box,
click the Variables tab.
If you are setting up a sensitivity analysis: In the Setup Sensitivity Analysis dialog box,
click the Variables tab.

Click Linear Constraint.


The Linear Constraint dialog box appears.

3.

Click Add.
The Edit Linear Constraint dialog box appears.

17-86 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Click a Coeff text box and type a positive or negative coefficient value.

5.

Click a condition, < (less than) or > (greater than), from the pull-down list.

6.

Type the inequality value, which should be a constant value, in the text box to the right of the
condition.

7.

Click OK.
You return to the Linear Constraint dialog box. The left-hand side of the constraint appears
in the LHS (left-hand side) column. The condition is listed in the Condition column, and the
inequality value is listed in the RHS (right-hand side) column.

Related Topics
Modifying a Linear Constraint
Deleting a Linear Constraint
Linear Constraints

Modifying a Linear Constraint


1.

Do one of the following:

2.

If you are setting up an optimization analysis: In the Setup Optimization dialog box,
click the Variables tab.
If you are setting up a sensitivity analysis: In the Setup Sensitivity Analysis dialog box,
click the Variables tab.

Click Linear Constraint.


The Linear Constraint dialog box appears.

3.

Click the row listing the constraint you want to modify, and then click Edit.
The Edit Linear Constraint dialog box appears.

4.

Optionally, click a Coeff text box and type a new coefficient value.

5.

Optionally, click a different condition, < (less than) or > (greater than), in the pull-down list.

6.

Optionally, type a different inequality value in the text box to the right of the condition, and
then click OK.
You return to the Linear Constraint dialog box. The new coefficient value, the condition, and
the inequality value appear in the LHS (left-hand side), Condition, and RHS (right-hand side)
columns, respectively.

Deleting a Linear Constraint


1.

Do one of the following:

2.

If you are setting up an optimization analysis: In the Setup Optimization dialog box,
click the Variables tab.
If you are setting up a sensitivity analysis: In the Setup Sensitivity Analysis dialog box,
click the Variables tab.

Click Linear Constraint.


Setting up an Optimetrics Analysis 17-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Linear Constraint dialog box appears.


3.

Click the row listing the constraint you want to delete, and then click Delete.
The constraint is deleted.

17-88 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Running an Optimetrics Analysis


Once you have created all necessary Optimetrics based analyses, you have several options for running the simulations.

To use the Analyze All command at the Project or design level to simulate the nominal problem and subsequently run all Optimetrics setups, do the following:
1.

In the Project Manager window, right-click on the project or design name.

2.

Click Analyze All from the shortcut menu.

To use the Analyze All command from the Optimetrics menu to simulate only the Optimetrics
based setups, do the following:
1.

In the Project Manager window, right-click on Optimetrics.

2.

Click Analyze>All from the shortcut menu.

You can choose to analyze only the setups related to a specific Optimetrics type of analysis. In
order to simulate setups of a specific type, do the following:

Note

1.

In the Project Manager window, right-click on Optimetrics.

2.

Click Analyze>All {TYPE} from the shortcut menu where TYPE is the specific analysis type of interest, Parametric, Optimization, Sensitivity, or Statistical.

Improper or undefined simulation setups will cause errors during Optimetrics Analysis.
To verify the analysis setups, click Analysis>Analyze in the Project Manager window to
analyze the nominal circuit and review the messages in the Simplorer message manager
window prior to running the Parametric Analysis.

Setting up an Optimetrics Analysis 17-89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Viewing Analysis Results for Optimetrics Solutions


To view data specific to an Optimetrics solution, in general, do the following:

In the project tree, right-click the Optimetrics setup for which you want to view the results, and
then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

See the help topics in this section for more details about viewing optimization analysis results.

Viewing an Optimetrics Solution's Profile Data


At any time during or after the Optimetrics solution process, you can see an overview of the computing resources or profile data that was used by Simplorer as it solved each design variation. The
profile data indicates the how long each design variation took to solve.
1.

In the project tree, right-click the Optimetrics solution setup of interest, and then click View
Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Click the Profile tab.

3.

Select the Optimetrics setup with the results you want to view from the pull-down list at the
top of the dialog box.

4.

Optionally, to examine more detailed profile data for a specific design variation, do the following:
a.

Click a design variation in the table.

b.

Click Solver Profile.

The Solutions dialog box appears with the profile data for the selected design variation.
The profile line for the matrix solver is in the following format:
Solver 123
where:

1 is the precision type: M (mixed) or D (double)


2 is the matrix data type: R (real) or C (complex)
3 is the symmetry type: S (symmetric), A (asymmetric), H (hermitian)

Plotting Solution Quantity Results vs. a Swept Variable


To plot solution quantity results versus a swept variable's values on a rectangular (x - y) plot:
1.

In the project tree, right-click the parametric setup for which you want to view the results, and
then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

If it is not already selected, select Plot as the view type.

17-90 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

Select the variable with the swept values you want to plot on the x-axis from the X pull-down
list.

4.

Only one sweep variable at a time can be plotted against solution quantity results. Any other
variables that were swept during the parametric analysis remain constant.
Optionally, to modify the constant values of other swept variables, do the following:
a.

Click Set Other Sweep Variables Value.


The Setup Plot dialog box appears. All of the other solved variable values are listed.

b.
5.

Click the row with the variable value you want to use as the constant value in the plot, and
then click OK.

Select the solution quantity results you want to plot on the y-axis from the Y pull-down list.
The xy plot appears in the view window.

6.

Right-click in the plot area to get the shortcut menu where you can set modify the plots display
properties, print, copy to the clipboard, or export the data to a file.

Viewing Cost Results for an Optimization Analysis


To view cost values versus completed iterations in data table format:
1.

In the project tree, right-click the optimization setup for which you want to view the cost
results, and then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Under the Result tab, select Table as the view type, if it is not already selected.
The cost value at each solved design variation is listed in table format.

3.

Optionally, click a design variation in the table, and then click Apply.
Simplorer now points to the selected design variation as the nominal solution and as a result,
the design displayed in the Modeler window is changed to represent the selected design variation.
Click Revert to return the design in the view window to the original value.

Related Topics
Plotting Cost Data for an Optimization Analysis
Viewing Solution Data for an Optimetrics Design Variation

Plotting Cost Results for an Optimization Analysis


To view cost values versus completed iterations in rectangular (x-y) plot format:
1.

In the project tree, right-click the optimization setup for which you want to view the cost
results, and then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Under the Result tab, select Plot as the view type.


A plot of the cost value at each iteration appears.

Setting up an Optimetrics Analysis 17-91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Viewing Output Parameter Results for a Sensitivity Analysis


To view actual output parameter values versus design point in data table format:
1.

In the project tree, right-click the sensitivity setup for which you want to view the parameter
results, and then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Under the Result tab, select Table as the view type, if it is not already selected.
The following values are listed in table format:

3.

The regression value of the output parameter at the design point is listed in the Func.
Value column.
The first derivative of the regression is listed in the 1st D column.
The second derivative of the regression is listed in the 2nd D column.

Click Apply.
Simplorer now points to the selected design variation as the nominal solution and as a result,
the design displayed in the Modeler window is changed to represent the selected design variation.
Click Revert to return the design in the view window to the original value.

Related Topics
Plotting Output Parameter Results for a Sensitivity Analysis
Viewing Solution Data for an Optimetrics Design Variation

Plotting Output Parameter Results for a Sensitivity Analysis


To plot output parameter results versus sensitivity variable values on a rectangular (xy) plot:
1.

In the project tree, right-click the sensitivity setup for which you want to view the output
parameter results, and then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Under the Result tab, select Plot as the view type.

3.

Select the sensitivity variable with the sweep values you want to plot on the x-axis from the X
pull-down list.

4.

Select the output parameter results you want to plot on the y-axis from the Y pull-down list.
The xy plot appears in the Post Analysis Display dialog box.
The plot displays actual output parameter results for each solved design variation. It also displays a parabola that best fits these results. The parabola is a more accurate representation of
sensitivity around the design point than any individual solved design variation.

Viewing Distribution Results for a Statistical Analysis


1.

In the project tree, right-click the statistical setup for which you want to view the distribution
results calculated for the solution quantities, and then click View Analysis Result on the short-

17-92 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

cut menu.
The Post Analysis Display dialog box appears.
2.

Select the statistical setup with the results you want to view from the pull-down list at the top
of the dialog box.

3.

To view the results in tabular form, select Table as the view type.
The distribution results for the selected solution quantities are listed in table format for each
solved design variation.

4.

Optionally, click a design variation in the table, and then click Apply (at the far right side of
the dialog box).
The design displayed in the 3D Modeler window is changed to represent the selected design
variation.

5.

To view the results in graphic format, select Plot as the view type.

6.

Type the number of bins you want to plot on the x-axis.

7.

Select the solution quantity for which you want to plot distribution results on the y-axis from
the Y pull-down list.
A histogram plot appears in the Post Analysis Display dialog box. It displays the distribution
of the selected solution quantity.

8.

Optionally, click a design variation in the table, and then click Apply (at the far right side of
the dialog box).
Simplorer now points to the selected design variation as the nominal solution and as a result,
the design displayed in the Modeler window is changed to represent the selected design variation.
Click Revert to return the design in the view window to the original value.

Related Topics
Plotting Distribution Results for a Statistical Analysis
Viewing Solution Data for an Optimetrics Design Variation

Plotting Distribution Results for a Statistical Analysis


1.

In the project tree, right-click the statistical setup for which you want to view the distribution
results calculated for the solution quantities, and then click View Analysis Result on the shortcut menu.
The Post Analysis Display dialog box appears.

2.

Select the statistical setup with the results you want to view from the pull-down list at the top
of the dialog box.

3.

If it is not already selected, select Plot as the view type.

4.

Type the number of bins you want to plot on the x-axis.

5.

Select the solution quantity for which you want to plot distribution results on the y-axis from
the Y pull-down list.
Setting up an Optimetrics Analysis 17-93

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

A histogram plot appears in the Post Analysis Display dialog box. It displays the distribution
of the selected solution quantity.

17-94 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Link to Design Xplorer


You can export a .xml file containing information on a Simplorer setup, optimization variables, and
output variables that enables ANSYS Design Xplorer to manage Simplorer simulations, for example, for design of experiments and optimization. Design Xplorer will launch Simplorer simulations
of design variations and evaluate the Simplorer outputs.
To do so:
1.

Click Simplorer Circuit>Optimetrics Analysis>Add DesignXplorer Setup... or right-click


on Optimetrics in the Project window, and select Add DesignXplorer Setup... from the
short-cut menu.
This opens the DesignXplorer dialog with the General tab selected. it lists the setups available in the current project, and the input variables it contains.

2.

Check Include for the simulation setups you want to use.

3.

In the Input Variables panel, check Include for the Design Variables to use. You can also
choose to override the value of a design variable. Editing the Value and Units fields automatically enables Override. Unchecking Override returns the value and unit to their original
states.

4.

To setup output calculations, click the Calculation tab and click the Setup Calculations button.
This opens the Add/Edit Calculation dialog. Here you can define the simulation results of
interest. The dialog box contains distinct panes and tabs to set the Context, the Calculation
Expression, and the Calculation Range. See Setup Calculations for Optimetrics for details.
Use the Add Calculation button to add expressions to the Calculations table of the DesignX-

Setting up an Optimetrics Analysis 17-95

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

plorer Setup dialog, Calculations tab.

5.

When you have added the calculations of interest, click OK to save the setup.
An icon for the DesignXplorer setup appears under Optimization in the Project tree.

6.

To create a .xml file with the setup information for DesignXplorer, first Save your project.

7.

Then right-click on the setup and select Export External Connector Addin Configuration.

This displays a browser dialog that you can use to navigate through your file system, and name
and save the .xml file. The .xml file contains information regarding the Simplorer path along
with the setup, variables, and simulation results that you specified.
8.

If you have an ANSYS Workbench installation you can perform additional steps. A path to the
Workbench installation must be specified in the Tools>General Options dialog Miscellaneous tab.

9.

Then click Create Workbench Project.


This lets you name a Workbench project containing the information in the setup. The ANSYS

17-96 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Workbench will be launched with the connection to the Simplorer project established. To this
connection, you can add a DesignXplorer Setup. See the documentation of ANSYS Workbench for details on DesignXplorer.

Setting up an Optimetrics Analysis 17-97

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

17-98 Setting up an Optimetrics Analysis

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

18
Generating Reports and
Postprocessing

After Simplorer has generated a solution, all of the results for that solution are available for analysis. One of the ways you can analyze your solution data is to create a 2D or 3D report, or graphical
representation that displays the relationship between a designs values and the corresponding analysis results.
For each solution type (Transient, AC, and DC), the Simplorer Circuit>Results>Create
Standard Report or Simplorer Circuit>Results>Create BodeNyquist Report commands allow
you to select from a cascading menu that lists the Display Types available for that report.
If you have created custom report templates (for example, including your company name or other
format changes), you can also create a report based on that template by selecting Simplorer Circuit>Results>Report Templates>PersonalLib><templateName>.
When you select one of the standard report types the Report dialog box displays.
Related Topics
The Report Dialog Box
Creating a New Report
Creating a Report from an Ansoft Report Data File
Modifying Reports
Modifying the Background Properties of a Report
Creating Custom Report Templates
User Defined Outputs

Generating Reports and Post-Processing 18-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The Report Dialog Box


On the Report dialog box, you can select the following:
Context section:

Solution field provides a drop down selection list of available solutions (TR, AC, or DC).
Domain field provides a drop down list of domains. Available selections may include
Sweep, Time, or Spectral - depending on the Solution type.
When Spectral is selected, additional fields display in which you can make settings for Plotting Spectral Domain Data.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can select
additional quantities for plotting.

Trace tab

X (Primary Sweep) section

This contains a dropdown menu for selecting the value(s) and a browse button for selecting from a list if sweeps (if available).

Y section

Category - Available categories depend on the Solution type and the design. This lets you
specify the category of information for the Y component.
Quantity for Y.
Function to apply to the Y quantities.
Value field displays the currently specified Quantity and Function.
Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

Families tab:

Each member of a family defines one point on a curve.


Lists the number of families available.
Sweeps display or Available variations display radio buttons.
Sweeps allows you to edit the swept variable values that will be displayed by clicking the [...]
button in the Edit field., then choosing the desired variable values in the pop-up window. (By
default, all values are selected.)
Available variations allows you to select individual combinations of values via checkboxes.
Click the Select column heading to select or clear all checkboxes simultaneously. Click the
variable name column heading to sort the listing in either descending or ascending order.

Nominals field (disabled if none exist in the design) allows you to Set All Variables to Nominal, Set All Unswept Variables to Nominal, or to Choose Nominals to open a dialog box in
which you can select the variables you want to set to nominal values.

Families Display tab


18-2 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Contains three radio buttons: All Families, Statistics, and Histogram.


All Families (default) enables traces for all families selected on the Families tab to be displayed.
Statistics allows you to select various statistical functions to apply to the traces selected on
the Families tab. The selected functions can then be plotted on a new report, or added to the
currently active report.
Histogram allows you to generate a histogram plot based on the family of curves selected on
the Families tab. The histogram representation is meaningful as long as the number of variations on which it is based is greater than one (1). The source of these variations can be from
parametric, statistical, or optimization analyses; and even from multiple runs of the same
design generated by changing the value of existing design/project variables. Observe the following general guidelines when generating histograms:

Use Time as a primary sweep for TR solutions. Use Frequency as a Primary Sweep for
AC solutions.)
For the X-axis definition, only the available Primary Sweep quantity can be used.
For the Y-axis definition, any available quantity can be selected.
A set of N variations, where N is greater than one, must be selected under the Families
tab.
Set the desired Number of bins (the maximum number of rectangles used to represent the
number of outcomes). The number of bins must be between 2 and 1000.
Set the Value to sample at - the instance value of the selected Primary Sweep in milliseconds for Time, or kiloHertz for Frequency- at which the number of outcomes are computed among all N selected variations.

Update Report

Real Time checked -- enable real time updates for all reports.
Real Time unchecked -- enables drop down menu to Update All Reports or Update This
Report. Traces are updated to latest data available if you click Update This Report or after
last pass has been solved.

Report dialog command buttons

New Report. Adds a report to the Project tree under the Results icon. The new report is displayed in the Project window.
Add Trace - enabled when you have added a New Report, or selected an existing report to
modify. When you add traces, the new traces are displayed in the Project window under the
report.
Apply Trace - updates the selected traces in a report based on further processing or changes.
When you edit a trace, this button applies the current values to that trace.
Output Variables - opens the Output Variables dialog.
Options - opens the Report Setup Options dialog. This contains a checkbox for using the
advanced mode for editing and viewing trace components. Advanced mode is automatic if the
Generating Reports and Post-Processing 18-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

trace requires it. It also contains a field for setting the maximum number of significant digits to
display for numerical quantities.

Close - closes the Report dialog.

Note

The evaluated value of an expression is always interpreted in SI units. However, when a


quantity is plotted in a report, you have the option to plot values in units other than SI.
For example, the expression 1+ang_deg(S11) represents an angle quantity evaluated
in radians, though plotted in degree units. To represent an angle quantity in degrees, you
would specify units as 1 deg + ang_deg(S11).

Plotting Spectral Domain Data


To plot spectral domain data from a transient simulation in the Reporter:
1.

Open the Report dialog box and make the following changes:

2.

Select the desired transient solution and set the Domain to Spectral in the Context area.

3.

Set the Start Time and Stop Time as desired to avoid circuit startup artifacts or late time data.

4.

The number of harmonics to use in the FFT calculation can be set in the # Harmonics field.
Information about the Resolution Bandwidth and Maximum Frequency of the spectral data
will be updated automatically as the start time, stop time, and maximum number of harmonics
are varied. The start and stop times must lie within the transient simulation time limits.

5.

To control advanced settings such as noise threshold, integration type, and windowing, select
the Advanced button to the right of the # Harmonics field to open the Advanced dialog.
a.

Windowing functions cause the FFT of the signal to have non-zero values away from .
Each window function trades off the ability to resolve comparable signals and frequencies
versus the ability to resolve signals of different strengths and frequencies. You can apply a
window to the transient data to help resolve closely spaced harmonics and to reduce spectral leakage due to the finite nature of the time signal. Choose the Window Type to apply
to the data from the following list:
Window Function

Preferred Use

Rectangular (default)

A low dynamic range function offering good resolution for signals


of comparable strength. Poor when signals have very different
amplitudes. w(n)=1.

Bartlett

A high dynamic range function, with lower resolution, designed for


wide band applications.

Blackman

A high dynamic range function, with lower resolution, designed for


wide band applications.

Hamming

A moderate dynamic range function, designed for narrow band


applications.

18-4 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Window Function

Preferred Use

Hanning

A moderate dynamic range function, designed for narrow band


applications.

Kaiser

Selecting the Kaiser plot also enables the Kaiser Param field to
specify an associated Kaiser parameter. The larger the Kaiser
parameter, the wider the window. The parameter controls the tradeoff between width of the central lobe and the area of the side lobes.

Welch

This approach divides the spectrum into overlapping periodogram


bins in order to more accurately depict data away from the center of
the signal.

Weber
Lanzcos

b.

If desired, select the Adjust Coherent Gain checkbox, so that the signal levels are
adjusted (based on the window type) as if no window were used. When non-rectangular
windows are used, the window automatically changes the power level of the signal. This is
known as the coherent gain or processing loss of the window.

c.

If desired, change the Noise threshold (default value is 40 dB). This setting filters out data
that is more than the specified amount below the maximum magnitude.

d.

Set the Integration type as desired. FFT, the default integration type, is faster.

Note

6.

The Lanczos window offers a windowed form of the infinite sinc


filter, providing the central lobe of a horizontally-stretched sinc,
sinc(x/a) for -a = x = a.

Fourier Integration may be slightly more accurate than FFT, but can be much slower,
requiring a long time to create results.

When finished, click OK to save the settings.

For more information about the use of windows in harmonic analysis see: F.J. Harris, On the Use
of Windows for Harmonic Analysis with the Discrete Fourier Transform, pp. 51-83, Proc. IEEE,
vol. 66, no. 1, Jan 1978.

The Select Quantities Dialog Box


For a given simulation, you typically have an interest in looking at specific conditions in the
schematic. You can specify these outputs for a simulation via the Output dialog box.
After running a simulation, the outputs you specified in the Output dialog box are available for
selection in the Report dialog box Trace tab for the corresponding Category, such as Voltage or
Current.
While in the Report dialog box, if you wish to select additional quantities to plot, clicking the
Select Quantities button opens the Select Quantities dialog box in which you to can select
additional quantities for plotting. The Select Quantities dialog box is similar in operation to the
Output dialog box. Refer to the Setting the Outputs for Simulation for details.
Generating Reports and Post-Processing 18-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating a New Report


Following is the general procedure for creating a new report. Refer to the detailed procedures for
the various report types.
1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select either
Create Standard Report or Create BodeNyquist Report and from the cascading menu
select the Display Type for the desired report.
If you have created custom report templates (for example, including your company name or
other format changes), you can also create a report based on that template by selecting Simplorer Circuit>Results>Report Templates>PersonalLib><templateName>.
The Report dialog box appears.

2.

In the Context section make selections from the following fields, depending on the design and
solution type.

Solution a drop down selection list of the available solutions, whether sweeps or adaptive passes.
Domain a drop down selection list of domain(s) relevant to the chosen Solution. For
transient reports, the domain can be Spectral or Time. For AC reports, the domain is
Sweep. For DC reports, the domain is Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

3.

The Update Report sections controls whether or not reports are updated in real time. By
default, reports are updated in real time. If Real time is unchecked, use the Update button to
update either the current report or all reports manually.

4.

In the Y Component section of the dialog make selections for the following:
a.

Category - contents of this list depend on the Solution type and the design. This field lets
you specify the category of information for the Y component.

b.

Quantity - lists the Y component items available in the selected Category.

Note

The Quantity text field can be used to filter the Quantity list by typing in text. It is
enabled if the Category selected produces a lengthy Quantities list.

c.

Function to apply to the Y quantities.

d.

Ytext box- displays the currently specified Quantity and Function. You can edit this
field directly.

Note

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).

18-6 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

e.
5.

6.

Range Function button - opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

In the X (Primary Sweep) section, make selections for the following:


a.

Select the Primary Sweep value(s) from the drop down menu.

b.

If sweeps are available, you can select the browse button [...] to display a dialog that lets
you select particular sweep or sweeps, or all sweeps.

The Families tab of the Report dialog provides a way to select from valid solutions for sweeps
where a simulation has multiple variables defined (for example, for a parametric sweep). If so,
the variables other than the one chosen as the X (Primary sweep), are listed under the Families tab with columns for the variable, the value, and an Edit column with an ellipsis [...] button. You can make selections for the following:
a.

Select either Sweeps display or Available variations display radio buttons.

Sweeps allows you to edit the swept variable values that will be displayed by clicking
the [...] button in the Edit field., then choosing the desired variable values in the popup window. You can use a scroll bar to navigate the list.
- To select all values, click the checkbox for Use all values. This writes All in the
value field for that variable. You can also select individual values by clicking on
them.
- To select a range of values, hold down the Shift key, and click again.
- To select intermittent additional values, hold the CTRL key and click additional values. The values you select are highlighted in the list, and are also listed in the Values
column for that variable.
- To select all, use the Select All button. This highlights the complete list, as well as
listing all values for the variable in the Value field.
- To clear the selections, use the Clear All button.

b.

7.

Available variations allows you to select individual combinations of values via


checkboxes. Click the Select column heading to select or clear all checkboxes simultaneously. Click the variable name column heading to sort the listing in either
descending or ascending order.

In the Nominals field (disabled if none exist in the design) choose either Set All Variables to Nominal, Set All Unswept Variables to Nominal, or to Choose Nominals to
open a dialog box in which you can select the variables you want to set to nominal values.

On the Families Display tab, make selections for the following:


a.

Choose All Families (default selection) to enable traces for all families selected on the
Families tab to be displayed.

b.

Choose Statistics to select various statistical functions to apply to the traces selected on
the Families tab. The selected functions can then be plotted on a new report, or added to
the currently active report.

c.

Choose Histogram to generate a histogram plot based on the family of curves selected on
the Families tab. Observe the following general guidelines when generating histograms:
Generating Reports and Post-Processing 18-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

8.

For the X-axis definition, only the available Primary Sweep quantity can be used.
For the Y-axis definition, any available quantity can be selected.
A set of N variations, where N is greater than one, must be selected under the Families
tab.
Set the desired Number of bins (the maximum number of rectangles used to represent the
number of outcomes). The number of bins must be between 2 and 1000.
Set the Value to sample at - the instance value of the selected Primary Sweep in milliseconds for Time, or kiloHertz for Frequency at which the number of outcomes are computed among all N selected variations.

The Report dialog command buttons permit you create a new report with the settings you provide, or to modify an existing report.

9.

Use Time as a primary sweep for TR solutions. Use Frequency as a Primary Sweep for
AC solutions.)

New Report. Adds a report to the Project tree under the Results icon. The new report is
displayed in the Project window.
Add Trace - enabled when you have added a New Report, or selected an existing report to
modify. Click this to add one or more traces to the report. When you add traces, the new
traces are displayed in the Project window under the report.this is enabled when you have
created or selected a report.
Apply Trace - updates the selected traces in a report based on further processing or
changes. When you edit a trace, this button applies the current values to that trace.
Output Variables - opens the Output Variables dialog.
Options - opens the Report Setup Options dialog. This contains a checkbox for using the
advanced mode for editing and viewing trace components. This mode is automatic if the
trace requires it. It also contains a field for setting the maximum number of significant digits to display for numerical quantities.
Close - closes the Modify Report dialog.

Click New Report to create a new report in the Project tree.


The report appears in the view window. It will be listed in the project tree under Results.
Traces within the report also appear in the project tree. Some plots may take time to complete.
Performing a File>Save in such cases after the plot has been created will permit you to review
the plot later without having to repeat the calculation time when you reopen the project later.

10. To speed redraw times for changed plots, perform a Save. This saves the data that comprises
expressions.For example if re(S11)*re(S22) is requested over multiple widths, each of the S11
and S22 are stored when you save. If you do not do a save of a changed plot, the changed version is not stored.
Related Topics
Modifying Reports
Creating Custom Report Templates
18-8 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating a Report from an Ansoft Report Data File


Using the Ansoft Report Data File format, .rdat, a report can be saved (exported) from one design,
and subsequently imported into a different design (or even imported into the same design). This
allows you to take a static snapshot of a set of simulation data and view it at a later stage of the
design process, or view the same data set in one or more different designs.
To save a report to an Ansoft Report Data File:
1.

Create the report that you wish to save.

2.

Right-click in the report window (or right-click on the desired report icon in the project tree)
and select Export then Browse to open the Export Report dialog.

3.

Select the Ansoft ReportData files option (.rdat) in the Save as type selection drop down.

4.

Navigate to the desired location and either create a file name or select an existing file for the
exported report; and then click Save.

To create a report from an existing Ansoft Report Data File:


1.

Right-click on the Results folder in the project tree and select Create Report From File.

2.

Browse to select the desired Ansoft ReportData file (.rdat); and then click Open.

3.

The selected report is added to the design and opens in a new report window.

Related Topics
Exporting Plot Data

Generating Reports and Post-Processing 18-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Modifying Reports
To modify the data that is plotted in a report:
1.

In the project tree, click the report you want to modify.

2.

Right-click Modify Report.


The Report dialog box appears.

3.

Modify the report settings as desired. Refer to Creating a New Report for detailed information
on the various settings for this dialog box.
You can also view and edit the properties of Reports and their traces via their Properties windows. See Modifying Background Properties of a Report.

Related Topics
Showing and Hiding Active View Objects
Modifying Background Properties of a Report
Modifying the Legend in a Report
Working with Traces
Editing the Display Properties of Traces
Add Trace Characteristics
Adding Data Markers to Traces
Creating Custom Report Templates

18-10 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Showing and Hiding Active View Objects


The Active View Visibility dialog box allows you to control the visibility of various objects that
appear on reports. Tabs in the dialog box list these objects by type: such as: Traces, Notes,
Legends, and Color Keys.
To hide or show one or more objects on a report:
1.

On the View menu or on the menu bar, click Active View Visibility.
The Active View Visibility dialog box appears.

2.

Select the tab for the object type you want to show or hide.
By default, objects on a tab are listed by name in alphabetical order. You can invert the order
by clicking the Name bar above the Name field. For reports with large numbers of objects, you
can resize the dialog box for easier selection.

3.

On the desired tab, check the Visibility checkbox for objects you want to show in the active
view window. Uncheck the box to hide objects.
Clicking the Visibility bar above the check box field toggles the visibility of all objects in the
list simultaneously.
You can also use the Name text box to type in an object name and control visibility for the
named object via the Show and Hide buttons.

4.

When finished making changes, click Done to close the dialog box.

Modifying the Background Properties of a Report


The standard Zoom, Pan, and Fit commands operate on reports. When zooming on a report, axis
labels and ticks adjust automatically during the zoom operation and rescale to their final value after
the zoom operation is complete.
To modify the appearance of a report, or the display properties an object in a report.
1.

Open the report you want to modify.


Hint

2.

You must select an editable object in the report to be able to edit its properties.

Click on an object to select it and to view its Properties in the docked properties window. To
open Properties window, either double click on the selected object, or click Edit>Properties
on the toolbar.
The selectable objects in reports are as follows:

Header this lets you edit the Properties for the text displayed at the top of the report,
including the Title font, Company Name, Show Design Name, Subtitle Font. The plot title
is tied to the report's name and is not a Header property. If you change the report name in
the Project tree, plot title synchronizes. The Company Name and the Show Design Name
checkbox are grouped in the Properties dialog as Subtitle. Edits to the Subtitle Font Property affects both of them.
General -- this dialog (or General tab for other Report properties windows) lets you edit
the background color (the perimeter around the trace display) for the plot, the contrast
Generating Reports and Post-Processing 18-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

color (the trace display background), the Field width, the Precision, and whether to use
scientific notation for marker and delta marker displays. (X and Y notation display is set
separately, in the Axis property tabs.)

Legend this lets you edit the Properties for whether to Show Trace Name, Show Solution Name, and Variation Key. At least one of these three must be selected. You can also
edit the Font, the background color of the Legend box, the Border Color, the Border
Width, Grid Color (for the lines between Trace descriptions), and the Grid line width.
Also see Modifying the Legend in a Report.
Traces you can select traces either in the Legend or on the plot. The trace will turn
green when selected. Editable properties for traces include: Color, Line Style, Line Width,
Trace Type, whether to Show a symbol, Symbol Frequency, Symbol style, whether to Fill
Symbol, Symbol Color, and whether to Show Arrows. See Editing the Display Properties
of Traces.
Grid Editable grid properties include: Grid border color, major and minor grid line colors and line styles, and whether to show the major and minor X and Y grids.
X or Y Axis Tab the defaults for most of these values are set in the Report 2D Options
Axis tab.

Specify Name selecting this enables you to change the axis name.
Name this describes the axis to which the following properties/options refer.
These are selected in the Modify Report dialog.
Axis Color set the color by clicking the color bar to display the Set color dialog
box. Select a default or custom color and click OK.
Text Font click the cell to display the edit Font dialog box in which you can select
from a list of available fonts, styles, sizes, and colors. The dialog also contains a preview field. Click OK to apply the font edits and close the dialog box.
-Manual Format (section)

Number format select from the drop down menu, Auto, Decimal, or Scientific notation.
Field Width enter a real value.
Field Precision enter a real value.

X or Y Scaling Tab These properties provide control over scaling.

Axis Scaling use the drop down menu to select scaling as Linear or Log. For the Y
axis, all zero and negative values are discarded before log scaling is applied.
Specify Min check box that enables the Min field.
Min minimum axis value. text entry in same units as axis units. Saved as SI internally.
Specify Max Checked, enables the user to set the Max value to be displayed.
Unchecked, Simplorer automatically sets the Max value.
Max -- maximum axis value. text entry in same units as axis units. Saved as SI inter-

18-12 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

nally.

Specify Spacing Checked, enables the user to set the Spacing value to be displayed. Unchecked, Simplorer automatically sets the Spacing value.

Spacing the spacing of major tick divisions within the axis scaling range.
Value must be greater than zero. If the value exceeds the specified axis range,
spacing is automatically adjusted (entry is in same units as axis units. Saved as SI
internally.)
Minor Tick Divs the number of minor tick divisions displayed on the axis
between major tick divisions. Entry must be greater-than or equal-to 1 and less
than 20.

-Manual Units (section)

Auto Units use the check box to auto-compute the correct units for the axis.
Units click on the cell to select from a menu of available units if you have not
checked Auto Units.

-Infinity Visualization (section)

Map Infinity Mode checkbox.


Each axis now can be set to treat infinity values in a user defined way. When you
check the Map Infinity Mode, any infinity values in the input data get the infinityMap value (negative infinity gets the value*-1 and positive infinity the positive
value specified). This can be useful if there are zeros, or very small values that
Simplorer treats as zero, in the data, for example, dB Gain.

3.

Map Infinity To enter a real value for the Map Infinity Mode.

When finished editing properties, click OK to apply the changes and close the dialog box.

Related Topics
Modifying Reports
Working with Traces
Modifying the Legend in a Report
Editing the Display Properties of Traces
Setting Report2D options
Creating Custom Report Templates

Modifying the Legend in a Report


The legend in a report is a list of the traces being plotted. For each trace, the legend gives the name,
shows the line color, and lists the setup and the adaptive pass used to generate the trace
To show or hide a Legend in a report:
1.

Make the report the active view.

2.

Use View>Active View Visibility or the Show/Hide icons on the toolbar to display or hide the
Generating Reports and Post-Processing 18-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

report.
Either command displays the Active View Visibility dialog box.
3.

Select the Legends tab.


This lists the legend (or legends) in the report.

4.

Check/uncheck the Visibility checkbox to show/hide the Legend, and click OK to apply the
change and close the dialog box.

To edit the display properties of a legend:


1.

Select the legend in a report by clicking on the Curve Info panel to display a docked properties
window, or right-click on the legend and select Edit>Properties to display the floating properties window.
This lets you edit the Properties for whether to Show Trace Name, Solution Name, and Variation Key. At least one of these three must be selected.
You can also edit the Font by clicking the Font cell to display the Edit Text Font dialog. The
dialog lets you select from a list of available fonts, styles, sizes, effects, colors, and script. The
dialog also contains a preview field. OK the selections to apply the font edits and to close the
dialog
You can also edit the background color of the Legend box, the Border Color, the Border
Width, Grid Color (for the lines between Trace descriptions), and the Grid line width.

2.

Click OK to close the Properties window and apply the selections.

To move a legend in a report:


1.

Click and hold the cursor anywhere inside the legend.


The cursor changes to crossed lines with arrow tips.

2.

Drag the legend to a new location and release.

To resize a legend in a report:


1.

Position the mouse tip over the edge you want to resize.
The mouse pointer changes to a horizontal or vertical line with arrow tips.

2.

Click and drag the horizontal or vertical edge to the desire size and release.

Related Topics
Showing Objects
Hiding Objects
Modifying Reports

18-14 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3D Report Attributes
To modify 3D report attributes:
1.

Right-click in a 3D report window and select Modify attributes from the context menu.
A dialog box appears containing four tabs: Color map, Scale, Traces, and Labels.

2.

Select a tab and make the desired changes.


If Real time mode is checked (default), changes are applied to the report immediately. If Real
time mode is unchecked, you must click Apply to see the changes.

3.

When finished changing attributes, click Close.

Generating Reports and Post-Processing 18-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Spinning a 3D Report
You can set a 3D report spinning around any axis, to enable viewing from multiple angles without
having to rotate repeatedly.
1.

On the View menu, click Spin. Alternatively, right-click on the 3D graph, select View from
the pulldown menu, and then select Spin from the subordinate menu. The cursor changes to the
Spin mode cursor (curved arrows).

2.

Left-click and drag the mouse in the direction and at the speed you want to spin the view.
When you release the left button, the image begins spinning continually.

3.

To stop spinning, left-click the mouse again in the report window. You can start another spin in
the same or another direction and speed by repeating step 2.

4.

To end Spin mode, press the ESC key or deselect Spin on the View menu.

Creating Custom Report Templates


You can edit properties from any report type and save it as a template. This can save repeated editing of properties (for example, your companys name, or color schemes) when you create other
reports. Once you create templates, you can access them from the Results>Report Templates>PersonalLib menu.
See Modifying the Background Properties of a Report for a discussion of format changes you can
make to any report.
To save an edited report as a template:
1.

In the Project Tree, right-click on the report name of interest to display the shortcut menu and
click Save as Template:
This displays the Report Save As file browser. By default, the directory is your ProjectDirectory\PersonalLib\ReportTemplates directory.

2.

Typically, you accept the directory.

3.

You must provide a file name, which will be given an *.rpt extension.
It is good practice to give the template a descriptive name, showing both the kind of format
you begin with (such as Rectangular Plot or Digital Plot) and a description of the distinguishing edits (such as for company name, or color scheme). Once saved, this name will appear on
the Results>Report Templates>PersonalLib menu.

4.

The Save As Type field currently supports the Ansoft Report Format (*rpt) format.

5.

Click Save to save the template to the PersonalLib menu.

All *.rpt templates in the directory appear on the Results>Report Templates>PersonalLib menu.
Selecting a report from the PersonalLib menu opens a report that you can then Modify to add
traces or perform other edits.
Related Topics
Modifying Reports
Modifying the Background Properties of a Report
18-16 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Modifying the Legend in a Report


Working with Traces
Editing the Display Properties of Traces
Discarding Report Values Below a Specified Threshold

Working with the X-Axis Scrollbar (Rectangular, Stacked, Bode, and


Nyquist Plots)
To facilitate finding data markers on 2D rectangular, stacked, Bode, and Nyquist plots, you can
enable the X-axis scrollbar. To access the scrollbar settings, click on any report object (trace, grid,
legend, etc.); or right-click on an object and select Properties on the pop-up menu.
The scrollbar settings are located on the Cartesian tab for rectangular, stacked, and Nyquist plots;
or on the Bode tab for Bode plots, in either the docked Properties window or the Properties dialog
box. Cartesian tab settings include:

Show X Scrollbar check the box to display a scrollbar beneath the X-axis on the report.
The scrollbar spans the entire visible width of the plot. Names of data markers you have added
to the plot appear on the scrollbar showing their relative locations on the plot. A small tab (and
vertical line - depending on the Thumb trans setting) appears under the scrollbar to mark the
locations of X-data markers present on the plot.
The scrollbar contains a thumb slider. When first displayed, the slider completely fills the
scrollbar. In addition to the Thumb width setting in the Properties window, you can change
the width dynamically by moving the mouse pointer over either the left or right edge of the
thumb slider until the pointer changes to a horizontal two-headed arrow. Click and hold the left
mouse button and slide the edge of the thumb to resize it. As the thumb width changes, the
scale of the graph and the portion of the plot shown change accordingly making the thumb
narrower zooms in, widening the thumb zooms out. Sliding the thumb scrolls the plot horizontally in the graph window.

Background color click to open a color selection box for setting the background color of the
scrollbar.
Thumb color click to open a color selection box for setting the thumb slider color.
Thumb trans click to open a Set Transparency dialog box containing a slider that sets the
transparency of the thumb. A text entry box shows the current setting. You can also enter a
value between 0 (opaque) and 1 (transparent) directly in the box to set transparency.
Thumb start sets the starting X-value of the plot displayed in the graph window.
Thumb width sets the X-axis value range of the plot displayed in the graph window. The
width of the thumb slider changes accordingly
For example, if the original plots X-axis range was 0 to 40, setting Thumb start to 5, and setting Thumb width to 20 changes the scale to show a range between 5 and 25 - effectively

Generating Reports and Post-Processing 18-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

stretching or zooming in on the plot to allow a more detailed view.


Note

You can restore the plot to its original view by right-clicking anywhere in the plot
window, then selecting View>Fit All from the pop-up menu.

Thumb Slider

18-18 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Selecting the Display Type


The information in a report can be displayed in several formats. Select from the following Display
Type formats in the Create <type> Report submenus:
Rectangular Plot

A 2D rectangular (x-y) graph.

Polar Plot

A 2D circular chart divided by spherical coordinates.

Radiation Pattern

A 2D polar plot of radiated fields.

Data Table

A grid with rows and columns that displays, in numeric form, selected
quantities against a swept variable or other quantity.

3D Rectangular Plot A 3D rectangular (x-y-z) graph.


3D Polar Plot

A 3D circular plot divided by spherical coordinates.

Rectangular Stacked A series of 2D rectangular (x-y) graphs stacked vertically, sharing a


Plot
common x-axis scale, but with each trace having its own y-axis scale.
Digital Plot

A 2D rectangular graph especially designed to display quantities for


VHDL models. Each quantity has its own coordinate system.

Bode Plot

A 2D rectangular (x-y) graph consisting of a combination of a


magnitude plot of log magnitude versus log frequency; and a phase
plot of phase versus log frequency.

Nyquist Plot

A 2D polar chart in which the gain (magnitude) and phase of a


frequency response are plotted showing phase as the angle and
magnitude as the distance from the origin.

Note

Outputs that are Boolean (enum-type) can only be plotted in Digital Plots or in Data
Tables.

In addition to the above reports, you can also generate a Plot-On-Schematic, which is a standard
2D Rectangular Plot associated with the selected component, displaying the plot alongside the
component in the Schematic editor.

Creating Rectangular Plots


A rectangular plot is a 2D, x-y graph of simulation results.
Note

A solution setup must be defined before attempting to create a rectangular plot.

To create a rectangular plot:


1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>Rectangular Plot.
The Report dialog box appears.
Generating Reports and Post-Processing 18-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data. The magnitude function mag() is also automatically
applied to Quantities selected for plotting in the Y field.

3.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

Under the Trace tab, Y component section, specify the information to plot along the y-axis:
a.

In the Category list, click the type of information to plot.

b.

In the Quantity list, click the value to plot.

c.

In the Function list, click the mathematical function of the quantity to plot.

d.

The Y value field displays the currently specified Quantity and Function. You can edit this
field directly.

Note

e.
4.

The text color shows whether or not the expression is valid (blue for valid
expressions, red for invalid).
When Spectral is selected, the magnitude function mag() is automatically applied
to Quantities selected for plotting in the Y field.

Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

On the Trace tab, X (Primary sweep) line, specify the quantity to plot along the x-axis in one
of the following ways:.

Select the sweep variable to use from the drop down list.
If sweeps are available, you can select the browse button to display a dialog that lets you
select particular sweep or sweeps, or all sweeps. The quantity will be plotted against the
primary sweep variable listed.

5.

On the Families section, confirm or modify the sweep variables that will be plotted.

6.

Click New Report.


This creates a new report in Project tree, displays the report with the defined trace, and enables
the Add Trace button on the Report dialog.
The function of the selected quantity will be plotted against the swept variable values or quantities you specified on an x-y graph. The plot is listed under Results in the project tree and the
traces are listed under the plot. When you move the mouse pointer close to a trace, the quantity

18-20 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

name of that trace is displayed in a box that appears next to the cursor. when you move the
mouse cursor over a trace listed in the Curve Info box, the corresponding trace changes color.
When you select the traces or plots, their properties are displayed in the Properties window.
These properties can be edited directly to modify the plot.
7.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Sweeping a Variable
Working with Traces
Delta Markers in 2DPlots
Modifying Background Properties of a Report
Creating a Plot-On-Schematic

Generating Reports and Post-Processing 18-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating Polar Plots


A polar plot is a 2D circular chart divided by the spherical coordinates R and theta, where R is the
radius, or distance from the origin, and theta is the angle from the x-axis. Following is the general
procedure for drawing a polar graph of results:
1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>Polar plot.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

The Report dialog box appears.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data.

3.

a.

On the Category drop down list, click the type of information to plot.

b.

On the Quantity list, click the values to plot. Use Ctrl-click to make multiple selections.

c.

In the Function list, click the mathematical function to apply to the quantity for the plot.

d.

The Value field displays the currently specified Quantity and Function. You can edit this
field directly.

e.

5.

Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

On the Trace tab, Polar area, specify the information to plot:

Note

4.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).
Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

On the Primary Sweep line, select the sweep variable from the drop down list and the values
against which to plot the Polar Component.
Click New Report.
This creates a new report in the Project tree, displays the report with the defined trace, and
enables the Add Trace button on the Report dialog box.
The function of the selected quantity will be plotted against the swept variable values or quantities you specified on an x-y graph. The plot is listed under Results in the project tree and the
traces are listed under the plot. When you move the mouse pointer close to a trace, the quantity
name of that trace is displayed in a box that appears next to the cursor. when you move the

18-22 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

mouse cursor over a trace listed in the Curve Info box, the corresponding trace changes
color.When you select the traces or plots, their properties are displayed in the Properties window. These properties can be edited directly to modify the plot.
6.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Reviewing 2D Polar Plots
Sweeping a Variable
Working with Traces

Reviewing 2D Polar Plots


For a polar plot of S-parameters, Simplorer displays in the lower-left corner the following
derived information about the cursors location:
MP

The magnitude and phase of the point.

RX

The normalized resistance (R) and reactance (X).

GB

An alternate view of the normalized resistance and reactance in the form


of

1
R + jX = ---------------G + jB
where

G = conductance
B = susceptance

The quality factor.

VSWR

The voltage standing wave ratio, calculated from the equation

A scale below the plot displays the scale of points along the R-axis.

1 + S ij
-----------------.
1 S ij

Related Topics
Creating 2D Polar Plots

Creating Radiation Patterns


A radiation pattern is a 2D polar plot displaying the intensity of near- or far-field radiation patterns.
It is divided by the spherical coordinates R and theta, where R is the radius, or distance from the
origin, and theta is the angle from the x-axis. Following is the general procedure for drawing a radiation pattern of results:
1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>Radiation Pattern.
The Report dialog box appears, and a Radiation Pattern icon appears under Results in the
Project tree.
Generating Reports and Post-Processing 18-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data.

3.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

In the Trace tab Mag area, specify the information to plot along the R-axis, or the axis measuring magnitude:
a.

On the Category drop down list, click the type of information to plot.

b.

On the Quantity list, click the values to plot. Use Ctrl-click to make multiple selections.

c.

In the Function list, click the mathematical function to apply to the quantity for the plot.

d.

The Value field displays the currently specified Quantity and Function. You can edit this
field directly.

Note

e.

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).
Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

4.

In the Trace tab Ang (Primary sweep) line, specify the sweep variable from the drop down
list, and specify all values or select values.

5.

Click New Report.


This creates a new report in the Project tree, displays the report with the defined trace, and
enables the Add Trace button on the Report dialog.
The function of the selected quantity or quantities will be plotted against the values you specified on a 2D polar plot. The plot is listed under Results in the project tree and the traces are
listed under the plot. When you move the mouse pointer close to a trace, the quantity name of
that trace is displayed in a box that appears next to the cursor. when you move the mouse cursor over a trace listed in the Curve Info box, the corresponding trace changes color. When you
select the traces or plots, their properties are displayed in the Properties window. These properties can be edited directly to modify the plot.

6.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

18-24 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Sweeping a Variable in a Report
Working with Traces

Creating Data Tables


A data table is a grid of rows and columns that displays, in numeric form, selected quantities
against a swept variable or other quantities.
1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>Data Table.
The Report dialog box appears.

2.

Similarly, if you drew a data table directly on a schematic using either the
Draw>Report>Datatable - Columns or Draw>Report>Datatable - Rows command,
double-clicking the data table on the schematic opens the Report dialog box.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data.

3.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.
Show last value only - unchecked by default. checked if a transposed data table has been
added to the sheet using the Draw>Report>Datatable - Rows command.

On the Trace tab, select the quantity you are interested in and its associated function:
a.

In the Category list, click the type of information to plot.

b.

In the Quantity list, click the values to plot. Use Ctrl-click to make multiple selections.

c.

Optionally, in the Function list, click the mathematical function to apply to the quantity.

d.

The Y field displays the currently specified Quantity and Function. You can edit this
field directly.

Note

e.

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).
Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.
Generating Reports and Post-Processing 18-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

On the Primary Sweep line, select the sweep variable from the drop down list, and specify All
values or select values.

5.

For the X field, either check Default to use the default x quantity, or uncheck Default to
choose another quantity in the Select X Component dialog box.

6.

Click New Report.


This creates a new report in Project tree, displays the report with the defined trace(s), and
enables the Add Trace button on the Report dialog box.
The Y quantity will be listed at each variable value or additional quantity value you specified.
The data table is listed under Results in the project tree, and the defined traces are listed under
the data table. When you select the traces or plots, their properties are displayed in the Properties window. These properties can be edited directly to modify the plot.

7.

Optionally, add other trace(s) to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Working with DataTables
Sweeping a Variable
Working with Traces

Working with Data Tables


The following section describes the various options and settings you can make when working with
data tables.

To change the column order in a data table, drag a column head to the desired position and
drop it. Column and row headings remain visible when scrolling.
To restore the original column order if columns have been moved (reordered), right-click anywhere in the table and select the Reset command on the context menu.
To add a new set of data to the table each time an analysis is run, right-click anywhere in the
table and select the Accumulate command on the context menu.
To add a note to the data table, right-click anywhere in the table, select the Add Note command on the context menu, and type the note text in the resulting dialog box. Once created, you
can edit the notes font, background and border colors and visibility, and the border width.

The following properties tabs appear in both the Properties window and Properties dialog box for
the data table.
Data Table Tab

Show Global Min-Max - Displays the global minimum and maximum values of the unfiltered
data values in each column (or row if the table has been transposed). These values are displayed at the beginning of the table.
Show Local Min-Max - This field displays only if you choose to specify Min and Max values
on the Data Filter tab. Displays the local minimum and maximum values of the data values in

18-26 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

each column (or row if the table has been transposed). These values are displayed at the beginning of the table.

Transpose - Rearranges the data table such that each column of data becomes a row. Column
and row headings remain visible when scrolling.
Num Data Per Page - Sets the number of rows of data displayed per page. When multiple
pages are available for viewing, you can use the arrows and page numbers at the bottom of the
table to navigate through the pages.
Goto Page - This field appears only if multiple pages of data are present. Clicking the [...] button opens the Goto Page dialog box where you can choose the desired data page.
Show Trace Name - Checkbox that toggles display of all trace names.
Show Solution Name - Checkbox that toggles display of all solution names.
Show Variation Key - Checkbox that toggles display of all variation key names.
Font - Opens the Font dialog box in which you can set the font characteristics for the table.
Back Color - Sets the table background color.
Border Color - Sets the table border color.
Border Width - Sets the table border width.
Grid Color - Sets the table grid line color.
Grid Line Width - Sets the table grid line width.

Data Filter Tab


You can filter table data via the Properties window Data Filter tab which can be opened by
selecting any table column. (The Data Filter tab is also available in the table Properties dialog box
which you can open by double-clicking any column heading.) Table units and formatting also can
be set on the Data Filter tab.
The following settings can be made:

Units - Sets the unit of measure for the selected field.


Number Format - Sets whether the data in the selected field is displayed in decimal or scientific notation.
Field Width - Sets the total number of digits displayed for the data in the selected field.
Field Precision - Sets the number of digits displayed to the right of the decimal point for the
data in the selected field.
Specify Min and Specify Max - When checked, allows you to set the Min and/or Max data
value(s) of the selected field to be included in the filtered list of data.
Pare to - Filters the data table on the selected field using Pare to Minimum, Maximum, or
user-specified Pare To Value.

Header Tab

Title Font - Opens the Font dialog box in which you can set the font characteristics for the
table title.
Sub Title Font - Opens the Font dialog box in which you can set the font characteristics for the
Generating Reports and Post-Processing 18-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

table sub-title.

Company Name - Field in which you can enter text for the sub-title.
Design Name - Toggles display of the design name in the table header.

Creating 3D Rectangular Plots


A 3D rectangular plot is an x-y-z graph of results.
1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>3D Rectangular Plot.
The Report dialog box appears.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data. The magnitude function mag() is also automatically
applied to Quantities selected for plotting in the Z field.

3.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

Under the Z Component area, specify the information to plot along the z-axis:
a.

In the Category list, click the type of information to plot.

b.

In the Quantity list, click the value to plot.

c.

In the Function list, click the mathematical function of the quantity to plot.

d.

The Z value field displays the currently specified Quantity and Function. You can edit this
field directly.

Note

e.
4.

The text color shows whether or not the expression is valid (blue for valid
expressions, red for invalid).
When Spectral is selected, the magnitude function mag() is automatically applied
to Quantities selected for plotting in the Z field.

Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

On the Y (Secondary sweep) lines, specify the information to plot along the y-axis in one of
the following ways:

Select the sweep variable to use from the drop down list.

18-28 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

On the X (Primary sweep) lines, specify the information to plot along the x-axis in one of the
following ways:

6.

If sweeps are available, you can select the browse button to display a dialog that lets you
select particular values. The quantity will be plotted against the primary sweep variable
listed.

Select the sweep variable to use from the drop down list.
If sweeps are available, you can select the browse button to display a dialog that lets you
select particular values. The quantity will be plotted against the primary sweep variable
listed.

Click New Report.


This creates a new report in Project tree, displays the report with the defined trace, and enables
the Add Trace button on the Report dialog.
The function of the selected quantity or quantities will be plotted against the values you specified on an x-y-z graph. The plot is listed under Results in the project tree.When you select the
traces or plots, their properties are displayed in the Properties window. These properties can be
edited directly to modify the plot.

7.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Sweeping a Variable
Working with Traces
Add Trace Characteristics

Creating 3D Polar Plots


A 3D polar plot is a 3D circular chart divided by the spherical coordinates R, theta, and phi, where
R is the radius, or distance from the origin, theta is the angle from the x-axis, and phi is the angle
from the origin in the z direction. Following is the general procedure for drawing a 3D polar plot of
results:
1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>3D Polar Plot.
The Report dialog appears.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data. The magnitude function mag() is also automatically
Generating Reports and Post-Processing 18-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

applied to Quantities selected for plotting in the mag field.

3.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

In the Mag Component area, specify the information to plot along the R-axis, or the axis measuring magnitude:
a.

On the Category drop down list, click the type of information to plot.

b.

On the Quantity list, click the values to plot. Use CTRL-click to make multiple selections.

c.

In the Function list, click the mathematical function to apply to the quantity for the plot.

d.

The mag value field displays the currently specified Quantity and Function. You can edit
this field directly.

Note

e.

The text color shows whether or not the expression is valid (blue for valid
expressions, red for invalid).
When Spectral is selected, the magnitude function mag() is automatically applied
to Quantities selected for plotting in the mag field.

Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

4.

On the Theta (Secondary Sweep) line, select the sweep variable from the drop down list and
specify all values or select values to plot along the theta-axis:

5.

On the Phi (Primary Sweep) line, select the sweep variable from the drop down list, and specify all values or select values to plot along the phi-axis:

6.

Click New Report.


This creates a new report in Project tree, displays the report with the defined trace, and enables
the Add Trace button on the Report dialog.
The function of the selected quantity or quantities will be plotted against the R-, phi-, and
theta-axes on a 3D polar graph. The plot is listed under Results in the project tree. When you
select the traces or plots, their properties are displayed in the Properties window. These properties can be edited directly to modify the plot.

7.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Sweeping a Variable
Working with Traces

Creating Rectangular Stacked Plots


A rectangular stacked plot is a 2D, x-y graph of simulation results.
Note

A solution setup must be defined before attempting to create a rectangular plot.

18-30 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To create a rectangular plot:


1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>Rectangular Stacked Plot.
The Report window appears.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes.
Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data.

3.

Under the Trace tab, Y component section, specify the information to plot along the y-axis:
In the Category list, click the type of information to plot.

b.

In the Quantity list, click the value to plot.

c.

In the Function list, click the mathematical function of the quantity to plot.

d.

Value field displays the currently specified Quantity and Function. You can edit this field
directly.

e.

6.

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).
Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

On the Trace tab, X (Primary sweep) line, specify the quantity to plot along the x-axis in one
of the following ways:.

5.

Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

a.

Note

4.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.

Select the sweep variable to use from the drop down list.
If sweeps are available, you can select the browse button to display a dialog that lets you
select particular sweep or sweeps, or all sweeps. The quantity will be plotted against the
primary sweep variable listed.

On the Families section, confirm or modify the sweep variables that will be plotted.
Click New Report.
This creates a new report in Project tree, displays the report with the defined trace, and enables
the Add Trace button on the Report dialog.
The function of the selected quantity will be plotted against the swept variable values or quanGenerating Reports and Post-Processing 18-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tities you specified on an x-y graph. The plot is listed under Results in the project tree and the
traces are listed under the plot. When you move the mouse pointer close to a trace, the quantity
name of that trace is displayed in a box that appears next to the cursor. when you move the
mouse cursor over a trace listed in the Curve Info box, the corresponding trace changes color.
When you select the traces or plots, their properties are displayed in the Properties window.
These properties can be edited directly to modify the plot.
7.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.
The new trace will appear as a separate plot stacked above the first plot. The stacked plots
share a common x-axis scale. However, each plot has its own independent y-axix scale.

Related Topics
Sweeping a Variable
Working with Traces
Delta Markers in 2DPlots
Modifying Background Properties of a Report

Creating a Bode Plot


A Bode Plot typically is used to display the frequency response of a linear, time-invariant system.
Bode plots consist of both a magnitude plot and a phase plot, with the magnitude plot stacked
above the phase plot. The stacked plots share a common x-axis scale.

The Bode magnitude plot is a graph of log magnitude (Gain) versus log frequency. The Gain
values by default are expressed in decibels.

The Bode phase plot is a graph of phase angle versus log frequency. The Phase angle by
default is expressed in degrees.
Note

An AC analysis setup must be defined before attempting to create a Bode Plot.

To create a Bode plot:


1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
BodeNyquist Report and from the cascading menu select Bode Plot.
The Report window appears.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution field with a drop down selection list. This lists the available solutions, whether
sweeps or adaptive passes. Select AC:AC.
Domain field with a drop down selection list. Select Sweep.
Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

18-32 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

3.

On the Trace tab, specify the information to plot:


a.

For the Primary Sweep field, specify the quantity to plot along the x-axis in one of the
following ways:.

b.

Select the sweep variable F (frequency) to use from the drop down list.
If sweeps are available, you can select the browse button to display a dialog that lets
you select particular sweep or sweeps, or all sweeps. The quantity will be plotted
against the primary sweep variable listed.

For the X field, ensure that the Default box is checked ensuring that Frequency is plotted
along the x-axis.

c.

In the Category list, click the type of information to plot along the y-axis.

d.

In the Quantity list, click the value to plot along the y-axis.

e.

Optionally, in the Function list, click the mathematical function to be applied to the quantity to plot.
The Signal field displays the currently specified Quantity and Function that will be plotted along the y-axis. You can edit this field directly.

Note

f.
4.
5.

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).
Range Function button -- opens the Set Range Function dialog. This applies currently
specified Quantity and Function.

Optionally, on the Families tab, confirm or modify the sweep variables that will be plotted.
Click New Report.
This creates a new Bode plot in the Project tree, displays the plot with the defined trace, and
enables the Add Trace button on the Report dialog.
The function of the selected quantity will be plotted against the swept variable values or quantities you specified on x-y magnitude and phase graphs. The plot is listed under Results in the
project tree and the traces are listed under the plot. When you select the traces or plots, their
properties are displayed in the Properties window. These properties can be edited directly to
modify the plot.

6.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Sweeping a Variable
Working with Traces
Delta Markers in 2DPlots
Modifying Background Properties of a Report

Generating Reports and Post-Processing 18-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Creating a Nyquist Plot


A Nyquist Plot typically is used to assess the stability of a closed-loop feedback system by plotting
the gain and phase of a systems frequency response using polar coordinates.
Note

An AC analysis setup must be defined before attempting to create a Nyquist Plot.

To create a Nyquist plot:


1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
BodeNyquist Report>Nyquist Plot.
The Report window appears.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

3.

The Solution field lists the available solutions. For Nyquist Plots, select AC:AC.
In the Domain field select Sweep.
Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

On the Trace tab, specify the information to plot:


a.

For the Primary Sweep field, the default sweep is F (frequency).

b.

In the Category list, click the type of information to plot.

c.

In the Quantity list, click the value to plot. Typically this will be the output signal you
wish to investigate.

d.

Optionally, in the Function list, click the mathematical function to be applied to the quantity to plot.
The Signal field displays the currently specified Quantity and Function that will be plotted along the y-axis. You can edit this field directly.

Note

4.
5.

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).

e.

Optionally, the Range Function button opens the Set Range Function dialog in which a
range function can be selected and applied to the currently specified Quantity and Function.

f.

For the Base field, choose the desired quantity to plot from the Select Base Component
window.

Optionally, on the Families tab, confirm or modify the sweep variables that will be plotted.
Click New Report.
This creates a new Nyquist plot in the Project tree, displays the plot with the defined trace, and
enables the Add Trace button on the Report dialog.
The function of the selected quantity will be plotted against the swept variable values or quan-

18-34 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

tities you specified on a polar Nyquist graph. The plot is listed under Results in the project tree
and the traces are listed under the plot. When you select the traces or plots, their properties are
displayed in the Properties window. These properties can be edited directly to modify the plot.
6.

Optionally, add another trace to the plot by following the procedure above, using Add Trace
rather than New Report.

Related Topics
Sweeping a Variable
Working with Traces
Delta Markers in 2DPlots
Modifying Background Properties of a Report

Creating a Digital Plot


A digital plot is a 2D, x-y graph of simulation results.
Note

A solution setup must be defined before attempting to create a digital plot.

To create a digital plot:


1.

On the Simplorer Circuit menu or the Project tree, point to Results, and then select Create
Standard Report>Digital Plot.
The Report window appears.

2.

In the Context section make selections from the following field or fields, depending on the
design and solution type.

Solution - lists the available solution types.


Domain field with a drop down selection list. Whether this field appears, and the domains
listed depend on the Solution type and the <type> selected. The domain can be Sweep,
Spectral, or Time.
When Spectral is selected, additional fields display in which you can make settings for
Plotting Spectral Domain Data.

3.

Optimetrics setup a drop down selection list of all defined Optimetrics analysis setups.
Select Quantities button opens the Select Quantities dialog box in which you can
select additional quantities for plotting.

Under the Trace tab, Y component section, specify the information to plot along the y-axis:
a.

In the Category list, click the type of information to plot.

b.

In the Quantity list, click the value to plot.

c.

In the Function list, click the mathematical function of the quantity to plot.

d.

Value field displays the currently specified Quantity and Function. You can edit this field

Generating Reports and Post-Processing 18-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

directly.
Note

The text color shows whether or not the expression is valid (blue for valid expressions,
red for invalid).

Creating a Plot-On-Schematic
After Simplorer has generated a solution, you can analyze your solution data by creating a 2D
report, or graphical representation, that displays the relationship between a designs values and the
corresponding analysis results. One convenient way to generate a 2D report is to create a Plot-OnSchematic, which generates a standard 2D Rectangular Plot associated with the selected component, displaying the plot alongside the component in the Schematic editor.
You can create a plot-on-schematic using either the Probe, Quick Probe, or Probe Selection commands as follows:
Probe Command
1.

Right-click on the desired component and highlight Probe in the context menu.
A list of quantities that can be plotted, such as voltage across the component, appears. The list
of quantities is determined by the Probe Quantities & Signals settings on the Simplorer tab
of the Schematic Options dialog box, and any output that is selected in the Defined Outputs
set in the Output dialog box. By default, the probe settings for the Simplorer schematic have
output quantities turned-on.

2.

Select the quantity you want to plot from the list.


The probed quantity is automatically plotted and placed on the schematic next to the selected
component.

Note

The plot is associated with the component so that, as the component moves, the plot
moves with it.
The plot can also be relocated directly by selecting and dragging it.
The plot can also be resized by dragging any of its handles.
Text is automatically resized with the plot.
The created plot also appears in the Results folder in the Project tree. Double-clicking the
plot listing in the tree opens it in a new 2D Rectangular Plot window.
If you change the display type to Data Table, the on-sheet plot will go blank (data tables
cannot be shown on the schematic). Instead, a separate Data Table window is displayed.
Each component/net/port can have only one on-sheet plot associated with it. You can, of
course, have multiple plots on the same schematic, but only one such plot for each component.
If you double-click on a plot in the schematic, the plot becomes fully editable. You can
move the legend bar around, change the color of traces, change scaling for X and Y-axis

18-36 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

every operation you can normally perform in a regular plot window. You can also add
plot markers. For more information see Modifying Reports. When you click outside of the
plot, it reverts back to being another schematic object.

Plots are dynamically updated when you modify an analysis.

Quick Probe Command


The Quick Probe command operates similarly to the Probe command. However, instead of
offering a list of choices to plot, it simply plots the first quantity for the selected component or net
as defined in the list of quantities for the Probe command. Derivative quantities (e.g., dV) are not
available for the Quick Probe command.
Probe Selection Command
The Schematic>Probe Selection command operates like the Quick Probe command - plotting the
first quantity for the selected component or net.

Setting Report Setup Options


To set Report Setup Options in Simplorer:
1.

Click Tools>Options>Report Setup Options.


The Report Setup Options dialog appears.

2.

Use the checkbox to specify whether to use advanced mode when editing and viewing trace
components. (Advanced mode is used automatically if the trace requires it.)

3.

Use the text-box/pull-down-menu to specify the number of significant digits to use when

Generating Reports and Post-Processing 18-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

displaying numeric values.

4.

Specify the drag and drop behavior by clicking the radio button:

Drag item data


Drag item definition

18-38 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Setting Report2D Options


To set Report2D options in Simplorer:
1.

Click Tools>Options>Report2D Options.


The Report2D Options window appears, displaying ten available tabs:

Curve
Axis
Grid Tab
Header Tab
Note Tab
Legend Tab
Marker Tab
Marker Table Tab
General Tab
Table tab

For properties controlled by checkboxes, you can set values for all curves by clicking the column header cell that contains the property title. Right-clicking on a text field cell displays a
context menu that lets you cut, copy and paste values. Right-clicking on a menu cell displays a
context menu that lets you copy and paste entire rows.
You can use a Restore Defaults button.
2.

Click each tab, and make the desired selections.

3.

Click OK.

Report 2D Options: Curve Tab


These options are set on the Curve tab of the Report2D Options dialog box.

Line style -- select the options from the drop down menu. The options are Solid, Dot, Dash,
and Dot dash.
Color -- set the color by double clicking to display the Set color dialog. Select a default or custom color and click OK.
Width -- set the line width by editing the real value in the text field.
Arrows -- use the check box to use arrows on the curve ends.
Symbol -- use the check box to have symbols mark the locations of data points on the curve.
Sym Freq -- set the symbol frequency by editing the integer value in the text field.
Sym Style -- select the symbol to display for the designated data points. The sym style can be
box, circle, vertical ellipse, horizontal ellipse, vertical up triangle, vertical down triangle, horizontal left triangle, horizontal right triangle.
Fill Sym -- use the check box to set the symbol display as a solid or as hollow.
Sym Color -- set the color for the symbol by double clicking to display the Set color dialog.
Generating Reports and Post-Processing 18-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Select a default or custom color and click OK.

Report2D Options: Axis Tab


These options are set on the Axis tab of the Report2D Options dialog box.

Axis Name this describes the axis to which the following options refer.
Color set the color by double clicking to display the Set color dialog. Select a default or custom color and click OK.
Auto Scale use the check box to toggle whether to auto scale the axis.
Min Scale if Auto Scale it not selected, edit the real value to set the minimum value of the
axix.
Max Scale if Auto Scale is not selected, edit the real value to set the maximum value of the
axis.
Auto Units use the check box compute the correct units for the axis.
Units click on the cell to select from a menu of available units if you have not checked Auto
Units.
Font color set the font color of the axis by double clicking to display the Set color dialog.
Select a default or custom color and click OK.
Edit Font click the cell to display the Edit Text Font dialog. The dialog lets you select from
a list of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a preview field. OK the selections to apply the font edits and to close the dialog.
Min Gutter % X axis default is 0 and all the Y axes get a default of 5%

Report2D Options: Grid Tab


These options are set on the Grid tab of the Report2D Options dialog box.

Grid Name -- lists the name or letter of the grid. Not editable.
Line Style -- select the options from the drop down menu. The options are Solid, Dot, Dash,
and Dot dash.
Line Color -- set the color by double clicking to display the Set color dialog. Select a default
or custom color and click OK.

Report2D Options: Header Tab


These options are set on the Header tab of the Report2D Options dialog box. For the Title and
subtitle, you can independently specify the following:

Color -- set the color by double clicking to display the Set color dialog. Select a default or custom color and click OK.
Font -- click the cell to display the Edit Text Font dialog. The dialog lets you select from a list
of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a preview
field. OK the selections to apply the font edits and to close the dialog.
Company Name -- click the cell and enter the default company name to be displayed in the
upper left corner of 2D plots.

18-40 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Report2D Options: Note Tab


These options are set on the Note tab of the Report2D Options dialog box.

Note Color -- set the color by double clicking to display the Set color dialog. Select a default
or custom color and click OK.
Note Font -- click the cell to display the Edit Text Font dialog. The dialog lets you select from
a list of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a preview field. OK the selections to apply the font edits and to close the dialog.
Background Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Background Visibility -- use the checkbox to toggle the background for the note on or off.
Border Line Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Border Visibility -- use the checkbox to toggle the visibility of the note border.
Border Line Width -- set the line width by editing the real value in the text field.

Report2D Options: Legend Tab


These options are set on the Legend tab of the Report2D Options dialog box.

Show Trace Name -- use the checkbox to toggle the visibility of the trace name.
Show Solution Name -- use the checkbox to toggle the visibility of the solution name.
Show Variation Key -- use the checkbox to toggle the visibility of the variation key.
Text Color -- set the color by double clicking to display the Set color dialog. Select a default or
custom color and click OK.
Text Font -- click the cell to display the Edit Text Font dialog. The dialog lets you select from
a list of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a preview field. OK the selections to apply the font edits and to close the dialog.
Background Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Border Line Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Border Line Width -- set the line width by editing the real value in the text field.
Grid Color -- set the color by double clicking to display the Set color dialog. Select a default
or custom color and click OK.

Report2D Options: Marker tab


These options are set on the Marker tab of the Report2D Options dialog box.

Marker Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Marker Font -- click the cell to display the Edit Text Font dialog. The dialog lets you select
from a list of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a
Generating Reports and Post-Processing 18-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

preview field. OK the selections to apply the font edits and to close the dialog.

X Marker -- use the following options to set the X Marker properties.


a.

Show Intersections -- select the checkbox to show the X data value(s) where the marker
line and plot line(s) intersect.

b.

XMarker Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.

c.

XMarker Font -- click the cell to display the Edit Text Font dialog. The dialog lets you
select from a list of available fonts, styles, sizes, effects, colors, and script. The dialog also
contains a preview field. OK the selections to apply the font edits and to close the dialog.

d.

Box Background Color -- set the color by double clicking to display the Set color dialog.
Select a default or custom color and click OK.

e.

Line Color -- set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.

f.

Line Style -- select the options from the drop down menu. The options are Solid, Dot,
Dash, and Dot dash.

g.

Line Width -- set the line width by editing the real value in the text field.

Related Topics
Modifying Markers on Point Plots

Report2D Options: Marker Table Tab


These options are set on the Marker Table tab of the Report2D Options dialog box.

Precision set the precision for marker placement by editing the real value field.
Text Color set the color by double clicking to display the Set color dialog. Select a default or
custom color and click OK.
Text Font click the cell to display the Edit Text Font dialog. The dialog lets you select from
a list of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a preview field. OK the selections to apply the font edits and to close the dialog.
Background Color set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Border Line Color set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Border Line Width set the line width by editing the real value in the text field.
Grid Color set the color by double clicking to display the Set color dialog. Select a default
or custom color and click OK.
Grid Line Width set the line width by editing the real value in the text field.

Report2D Options: General Tab


These options are set on the General tab of the Report2D Options dialog box.
18-42 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Background Color set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Contrast Color set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Highlight Color set the color by double clicking to display the Set color dialog. Select a
default or custom color and click OK.
Accumulate Depth .
Curve Tooltip Option use the checkboxes to toggle the following properties:
a.

Show Trace Name

b.

Show Variation Key

c.

Show Solution Name

Clipboard Option - use the drop down menus to specify the following properties:
a.

Capture Aspect Size Ratio this can be As Shown or Full Screen.

b.

Capture Background Color this can be As Shown or White.

Report2D Options: Table Tab


These options are set on the Table tab of the Report2D Options dialog box.

Text Font click the cell to display the Edit Text Font dialog. The dialog lets you select from
a list of available fonts, styles, sizes, effects, colors, and script. The dialog also contains a preview field. OK the selections to apply the font edits and to close the dialog.
Format use the following properties to set the format:
a.

Field Width set the table field width by editing the real value in the text field.

b.

Precision set the table precision by editing the real value in the text field.

c.

Use Scientific Notation use the checkbox to toggle scientific notation on or off.

Copy to Clipboard use the following checkboxes to toggle the following properties for table
copy operations.:
a.

With Header

b.

With Tab Separator

Working with Traces


A trace in a 2D or 3D report defines one or more curves on a graph. A trace in a data table defines
part of the displayed matrix of text values.
Note

Outputs that are Boolean (enum-type) can only be plotted in digital plots or in data
tables.

The values used for a plots axes (which may be X, Y, Z, phi, theta, or R depending on the display
type) can be variables in the design, such as frequency, or functions and expressions based on the

Generating Reports and Post-Processing 18-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

designs solutions. If you have solved one or more variables at several values, you can sweep
over some or all of those values, resulting in a curve in 2D or 3D space.
A report can include any number of traces and, for rectangular graphs, up to four independent yaxes. Traces appear in the Project tree under their report. They can be selected, copied and pasted.
When you move the cursor over a trace in a report, the cursor changes to the color of the trace to
show that it can be selected. Similarly, when you move the cursor close to a trace, the quantity
name of that trace is displayed in a box that appears next to the cursor. When you move the mouse
cursor over a trace listed in the Curve Info box, the corresponding trace changes color.
In general, to add a trace to a report:
1.

Select a report in the Project window and right-click and select Modify Report.

2.

In the Report dialog specify the Y component information.


a.

Specify the Category of information you want to plot from the drop down menu.
The Category drop down menu lists the available categories for the Solution type and the
current design. Selecting a category changes the Quantity and Function lists to represent
what is available for that category.

b.

Specify the Quantity you want to plot by selecting from the Quantity list.
The selected quantity appears in the Value field, operated on any selected function.

c.

Select the Function to apply to the specified quantity.

d.

The Value field shows the trace being readied for plotting on the Y-axis. This field is editable when the text cursor is present. You can modify the information to be plotted by typing the name of the quantity or sweep variable to plot along an axis directly in the text
boxes.

Note

Color shows valid expression blue for valid, red for invalid.

3.

In the Report dialog specify the X axis information (for example Primary Sweep).

4.

Click Add Trace.


A trace is added to the traces list under its report icon in the Project tree. The trace represents
the function of the quantity you selected and will be plotted against other quantities or swept
variable values. Selecting a Trace in the Project tree displays the Properties window for that
Trace. Selecting a trace in the report or legend displays the display Properties window for that
trace.
Trace icons can be selected, copied, and pasted for their definitions or their data. They can be
selected and deleted from the Project tree.
By the default, the Trace name is the definition (the category, quantity and function). The trace
will be visible in the report when you click Add Trace.
Trace properties can be edited directly in the respective Properties windows or edited in the
Report dialog. To change the name or definition of a trace, see Editing Trace Properties. To
edit other display properties of a trace, see Editing the Display Properties of Traces

Related Topics
18-44 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Removing Traces
Editing Trace Properties
Editing the Display Properties of Traces
Add Trace Characteristics
Adding Data Markers to Traces
Copy and Paste of Report and Trace Definitions
Copy and Paste of Report and Trace Data
Delta Markers in 2D Reports

Editing Trace Properties


To edit trace properties such as the name, the component definition, or the context, or the variables
select the trace in the Project tree.
To edit a trace name:
1.

Select the trace in the Project tree.


This displays a docked Properties window for the Trace.

2.

Check the Specify Name box.


This enables editing of either the Name field in the docked properties dialog, or the Trace label
text in the Project tree. Editing this name changes the display in the Legend and in the Project
tree, but not the underlying Y-component definition.

To edit a trace component definition:


1.

Select the trace in the Project tree.

2.

In the docked Properties window for the trace, select the component field of interest, and select
Edit... form the drop down menu.
This displays the an edit Component field window.form which you can edit the category, quantity and function.

3.

Click OK to apply the changes and close the dialog.

To edit a trace Context:


1.

Select the trace in the Project tree to display the docked properties window.

2.

In properties window, click the Solution field or the Domain field. If other selections are possible, they can be selected from the drop down menu.

To edit a variable for a trace:


1.

Select the trace in the Project tree to display the docked properties window.

2.

Under the -Variables category, on the Families line, click the Edit button to display the Edit
families dialog.
From this dialog, you can select the Sweeps or Variations radio buttons. Each selection
changes the
If other nominal values are available you can click the ellipsis button to select from a list.

Related Topics
Generating Reports and Post-Processing 18-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Removing Traces
Editing the Display Properties of Traces
Add Trace Characteristics
Adding Data Markers to Traces
Discarding Report Values Below a Specified Threshold
Setting Report2D options
Copy and Paste of Report and Trace Definitions
Copy and Paste of Report and Trace Data
Delta Markers in 2D Reports

Editing the Display Properties of Traces


To edit the display properties of a trace:
1.

Select a trace in an open Report window.

2.

Click once on the trace to view a Docked Properties window, or double click to open Properties window.
The display properties window for a trace includes a General tab and an Attributes tab.
The General tab properties apply to the general appearance of the plot. They include the Background color, Contrast color, Field width, and whether to use Scientific notation for marker
and delta marker displays. (X and Y notation display is set separately, in the Axis property
tabs.)
The Attributes Tab properties include the Color, Line Style, Line Width, Trace Type, whether
to Show a symbol, Symbol Frequency, Symbol style, whether to Fill symbol, symbol color,
and whether to Show arrows.

Note

Box is the default symbol to ensure that curves with single points always appear.

The Attributes Tab properties apply specifically to the Trace. The defaults are set in the
Report2D options. They include:

Name not editable by selecting the trace from the Report. It shows the characteristics of the trace as defined in the Report dialog.
To edit a trace name, see Editing Trace Properties

Color shows the Trace color. Double click to open a Color dialog box. You can
select from Basic colors, or custom colors. You can define up to 16 custom colors by
selecting or by editing the Hue, Saturation, Luminosity, and the Red, Green, and Blue
values.
Line style a drop down menu lets you select Solid, Dot, Dash, or Dot-dash.
Line width a text field lets you edit the numeric value.
Trace type the drop down menu contains entries for Continuous, Discrete, Bar-

18-46 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Zero, Bar Infinity, Stick Zero, Stick Infinity, Histogram, Step, Stair, and Digital.

3.

Show Symbol whether to show a symbol at the data points on the line.
Symbol Frequency how often to show symbols on the trace.
Symbol Style use a drop down menu to select from Box, Circle, Vertical Ellipse,
Horizontal Ellipse, Vertical Up Triangle, Vertical Down Triangle, Horizontal Left
Triangle, Horizontal Right Triangle
Fill Symbol use the check box to set the symbol display as a solid or as hollow.
Symbol Color shows the Symbol color. Double click to open a Color dialog box.
You can select from Basic colors, or custom colors. You can define up to 16 custom
colors by selecting or by editing the Hue, Saturation, Luminosity, and the Red, Green,
and Blue values.
Symbol Arrows use the check box to show arrows on the curve

Edit the properties of interest and OK the Properties window to apply the changes and close the
window.

Related Topics
Editing Trace Properties

Adding Data Markers to Traces


Simplorer includes Report 2D>Marker> menu commands and toolbar icons that let you add
markers to traces.

A marker appears as mN at the marked point, where N increments from 1 as you place additional
markers. Each marker can be selected and has editable properties including name, font, background
and color.
As you place markers, one or more marker legends may be displayed, depending on the
View>Active View Visibility settings for the legends. The main marker legend appears in the
upper left of the plot, and lists the marker names and their X and Y values in a table. The values
shown in the marker table reflect the units in the X and Y axis. You can sort the marker data by
holding down the space-bar and clicking on a legend column heading. A triangle appears in the
column heading to indicate ascending or descending sort order.
You can control the number format for the table values via the properties window, general tab.
Under Marker/Other Number format, you can specify field width, precision, and whether to use
scientific notation. This value is independent of the Axis tab number properties. A separate marker
legend appears for Delta Markers, as described for the Delta Marker command.
When you enter Marker mode, the cursor arrow is accompanied by an m while a circle on the
selected trace shows the current position for a potential marker.

Generating Reports and Post-Processing 18-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To end Marker mode, right-click to display the shortcut menu, and select End Marker Mode or
press Esc on your keyboard.
The available Marker mode commands and associated icons are the following:

Marker

-- this command lets you place a marker at an arbitrary point on a selected trace.

X Marker -- this command adds a movable marker at the origin of the plot with a vertical line
rising from the X axis. To move an X marker, click on the X label and drag it to the desired
location. The label at the bottom of the line gives the X coordinate, and flag on the vertical line
identifies the Y coordinate on the trace. A trace property lets you lock the drag feature to leave
the marker in place. This marker is not cleared by the Clear All command, and must be deleted
by selecting it and using the Edit Delete command.
Maximum

-- places a marker at the Maximum value on the selected trace.

Minimum

-- places a marker at the Minimum value on the selected trace.

Delta Marker
enters delta marker mode, placing a circle on the selected trace. Clicking
on the trace sets an initial point and subsequent clicks on arbitrary points on the trace place
additional markers until you leave marker mode. These markers have their own legend, which
includes the following information for each pair of markers specified.:

Next Peak
-- moves a selected marker on the next peak on a trace. You must exit marker
mode and select a marker to enable this command.
Next Minimum
-- moves a selected marker to the next minimum on a selected trace. You
must exit marker mode and select a marker to enable this command.
Previous Peak
-- moves a selected marker on the previous peak on a selected trace. You
must exit marker mode and select a marker to enable this command.
Previous Minimum
-- places a marker on the previous minimum on a selected trace.
You must exit marker mode and select a marker to enable this command.
Next Data Point (Right) -- moves a selected X marker to the next data point.
Previous Data Point (Left) -- moves a selected X marker to the previous data point.
Next Curve -- selects the next curve in the report, based on the order in the trace legend.
Previous Curve -- selects the previous curve in the report, based on the order in the trace legend.
Clear All -- clears all markers on a report except X Markers.

18-48 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Delta Markers in 2D Reports


To view the difference between any two marker points in a report:
1.

Set the first marker by left-clicking and holding the mouse button.

2.

Move the mouse without releasing left button to another position, and then release the left button to create second marker.

In the marker text window, you see the difference between the two markers instead of the X, Y
value of marker.

Discarding Report Values Below a Specified Threshold


To prevent real small numbers from skewing a plot, you can discard small values (below a
specifiable threshold).
1.

Double-click on the X or Y axis of interest on an open plot display.


This opens the Properties window for the Axis.

2.

Under the Axis tab, use the scroll bar to find the Specify Discard Values property.

3.

Click the checkbox to enable the property.

4.

Enter a value in the Discard Below field. Units specified elsewhere in the Axis property are
applied to this value. The Discard Below text box is inactive if the Specify Discard Values
checkbox is not enabled.

5.

Click OK to apply the Discard Values to the report.

Adding Trace Characteristics


You can add characteristics to a selected trace. To add additional characteristics to a selected trace:
1.

Select a trace in a report plot or legend.

2.

Click Report 2D>Trace Characteristics, or right-click on the selected trace to display the
short cut menu.

3.

Select Trace Characteristics>Add.


This displays the Add Trace Characteristics dialog box.

4.

Select the Category, and then an associated Function to apply. The available categories

Generating Reports and Post-Processing 18-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

depend on the plot; and the selecting a Category enables the display of associated functions.
Category

Functions

Math

max, min, pk2pk, rms, avg, integ, sum, mean, variance, stddev, integabs,
avgabs, rmsAC, ripple, pkavg, XatYMin, XatYMax, YatXMin,
YatXMax, XatYVal, YatXVal

PulseWidth

pulsemin, pulsemax, pulsemintime, pulsemaxtime, pulsefall9010,


pulsefront9010, pulsefront3090, pulsetail50, pulsewidth5050, pw_plus,
pw_minus, pw_plus_avg, pw_minus_avg, pw_plus_max,
pw_minus_max, pw_plus_min, pw_minus_min, pw_plus_rms,
pw_minus_rms

Overshoot,
Undershoot

overshoot, undershoot.

TR & DC

crestfactor, formfactor, distortion, fundamentalmag, delaytime, risetime,


deadtime, settlingtime

Error

iae, ise, itae, itse

Period

per, pmax, pmin, prms

Radiation

lSidelobeY, rSidelobeY, lSidelobeX, rSidelobeX, xdb10Beamwidth,


xdb20Beamwidth

Given a selected Function, and Category, the Add Trace Characteristics dialog displays a
text field that explains the Purpose of the function. For a list of functions and their definitions,
see the table in Defining Traces Using Range Functions.
5.

Some categories and functions call for you to specify one or two additional values in a table.
You can save these values using the Default button.

6.

Click the Add button to add the specified characteristics to the Trace.

Removing All Trace characteristics


1.

Select a trace in a report plot or legend.

2.

Click Report 2D>Trace Characteristics, or right-click on the selected trace to display the
short cut menu.

3.

Select Trace Characteristics>Clear All.


Trace characteristics are cleared from the selected trace.

Defining Traces Using Range Functions


Range Functions are special functions that use a 2D dataset as input, along with 0 or more
additional parameters. Range functions can be used to produce a user-created 2D report display that
is a collection of traces and their attributes. The trace collection and attributes are used to generate
a portion of a report-definition that generates a family-of-curves in the report window.
Range Functions can be applied to a range (subset) of points on an X-Y plot, and will then calculate
a single-number representation of the specified range, and display that number directly over a
18-50 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

plotted wave-form. Range functions can be used to extract trace characteristics (such as max, min,
overshoot) from a plot and use those values for additional plotting, or use the values for exporting
to a file, where the data table formats are supported. Range Functions are listed in the Report
dialog and Output Variable dialog for users to employ. Extracted trace characteristics may also be
used in optimetrics.
For example, with a wave-form in a transient plot that contains a square pulse, a range function can
calculate and display a single value that represents the High-to-Low/Low-to-High transition states.
Or, with a plot that shows a pulse, the PulseWidth and RiseTime Range Functions can use the entire
plotted curve to calculate a single number that represents the width or rise-time, and display that
single-number representation directly over the specified range of plotted points.

Range functions trace characteristics are displayed on the report window as a column in legend
window.
Range functions are available from reporter and optimetrics.
Numerous range functions are available in the following categories:
Math functions
Pulse width functions
Overshoot/Undershoot functions
TR & DC functions
Error functions
Period functions
Radiation functions
Eye Measurements functions

The following table lists the available range functions:


Range Function

Category

Description

Parameter(s)

avg

Math

Average of first param over the


second param.

N/A

avgabs

Math

Returns the mean of the absolute


value of the selected quantity.

N/A

crestfactor

TR & DC

Returns the crest factor (peak/RMS) N/A


for the selected quantity.

deadtime

TR & DC

Obtains the latest time when the qtyl Tolerance:The +/- bandwidth
is within a tolerance of zero.
around 0

delaytime

TR & DC

Obtains the time from zero to 50% of Target: The target value for
the target point.
input

Generating Reports and Post-Processing 18-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Function

Category

Description

Parameter(s)

distortion

TR & DC

Returns the total distortion for the


selected simulation quantity and an
additional argument frequency,
which is the frequency in Hz at
which to calculate the fundamental
RMS of the simulation quantity.

Frequency: Freq in Hz at
which to calculate the RMS
value of the selected quantity

formfactor

TR & DC

Returns the form factor (RMS/Mean N/A


Absolute Value) for the selected
quantity.

fundamentalmag TR & DC

Returns the RMS value of the


Frequency: Freq in Hz at
fundamental frequency for the
which to calculate the RMS
selected quantity, and an additional value of the selected quantity
argument, Frequency, which
specifies the fundamental frequency.

iae

Error

Returns the integral of the absolute Target: Target value


deviation of the selected quantity
from a target value that is entered via
the additional argument.

integ

Math

Integral of the selected quantity. Uses N/A


trapezoidal area.

integabs

Math

Returns the integral of the absolute


value of the selected qty.

ise

Error

Target: Target value


Returns the integral of the squared
deviation of the selected quantity
from a target value that is entered via
an additional argument.

itae

Error

Returns the time-weighted absolute Target: Target value


deviation of the selected quantity
from a target value that is entered via
an additional argument.

itse

Error

Returns the time-weighted squared


deviation of the selected qty from a
target value that is entered via an
additional argument.

lSidelobeX

Radiation
X value of left side-lobe occurrence. N/A
(Overridable)

lSidelobeY

Radiation
Y value of left side-lobe occurrence. N/A
(Overridable)

N/A

Target: Target value

18-52 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Function

Category

Description

Parameter(s)

max

Math

Maximum (of magnitudes).

N/A

mean

Math

Returns the mean of given values.

N/A

min

Math

Minimum (of magnitudes).

N/A

overshoot

Overshoot/
Calculates peak overshoot given a
Undershoot
threshold value and number of
(Overridable) evenly spaced points over entire time
range.

Threshold:The reference value


from where the overshoot/
undershoot is calculated;
Number of Points: Number of
evenly spaced time points

per

Period
Calculates period.
(Overridable)

Threshold:Y transition value


which determines the period;
Number of Points: Number of
evenly spaced time points

pk2pk

Math

Difference between max and min of N/A


the first param over the second
param. returns the peak-to-peak
value for the selected simulation
quantity.

pkavg

Math

Returns the ratio of the peak to peak- N/A


to-average for the selected quantity.

pmax

Period
Maximum period of input stream.
(Overridable)

Threshold:Y transition value


which determines the period;
Number of Points: Number of
evenly spaced time points

pmin

Period
Minimum period of input stream.
(Overridable)

Threshold:Y transition value


which determines the period;
Number of Points: Number of
evenly spaced time points

prms

Period
Rms of period of input stream.
(Overridable)

Threshold:Y transition value


which determines the period;
Number of Points: Number of
evenly spaced time points

pulsefall9010

Pulse Width

N/A

Returns the pulse fall time of the


selected quantity according to the
90%-10% estimate.

Generating Reports and Post-Processing 18-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Function

Category

Description

Parameter(s)

pulsefront1090

Pulse Width

Returns the pulse front time of the


selected quantity according to the
10%-90% estimate.

N/A

pulsefront3090

Pulse Width

Returns the pulse front time of the


selected quantity according to the
30%-90% estimate.

N/A

pulsemax

Pulse Width

Returns the pulse maximum from the N/A


front and tail estimates for the
selected quantity.

pulsemaxtime

Pulse Width

Returns the time at which the


N/A
maximum pulse value of the selected
quantity is reached.

pulsemin

Pulse Width

Returns the pulse minimum from the N/A


front and tail estimates for the
selected quantity.

pulsemintime

Pulse Width

N/A
Returns the time at which the
minimum pulse value of the selected
quantity is reached.

pulsetail50

Pulse Width

Returns the pulse tail time of the


selected quantity from the virtual
peak to 50%.

pulsewidth5050

Pulse Width

Returns the pulse width of the


N/A
selected quantity as measured from
the 50% points on the pulse front and
pulse tail.

pw_minus

Pulse Width Pulse width of the first negative


(Overridable) pulse.

pw_minus_avg

Pulse Width Average of the negative pulse width Threshold:Y transition value
(Overridable) input stream.
which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

N/A

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

18-54 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Function

Category

Description

Parameter(s)

pw_minus_max

Pulse Width Max. Pulse width of the negative


(Overridable) pulse of input stream.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

pw_minus_min

Pulse Width Min. Pulse width of the negative


(Overridable) pulse of input stream.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

pw_minus_rms

Pulse Width RMS of the negative pulse width


(Overridable) input stream.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

pw_plus

Pulse Width Pulse width of first positive pulse.


(Overridable)

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

pw_plus_avg

Pulse Width Average of the positive pulse width


(Overridable) input stream.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

pw_plus_max

Pulse Width Max. Pulse width of the positive


(Overridable) pulse of input stream.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

pw_plus_min

Pulse Width Min. Pulse width of the positive


(Overridable) pulse of input stream.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

Generating Reports and Post-Processing 18-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Function

Category

Description

Parameter(s)

pw_plus_rms

Pulse Width RMS of the positive pulse width


(Overridable) input stream.

ripple

Math

Returns the ripple factor (AC RMS/ N/A


Mean) for the selected quantity.

risetime

TR & DC

Obtains the time taken to go from


10% to 90% of target point.

Target: The target value for


input

rms

Math

Returns total RMS of the selected


quantity.

N/A

rmsAC

Math

Returns the AC RMS for the selected N/A


quantity

rSidelobeX

Radiation
X value of right side-lobe
(Overridable) occurrence.

rSidelobeY

Radiation
Y value of right side-lobe
(Overridable) occurrence.

settlingtime

TR & DC

stddev

Math
Returns the standard deviation of
(Overridable) given values.

N/A

sum

Math
Returns the sum of given values.
(Overridable)

N/A

undershoot

Overshoot/
Calculates peak undershoot given a
Undershoot
threshold value and number of
(Overridable) evenly spaced points over entire time
range.

Threshold:The reference value


from where the overshoot/
undershoot is calculated;
Number of Points: Number of
evenly spaced time points

variance

Math
Returns the variance of given values. N/A
(Overridable)

XAtYMax

Math

Returns the X value at maximum Y. N/A

XAtYMin

Math

Returns the X value at minimum Y.

Threshold:Y transition value


which determines the pulse
width; Number of Points:
Number of evenly spaced time
points

N/A

Returns the latest time at which the Target; Tolerance


value of the selected simulation
quantity fell outside its tolerance
band. The target value of the quantity
and the +/- bandwidth of the
tolerance band are the additional
args.

N/A

18-56 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Range Function

Category

Description

Parameter(s)

XAtYVal

Math

Returns the X value at the first


occurrence of Y value.

Y Value:Y value at which we


need to find X

xdb10Beamwidth Radiation
Width between left and right
x Value:
(Overridable) occurrences of values x db10 from
max.
xdb20Beamwidth Radiation
Width between left and right
x Value:
(Overridable) occurrences of values x db20 from
max.
YAtXMax

Math

Returns the Y value at maximum X. N/A

YAtXMin

Math

Returns the Y value at minimum X.

N/A

YAtXVal

Math

Returns the Y value at the first


occurrence of X value.

X Value:X value at which we


need to find Y

Copy and Paste of Report and Trace Definitions


You can copy and paste report and individual trace definitions within a single design or across
designs. The report or trace definition will be evaluated within the context of the target design or
report.
Note

If the report or trace definition contains properties that do not exist in the target design
(for example, a port name) an error will be posted that indicates a solution does not exist
for this trace

Note

You must copy and paste trace definitions between the same report types. For example,
you cannot copy a trace from a Modal Solution Data report and paste it in a Far Fields
report.

To copy a Report Definition:


Right click on the report name in the project tree and select Copy Definition from the shortcut
menu.
To paste the Report Definition:
Right click on Results in the project tree of the target design and select Paste.
A new report is created and it contains the copied definitions.
To copy an individual Trace Definition(s):
Right click on the trace or traces under a report name in the project tree and select Copy Definition.
To paste the Trace Definition(s):

Generating Reports and Post-Processing 18-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Right click on the report in the target design to which you would like to copy the trace or traces and
select Paste.
A new trace(s) is added to the report and it contains the copied trace definition(s).
Note

If you copy and paste a report or trace definition to a design which contains a definition
with the same name, then an incremented number is appended to the pasted report or
trace name.

Related Topics
Copying to the Clipboard as Images
Copy and Paste of Report and Trace Data

Copy and Paste of Report and Trace Data


You can copy and paste report and individual trace data within a single design or across designs.
The report and trace definitions and all underlying data within the report or trace are copied and
pasted to the target design or report.
To copy all data from a report:
Right click on the report name in the project tree and select Copy Data, or use the menu bar
Edit>Copy Data, or right click within a plot to display a shortcut menu with Copy Data.
To paste copied report data:
Right click on Results in the project tree of the target design and select Paste.
To copy data from an individual trace(s) in a report:
Right click on the trace or traces under a report name in the project tree and select Copy Data.
To paste copied trace data:
Right click on the report in the target design to which you would like to copy the trace data and
select Paste.
Note

If you copy and paste report or trace data which contains the same name definition as a
report or trace in the target design then an incremented number will be appended to the
pasted name

Related Topics
Copying to the Clipboard as Images
Copy and Paste of Report and Trace Definitions

Removing Traces
You can remove traces from the traces list in the following ways:
18-58 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To remove one trace from the report:

Select the trace you want to remove from the Project tree, and then click Delete.

To remove all traces from the report:

Select all the traces and click Delete.

Related Topics
Setting Report2D options
Working with Traces
Add Trace Characteristics
Removing Traces

Variables, Quantities and Functions


The follow sections describe how you can sweep variables, and select various quantities and
functions for use in specifying values to be displayed in plots and reports.

Sweeping a Variable in a Report


In Simplorer, a swept variable is a variable that typically has more than one value. You can plot any
calculated or derived quantity against one or more of the swept variables values.
To specify the swept variable values to plot a selected quantity against:
1.

In the Report dialog, select the variable from the X (Primary Sweep) pull-down menu.

2.

To modify the values that will be plotted for a variable:


a.

Click the ellipsis [...] button on the X (Primary Sweep) line of the Report dialog box to
displays a popup list of the possible values.

b.

Select All Values or click the Edited button to display a dialog that lets you specify the
sweeps to use.
All of the selected variables values will be plotted.

Selecting a Function
The value of a quantity being plotted depends upon its mathematical function, which you select
from the Function list in the Report dialog box. The available, valid functions depend on the type
of quantity (real or complex) that is being plotted. The function is applied to the quantity which is
implicitly defined by all the swept and current variables.
Some of these functions can operate along an entire curve. These are: deriv, min, max, integ, avg,
rms, pk2pk, cang_deg and cang_rad. These functions have syntax as follows:

deriv(quantity) implicitly implies derivative over the primary sweep


deriv(quantity, SweepVariable) explicitly means derivative over the sweep variable specified
in the second argument (such as Freq).

Generating Reports and Post-Processing 18-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

You can select from the following functions in the Trace tab Function list:
abs

Absolute value

acos

Arc cosine

acosh

Hyperbolic arc cosine

ang_deg

Angle (phase) of a complex number, cut at +/-180

ang_rad

Angle in radians

asin

Arc sine

asinh

Hyperbolic arc sine

atan

Arc tangent

atanh

Hyperbolic arc tangent

avg

Average of first parameter over the second parameter

avgabs

Absolute value of average.

cang_deg

Cumulative angle (phase) of the first parameter (a complex number) in


degrees, along the second parameter (typically sweep variable). Returns a
double precision value cut at +/-180.

cang_rad

Cumulative angle of the first parameter in radians along a second


parameter (typically a sweep variable) Returns a double precision value.

conjg

Conjugate of the complex number.

cos

Cosine

cosh

Hyperbolic cosine

crestfactor

Peak/RMS (root mean square) for the selected simulation quantity

dB(x)

20*log10(|x|)

dBm(x)

10*log10(|x|) +30

dBW(x)

10*log10(|x|)

db10normalize

10*log [normalize(mag(x))]

db20normalize

20*log [normalize(mag(x))]

deriv

Derivative of first parameter over second parameter.

DDT

Calculates the derivative of the specified variable with respect to time.

even

Returns 1 if integer part of the number is even; returns 0 otherwise

exp

Exponential function (the natural anti-logarithm)

formfactor

Returns root mean square RMS/Mean Absolute Value for the selected
simulation quantity.

18-60 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

iae

Returns the integral of the absolute deviation of the selected quantity from
a target value that is entered via the additional argument. To use this
function, you need to open the Add Trace Characteristics dialog and select the
Error category.

im

Imaginary part of the complex number

int

Truncated integer function

integ

Integral of the selected quantity. Uses trapezoidal area.

integabs

Absolute value of integral.

ise

Returns the integral of the squared deviation of the selected quantity from
a target value that is entered via an additional argument. To use this
function, you need to open the Add Trace Characteristics dialog and select the
Error category.

itae

Returns the time-weighted absolute deviation of the selected quantity


from a target value that is entered via an additional argument.To use this
function, you need to open the Add Trace Characteristics dialog and select the
Error category.

itse

Returns the time-weighted squared deviation of the selected qty from a


target value that is entered via an additional argument.To use this function,
you need to open the Add Trace Characteristics dialog and select the Error
category.

j0

Bessel function of the first kind (0th order)

j1

Bessel function of the first kind (1st order)

LIMIT (var1,
var2, var3)

Limits the value of the input (var1) the to the specified lower (var2) and
upper (var3) limits.

ln

Natural logarithm

log10

Logarithm base 10

lsidelobex

The x value for the left side lobe: the next highest value to the left of the
max value.
The y value for the left side lobe: the next highest value to the left of the
max value.

lsidelobey
mag

Magnitude of the complex number

max

Maximum of magnitudes.

max_swp

Maximum value of a sweep.

min

Minimum magnitudes.

min_swp

Minimum value of a sweep.


Generating Reports and Post-Processing 18-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

nint

Nearest integer

normalize

Divides each value within a trace by the maximum value of the trace. ex.
normalize(mag(x))

odd

Returns 1 if integer part of the number is odd; returns 0 otherwise

overshoot

Obtains the peak overshoot over a point (double argument)

per

Calculates period.

pk2pk

Peak to peak. Difference between max and min of the first parameter over
the second parameter. Returns the peak-to-peak value for the selected
simulation quantity.

pkavg

Returns the ratio of the peak to peak-to-average for the selected quantity.

pmax

Period max.

pmin

Period minimum

prms

Period Root Mean Square.

pulsefall9010

Pulse fall time of the selected simulation quantity according to the 90%10% estimate.

pulsefront9010

Pulse front time of the selected simulation quantity according to the 10%90% estimate.

pulsefront3090

Pulse front time of the selected simulation quantity according to the 30%90% estimate.

pulsemax

Pulse maximum from the front and tail estimates for the selected
simulation quantity.

pulsemaxtime

Time at which the maximum pulse value of the selected simulation


quantity is reached.

pulsemin

Pulse minimum from the front and tail estimates for the selected
simulation quantity.

pulsemintime

Time at which the minimum pulse value of the selected simulation


quantity is reached.

pulsetail50

Pulse tail time of the selected simulation quantity from the virtual peak to
50%.

pulsewidth5050

Pulse width of the selected simulation quantity as measured from the 50%
points on the pulse front and pulse tail.

PulseWidth
Functions
pw_plus

Pulse width of first positive pulse

pw_plus_max

Max. Pulse width of input stream

18-62 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

pw_plus_min

Min. Pulse width of input stream

pw_plus_avg

Average of the positive pulse width input stream

pw_plus_rms

RMS of the positive pulse width input stream

pw_minus_max

Max. Pulse width of input stream

pw_minus_min

Min. Pulse width of input stream

pw_minus_avg

Average of the negative pulse width input stream

pw_minus_rms

RMS of the negative pulse width input stream

polar

Converts the complex number in rectangular to polar

re

Real part of the complex number

rect

Converts the complex number in polar to rectangular

rem

Fractional part

ripple

Returns the ripple factor (AC RMS/Mean) for the selected quantity.

rms

Returns total root mean square of the selected quantity.

rmsAC

Returns the AC RMS for the selected quantity.

rsidelobex

The x value for the right side lobe: the next highest value to the right of
the max value.

rsidelobey

The y value for the right side lobe: the next highest value to the right of
the max value.

sgn

Sign extraction

sin

Sine

sinh

Hyperbolic sine

sqrt

Square root

tan

Tangent

tanh

Hyperbolic tangent

Undershoot

Obtains the peak undershoot over a point (double argument).

XAtYMax

Threshold crossing time: report first time (x value) at which an output


quantity crosses YMax.

XAtYMin

Threshold crossing time: report first time (x value) at which an output


quantity crosses a user definable threshold

xdb10beamdwidt Width between left and right occurrences of values x db10 from max. Takes 'x' as
argument (3.0 default). To use this function, you need to open the Add Trace
h
Characteristics dialog and select the Radiation category.

Generating Reports and Post-Processing 18-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

xdb20beamwidth Width between left and right occurrences of values x db20 from max. Takes 'x' as
argument (3.0 default) To use this function, you need to open the Add Trace
Characteristics dialog and select the Radiation category.
y0

Bessel function of the second kind (0th order)

y1

Bessel function of the second kind (1st order)

Selecting Solution Quantities to Plot


When you create a report of solution data, each trace in the report includes a quantity that is plotted
along an axis. The quantity being plotted can be a value that was calculated by Simplorer, a value
from a calculated expression, or an intrinsic (inherent) variable value such as frequency or theta.
The valid categories available depend on the type of quantity (real or complex) that is being plotted,
the setup, the solution type, and the plot domain.
To select a quantity to plot:
1.

In the Report dialog box, select one of the following categories:


<various>

Categories vary based on user-defined outputs, e.g., Voltage, Current,


Flux, Torque, Frequency, etc.

Variables

Intrinsic variables, such as frequency or theta, or user-defined project


variables, such as the length of a quarter-wave transformer.

Output Variables User defined expressions applied to derive quantities from the original
field solution.
2.

Select a quantity to plot from the Quantity list. The available quantities will depend upon the
selected category and the setup of the design.

Plotting Imported Solution Data


1.

In the Solution pull-down list in the Report dialog box, click the imported data you want to
plot.

2.

Follow the procedure for creating a report.

Setting a Range Function


To apply a range function to the Y, Z, or Mag component of a trace:
1.

Click the Range Function button in the Reports dialog.


This opens the Set Range Function dialog. The functions available are listed in the table in
Defining Traces Using Range Functions.

2.

Click the Specified radio button on the Range function line.


This enables the Range Function fields.

3.

Select the Category, and then an associated Function to apply. The available categories

18-64 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

depend on the plot, and Category enables the display of associated functions.
Category

Functions for the Category

Math

max, min, pk2pk, rms, avg, integ, integabs, avgabs, rmsAC, ripple,
pkavg, XatYMin, XatYMax, XatYVal

PulseWidth

pulsefall9010, pulsefront9010, pulsefront3090, pulsemax, pulsemaxtime,


pulsemin, pulsemintime, pulsetail50, pulsewidth5050, pw_plus,
pw_plus_max, pw_plus_min, pw_plus_avg, pw_plus_rms,
pw_minus_max, pw_minus_min, pw_minus_avg, pw_minus_rms

Overshoot,
Undershoot

overshoot, undershoot.

TR & DC

crestfactor, formfactor, distortion, fundamentalmag, delaytime, risetime,


deadtime, settlingtime,

Error

iae, ise, itae, itse

Period

per, pmax, pmin, prms

Radiation

xdb10bandwidth, xdb20bandwidth, lSidelobeX, lSidelobeY, rSidelobeX,


rSidelobeY

Given a selected Function, and Category, the Set Range Function dialog displays a text field
that explains the Purpose of the function. For a list of functions and their definitions, see the
table in Defining Traces Using Range Functions.
Selecting a function causes the display of a description in the Purpose field. If the function
requires a value (such as the XatYVal Math function or the pw_minus_max Pulse Width function), the table below the function field displays the name, editable value field, unit, and
description.
4.

Use the Over Sweep drop down menu to select from available sweeps.

5.

To select from available Sweeps, or to edit them, use the ellipsis [...] button and uncheck Use
All Sweeps.
This enables a list of the sweeps. The sweep(s) you select is displayed on the Over Sweep line.
You can use the buttons to Clear All Selections or Select All sweeps.

6.
7.

Select the Sweeps Default or Edited radio buttons to specify whether to accept the default or
edited sweeps.
To edit the sweeps further, select the ellipsis button to display an Edit Sweep dialog.
For frequency variables, this lets you specify a single value, linear step, linear count, decade
count, octave count, or exponential count. You can Add legal values to the list of sweep values, Update the list for changes, or Delete selected entries.

8.

Click OK to apply the range function.

Related Topics
Selecting a Function
Generating Reports and Post-Processing 18-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Specifying Output Variables


The Output Variables window contains four sections:

Context section, where you specify the Report type, the Solution, and for appropriate report
types, the Domain. Changing the Report type affects whether the Domain menu appears, and
may affect the functions listed in the Calculation section.
Output Variables section, where you can specify the name and expression for a new output
variable.
Quantities section, where you can insert quantities into the Expression area of the Output
Variables section.
Function section, where you can insert completed expressions into the Expression area of the
Output Variables section.

Adding a New Output Variable


To add an output variable:
1.

Click Product_Menu >Results>Output Variables or, in the Project tree, right-click on


Results and select Output Variables from the short-cut menu, or on the Report dialog, click
the Output Variables button.
The Output Variables window appears. Variables defined using the
Product_Menu>Results>Output Variables command appear in the list at the top of the window.

2.
3.

In the Output Variables section, enter a name for the new variable in the Name box.
To enter an expression, do one or both of the following:
a.

Type part or all of the expression directly in the Expression area. Valid functions appear
in blue. Invalid functions appear in red.

b.

Insert part or all of the expression using the options in the Building an Expression section.

4.

Click Add to add the new variable to the list.

5.

Repeat steps 2 through 5 to add additional variables.

6.

When you are finished adding output variables, click Done to close the Output Variables
window.

Building an Expression Using Existing Quantities


When you are entering an expression for a new output variable, you can insert part or all of the
expression using the options in the Quantities and Function sections of the Output Variables
window.
To add an input variable by inserting part or all of the expression:
1.

Click Product_Menu>Results>Output Variables or, in the Project Tree, right-click on


Results and select Output Variables from the short-cut menu, or on the Report dialog, click
the Output Variables button.
The Output Variables window appears.

18-66 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.
3.

In the Output Variables section, enter a name for the new variable in the Name box.
To insert a quantity:
a.

From the Report Type pull-down list, select the type of report from which you want to
select the quantity.

b.

From the Solution pull-down list, select the solution from which you want to select the
quantity.

c.

From the Category list, select the type of quantity you want to enter.

d.

From the Quantity list, select the quantity.

e.

From the Function list, select a ready-made function (this option is the same as inserting
the function from the Function section).

f.

If applicable, from the Domain list, select the solution domain.

g.

Click Insert Into Expression.


The selected quantity is entered into the Expression area of the Output Variables section.

4.

To insert a function:
a.

In the Function section, select a ready-made function from the pull-down list.

b.

Click Insert Function into Expression.


The function appears in the Expression area of the Output Variables section.

5.

When you are finished defining the variable in the Expression area, click Add to add the new
variable to the list.

6.

Repeat steps 2 through 6 to add additional variables.

7.

When you are finished adding output variables, click Done to close the Output Variables
window.

Note

Remember the evaluated value of an expression is always interpreted as in SI units.


However, when a quantity is plotted in a report, you have the option to plot values in
units other than SI. For example, the expression 1+ang_deg(S11) represents an
angle quantity evaluated in radians though plotted in degrees units. To represent an
angle quantity in degrees, you would specify units as 1 deg + ang_deg(S11).

Deleting Output Variables


To delete output variables:
1.

Remove all references to the output variable in the project.

2.

Save the project to erase the command history.

3.

Click Product_Menu>Results>Output Variables or, in the Project Tree, right-click on


Results and select Output Variables from the short-cut menu, or on the Report dialog, click
the Output Variables button.
This opens the Output Variables dialog.
Generating Reports and Post-Processing 18-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Select the variable and click the Delete button.

5.

Click OK to close the dialog.

Report Data
The follow sections describe how you can view, update, export, import, override, and delete various
values used for display in plots and reports.
The topics for this section include:
Updating Reports (Post-Processing Data)
Deleting Reports
Exporting Plot Data
Importing 2D Plot Data
Exporting Graphics Files from a Plot
Plotting Imported Solution Data
Setting a Range Function

Updating Reports (Post-Processing Data)


To manually update the report that is active in the design area using the latest simulation results,
right-click in the report and select Update Report from the menu. Alternatively, you can rightclick on the report under Results in the Project Manager and select Update Report from the
context menu.
If you wish to update all reports in the design, select Simplorer Circuit>Results>Update All
Reports. Alternatively, right-click on the Results icon and select Update All Reports form the
menu.
Note

If the simulation associated with a report has been paused via the Progress Bar Menu,
selecting Update Report or Update All Reports updates the report with the SDB data
current at the time the simulation was paused.

In a schematic design, an option is available to control all schematic-based analyses. Select


Tools>Options>General Options to open the General Options dialog box:
On the Miscellaneous Options tab, the Dynamically update postprocessing data during edits
checkbox controls the version of solution data to be used in reports.
Simplorer solution data is versioned. You might have solution data for a particular state of a
Design, then edit the Design and re-simulate. Solution data is now available for both states of the
Design.
Suppose the following sequence occurs with the Dynamically update postprocessing data
during edits checkbox off (unchecked):
Simulate and create a report. The report displays the current solution data (state 1).
18-68 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Next, edit the design. The report is marked Invalid (a large X appears in the legend of the
report window and on the report icon in the Results section of the Project tree).
Rerun the simulation. The report is updated with the latest solution data (state 2), and the
report is marked as valid (the X disappears).
Now click Undo. Simplorer still has the old solution data (state 1).
If Dynamically update postprocessing data during edits is off, the state 2 report data
becomes invalid again.

If Dynamically update postprocessing data during edits is on, Simplorer reloads the now
valid state 1 solution data into the plot and marks it valid.
Upon selecting Redo, the result again depends on the setting of the Dynamically update
postprocessing data during edits option. If the option is off, the report becomes valid again
(the state 1 data was not reloaded by the Undo operation, so the report is still displaying state
2). If the option is on, the state 2 data is reloaded dynamically and the plot is also valid.

Deleting Reports
To delete a single report, right-click on the report in the Results section of the Project Manager window for the design, and click Delete on the menu.

To delete all reports, either select Simplorer Circuit>Results>Delete All Reports, or rightclick on the Results icon in the Project Manager window for the design, and click Delete All
Reports on the pop-up menu.

Opening Reports
To open a single report, right-click on the report in the Results section of the Project Manager window for the design, and click Open Report on the menu.

To open all reports, either select Simplorer Circuit>Results>Open All Reports, or rightclick on the Results icon in the Project Manager window for the design, and click Open All
Reports on the pop-up menu.

Exporting Plot Data


To export plot results data to a file:
1.

Click Report2D or Report 3D on the top menu, and then select Export.
The Export Report dialog box opens.

2.

Browse to the directory where the data is to be saved.

3.

Select the data file format from the Save as type pulldown. Options include:

*.csv Comma delimited data files.


*.tab Tab delimited data files.
*.dat Ansoft PlotData files (2D reports only).
*.txt Post processor format files (2D reports only).

Generating Reports and Post-Processing 18-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

*.rdat Ansoft Report Data format files.


You can also export graphic image files of the plot in several formats.

4.

Enter the filename.

5.

Optionally, for 2D plots, you can choose to Export Uniform Points, which enables fields in
which you can specify the start, stop, and step values and units to output uniformly spaced
point data.

6.

Click Save to save the data, or click Cancel to close the dialog without saving any data.

Related Topics
Importing 2D Plot Data
Creating a Report from an Ansoft Report Data File

Importing 2D Plot Data


To import 2D plot data to a report:
1.

Left-click Report2D on the top menu, and then select Import Data.
The Open dialog box opens.

2.

Browse to the directory where the data file is located.

3.

Select the file format from the Files of type pulldown. Options include:

*.csv Comma delimited data files.


*.tab Tab delimited data files.
*.dat Ansoft PlotData files.
*.txt Post processor format files.
*.rdat Ansoft Report Data files.

4.

Select the filename.

5.

Click Open to import and plot the data, or click Cancel to close the dialog box without
importing any data.

Related Topics
Exporting Plot Data
Creating a Report from an Ansoft Report Data File

Exporting Graphics Files from a Plot


You can export plot images in any of the following graphics formats from a plot:

*.jpg Joint Photographics Experts Group files.


*.gif Graphics Interchange Format files.
*.bmp Bitmap files.
*.tiff Tagged Image File Format files.
*.wrl Virtual Reality Modeling Language (VRML) files.

18-70 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

To export a graphics file:


1.

On the Report 2D or Report3D menu, click Export.


The Export Report dialog box opens:

2.

Use the file browser to find the directory where you want to save the file.

3.

Type the name of the file in the File name box.

4.

Select the desired graphics file format from the Save as type pull-down list.

5.

Click Save. The file is exported to the specified location as a graphics file.

Related Topics
Exporting Plot Data

Plotting Imported Solution Data


1.

In the Simplorer Circuit pull-down, select Import SDB File.


A file Open dialog box displays.

2.

Locate the Simplorer solution .sdb file containing the solution you want to import. and click
OK.

3.

If the imported data is in table format, click Table Data on the Import Data dialog. The Data
Table Import dialog opens:

4.

Locate the data table file and then click OK.

To plot imported solution data, do the following:


1.

Expand Analysis in the Project tree.


Verify the presence of the imported solution data.

2.

Right-click on Results in the Project tree and select Create Standard Report><report type>.

3.

On the Report dialog box, select the imported solution from the Solutions pulldown menu.

4.

Select the desired data in the Traces tab, and then click New Report.
The Report window opens to display the imported solution.

5.

Select and add traces or other reports based on the imported solution data as needed. When
finished click Close to dismiss the Report dialog box

Using Animation
The follow sections describe how you can postprocess and then view various animated reports.

Frequency Animation
1.

To initiate the animation of the plot that is currently displayed, do one of the following:
Select Animate from the View menu.
Expand the Results icon in the Project window, right-click the plot entry, and select Animate
from the menu.

Generating Reports and Post-Processing 18-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

If no animations have been defined previously, the Setup Animation dialog opens:

CTRL + click
to select multiple
frequencies

SHIFT + click
to select a range
of frequencies

Specify a name in the Name field (or accept the default, Animationn, where n is a numeral).
Optionally, enter a description.
For a frequency animation, select F as the Swept Variable.
By default, all the frequencies are selected (highlighted). Hold down the CTRL key to select
multiple individual frequencies, or hold down the SHIFT key to select a contiguous range of
frequencies. [These selection modes are illustrated in the dialog example above].
Click OK.
If one or more animations have been defined, selecting Animate from one of the menus opens
the Select Animation dialog:

The Select Animation dialog provides the following operations:

Left-click to select one of the animations and click OK to start that animation.
Click the New button to open the Setup Animation dialog described above, and close the
Select Animation dialog.

Select an animation and click Delete to delete the definition.

3.

Simplorer calculates the frame data. If the Progress window is displayed, you can monitor the

18-72 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

progress of the calculation. When the frames have been calculated, the animation begins and
the Animation control panel opens:

Use the VCR buttons to play the animation. From left to right, the buttons are Reverse, Fast
Reverse, Stop, Fast Forward, and Forward. The indicator at the top of the dialog shows the
progress of the animation. Use the Speed slider to control the speed of the animation.
To export the frame data to a file, click Export. The Export File dialog opens:

Specify the directory and file name. Use the Save as type menu to select the file format (Animated GIF or AVI). Click Save to save the data and close the dialog.
Generating Reports and Post-Processing 18-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Click Close on the Animation control panel to stop the animation and close the panel.

Changing the Design Point


Calculating frames for an animation is equivalent to re-simulating the design. You can specify
design point parameters for the animation calculations that are different from the ones used in the
original simulation. On the Animation Setup dialog, select the Design Point tab and deselect the
Use defaults option. The following fields are displayed:

Make any desired changes, and then click OK to apply the changes and close the dialog. Clicking
Cancel closes the dialog without making any changes.

18-74 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Outputs: Introduction


User defined outputs (UDOs) allow users to define calculations through IronPython scripts or any
.NET language (and used by the IronPython script). The UDO scripts need to be in the UserDefinedOutputs directory under either of syslib, userlib or Personallib with any directory structure
needed for organization. (The Lib directory name is special and its purpose will be explained in a
subsequent section.)
The UDO scripts that are in syslib/UserDefinedOutputs, userlib/UserDefinedOutputs, or Personallib/UserDefinedOutputs become available to the user to create "User Defined Solutions"
through the Results>Create User Defined Solution menu. Use Results>Create User Defined
Solution>Update Menu to refresh the menu to include the new UDO scripts that might have been
copied to syslib, userlib or Personallib, or exclude them if they have been deleted, after the launch
of desktop. Once the user-defined-solution is created, the solution and the calculations defined by
UDO become available in Reporter as any other quantities in a new "User Defined" report type.

Named Probes and Properties in User Defined Outputs


Computation of Traces Based UDO Calculations
Dimensions Reduction by UDO Calculations
Dynamic Probes
Related Topics
User Defined Outputs: Python Script API
User Defined Outputs: Script Organization

Named Probes and Properties in User Defined Outputs


UDOs allow processing data across traces, solutions and report types. A UDO specifies the named
probes and properties for which user selects/enters the values at the time of creation of user defined
solution. Probes are very similar to traces except that the user selects the values of only intrinsic
Generating Reports and Post-Processing -75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

variables for probes. The values of design/project variables are selected when a trace is created
based upon the user defined solution in reporter.
For example, you could create a user defined solution called EyeTiming_1.

You can then access this solution in the Reporter.

Computation of Traces Based UDO Calculations


When traces that are based upon UDO outputs are computed, the data for probes is computed and
passed to the UDO script for each design variation. Along with the probe data, the values of properties entered by user are also passed. The information about the UDO calculations that need to be
computed is also made available. The UDO then performs the computation and passes the results to
reporter. Note that UDOs can compute and pass back more calculations than have been requested at

-76 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

that point of time. This allows UDOs to compute a set of calculations that take almost same amount
of computational resources as any one calculation in that set and cache that with reporter.
Note

When those calculations are subsequently plotted by the user, reporter will use the
cached results instead of invoking the computation on UDO.

Dimensions Reduction by UDO Calculations


The probes in a UDO can have heterogeneous dimensions of data, for example, one probe in a
UDO can have data that is function of n intrinsic variable, while another probe in same UDO can
have data that is a function of m intrinsic variables, with n and m potentially being different. UDOs
allow reducing any number of these intrinsic variables e.g in above example UDO calculations can
be function of any number of intrinsic variables including not being function of any intrinsic variable at all. UDO calculations can also be a function an intrinsic variable that none of the probes is
function of. The only restriction is that Freq cannot be reduced if any of the probes are on a
Fields report type.

Dynamic Probes
In addition to named probes and properties, UDOs can specify named dynamic probes. The difference between probes and dynamic probes is that while the end-user of UDO specifies the complete
trace definition for probe, the expression for dynamic probe is specified by UDO code itself and not
by the end-user. This allows UDOs to access the data for probes without having the end-user to
enter each individual probe. For example a UDO can access data for a huge S matrix for a 100 port
design without requiring the end-user to enter the probe information for each of those 10,000 quantities. Each dynamic probe is associated with a named probe that is entered by the user; and information about solution, context, and intrinsic variables is used from user-selected probe. However
multiple dynamic probes can be associated with the same user-selected probe. The dynamic probes
are enquired from UDOs at the time of trace computation and not at the time of creation of userdefined solution.

Generating Reports and Post-Processing -77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

This means that you select solution, context, and values of intrinsic variables just once; and the
same information is used (in this case) for all clock and data signals. The expression for those signals comes from the UDO code.

-78 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Outputs: Python Script API


A User Defined Output (UDO) extension is implemented as an IronPython script that defines a
class with a specific name: UDOExtension which derives from a specific base class IUDOPluginExtension and implements its abstract methods.
UDO Extension IMPLEMENTATION
Optional Functions in IDO Extension Abstract Class
Data Types Used in Python Script
Working With Properties for UDO
Other Application Specific Classes Used in Python Scripts
User Defined Outputs: Messaging Methods
Using .NET Collection Classes and Interfaces in Python Scripts
Related Topics
User Defined Outputs: An Introduction
User Defined Outputs: Script Organization

UDO Extension IMPLEMENTATION


The purpose, argument list and expected return types for each of the IUDOPluginExtension
abstract methods, which the UDO author is expected to implement are described below.
Import Statements
UDOExtension Class
IUDOPluginExtension Abstract Class

Import Statements
The base class to be used and the types it uses in turn are contained in .NET assemblies. The use of
these requires that the assemblies be imported into the UDO script: the following import statements
should be added to the top of the python script:
from Ansys.Ansoft.ModulePluginDotNet.Common.API import *
from Ansys.Ansoft.ModulePluginDotNet.Common.API.Interfaces import *
from Ansys.Ansoft.ModulePluginDotNet.UDO.API.Interfaces import *
from Ansys.Ansoft.ModulePluginDotNet.UDO.API.Data import *

DOExtension Class
The UDO itself should be implemented as an IronPython class called UDOExtension which must
derive from the IUDOPluginExtension abstract base class (from the Ansys.Ansoft.ModulePluginDotNet.UDO.API.Interfaces namespace).
Generating Reports and Post-Processing -79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note that power users could derive a class hierarchy tuned toward a specific type of UDOs and that
they can derive from their own base classes. The only requirement is that directly or indirectly, the
UDO class must derive from IUDOPluginExtension.
Example:
def BaseClassUDO ((IUDOPluginExtension):
#base class implementation

def UDOExtension ((BaseClassUDO):


#UDO class implementation

IUDOPluginExtension Abstract Class


The implementation of the IUDOPluginExtension class will be described in this section using a
simple UDO example that expects a single probe and reduces its dimension returning as its outputs,
the max, min and average of its input probe data. The script in its entirety will also be listed later
on.
Required functions:
The IUDOPluginExtension abstract class declares the following abstract methods that must be
implemented in the UDOExtension class or one of its base classes. Not implementing any of these
methods will result in a run-time error and a non functioning UDO.
GetUDSName()
GetUDSDescription()
GetUDSSweepNames()
GetCategoryNames()
GetQuantityNames(string categoryName)
GetQuantityInfo(string quantityName)
GetInputUDSParams(List<UDSProbeParams> udsParams,
GetDynamicProbes(List<UDSDynamicProbes> dynamicProbes);
Compute(IUDSInputData inData,

GetUDSName()

Purpose: Return a string that is used as a prefix for all solution instances created using this
UDO.
Returns: string.

Example:
def GetUDSName(self):
return "MinMaxAvg
-80 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetUDSDescription()

Purpose: Returns a description for the UDO, its purpose etc. This is used in multiple UDO
related dialogs in the application to describe the UDO.
Returns: string.

Example:
def GetUDSDescription(self):
return "Sample UDO for dimension reducing quantities

GetUDSSweepNames()

Purpose: Returns a list of sweep names to be used for the solution generated by the UDO.
These will appear in the sweeps list displayed in the standard reporter dialog when used to create reports from the solution generated by the UDO.
Returns: list of strings. If the UDO outputs have no sweeps, return the empty list [].

Example:
# Returns list of sweeps names
# We have no sweeps as we reduce them.
def GetUDSSweepNames(self):
return []

GetCategoryNames()

Purpose: The outputs that the UDO solution provides/generates can be classified into multiple
categories (like how the application does as displayed in the report creation dialog). These will
be listed in the categories box in the dialog when creating reports from the UDO generated
solution data.
Returns: list of strings.

Example:
def GetCategoryNames(self):
return ["UDOOutputs"]

GetQuantityNames(string categoryName)

Purpose: For each of the category names returned from the GetCategoryNames method, this
function is called to return a list of quantities to be organized under that category name. Note
that the quantity names must be unique across the categories: i.e., no two categories can
have quantities with the same name.
Parameters:

categoryName (input python string) - category name.

Returns: python list of strings.

Example:
Generating Reports and Post-Processing -81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

# returns a list of quantity names for the supplied category name


def GetQuantityNames(self, catName):
if catName == "UDOOutputs":
return ["min_val", "max_val", "avg_val"]
else:
return []

GetQuantityInfo(string quantityName)

Purpose: For each quantity that the UDO creates, it must also describe the quantity (unit and
other details). This method is called for each quantity name (across all categories) as returned
from an earlier call of the GetQuantityNames method.
Parameters:

quantityName (input string) quantity name.

Returns: Object of type QuantityInfo.

Example:
# Returns an instance of QuantityInfo for the qtyName supplied or None if such a
# quantity could not be found
def GetQuantityInfo(self, qtyName):
# All the quantities we have are simple doubles
# we can leave them unitless
return QuantityInfo(Constants.kDoubleParamStr)

GetInputUDSParams(List<UDSProbeParams> udsParams,
IPropertyList propList,
List<UDSProbeParams> userSelectionForDynamicProbes)

Purpose: This is the main definition part of the UDO. The supplied arguments are used to populate details of the parameters to which the UDO user will specify value, specify the probe
names and their types as well as the dynamic probe selections.
Parameters:

udsParams .NET list of UDSProbeParams objects: The UDO script is expected to add
one instance of UDSProbeParams for each probe definition it wants displayed. The UDO
user will, when creating the UDO solution assign a matching quantity to each such probe.
propList IPropertyList object: The propList object is used to add properties that should
be displayed to the user for data collection. These properties with the user supplied values
will be returned to the UDO script in the Compute methods.
userSelectionForDynamicProbes .NET list of UDSProbeParam objects.

Returns: boolean: True on success, False on failure.

-82 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example:
# Returns list of UDSParams and list of dynamic properties
# Adds setup time properties to the propList
def GetInputUDSParams(self, udsParams, propList, userSelectedDynamicProbes):
# Add the probes. We need only one double quantity
param1 = UDSProbeParams("probe1",
"double quantity probe",
Constants.kDoubleParamStr,
"", "")
udsParams.Add(param1)
# Add the properties we want the user to supply
# In this case, we will ask for a start/end range for
# X parameters. Since we cannot reasonably provide defaults
# as we have no idea what the sweep limits will be, we will
# also ask if the limits are to be activated.
prop = propList.AddNumberProperty("X Min", "0")
prop.Description = "Start X value to consider"
prop = propList.AddNumberProperty("X Max", "1")
prop.Description = "End X value to consider"
# For menus, the first option is the default.
prop = propList.AddMenuProperty("Activate X Limits", ["No", "Yes"])
prop.Description = "Activate X range"
return True

Generating Reports and Post-Processing -83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The above function results in the following dialog when you click Reports>Create User Defined
Solution. The mapping from the UDSParams and the properties to the GUI elements should be
unambiguous. The name and description of the UDS are also displayed in this dialog.

-84 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When a report is created from the UDO dialog, the category/quantity names specified by the UDO
are used (as shown below).

GetDynamicProbes(List<UDSDynamicProbes> dynamicProbes);

Parameters: dynamicProbes .Net list of UDSDynamicProbes objects. Output parameter.


Returns: True on success, False on failure.

Example:
# Returns list of UDSParams and list of dynamic properties
# output UDSDynamicProbeCollection probes
def GetDynamicProbes(self, probes):
pass

Compute(IUDSInputData inData,
IUDSOutputData outData,
IPropertyList propList,
IProgressMonitor progressMonitor)

Purpose: This is the main computation method which generates the data for the quantities that
make up the UDO solution.
Parameters:
Generating Reports and Post-Processing -85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

inData UDSInputData object: Used to get the input probe data.


outData UDSOutputData object: Used to set the UDO solution quantity and sweep data.
propList IPropertyList object: Used to get the user entered values for each of the properties defined during the GetInputUDSParams call.
progressMonitor IProgressMonitor object. This can be used to set progress for long running calculations, check for user initiated abort etc.

Returns: True on success, False on failure.

The data is received from UI using IUDSInputData API. It is processed and the result data is sent
to UI using IUDSOutputData API.
Example:
# IUserDefinedSolutionHandle API implementation.
# Calculates output values and sets them using IUDSInputData/IUDSOutputData API.
def Compute(self, inData, outData, propList, progMon):
# Get the sweeps associated with the probe and validate
# use the probe name that we had defined earlier
sweeps = inData.GetSweepNamesForProbe("probe1")
if( sweeps == None or sweeps.Count > 1):
AddErrorMessage(self.GetName() + "Unexpected sweep count 0 or > 1 in Compute")
return False

# Get the data associated with our probe


probeData = inData.GetDoubleProbeData("probe1")
sweepData = inData.GetSweepsDataForProbe("probe1", sweeps[0])
# Get the user specified properties.
# Note that ideally, these "X Min" etc names should be written as
# constant membets and referred to in both the GetInputUDSParams
# and in Compute to reduce the change of typos.
useXRangeProp = propList.GetMenuProperty("Activate X Limits").SelectedMenuChoice
xRangeStart = propList.GetNumberProperty("X Min").ValueSI
xRangeEnd

= propList.GetNumberProperty("X Max").ValueSI

# At this stage, one can look at the RequestedQuantities and create


# a dictionary to later check against. However, I am simply computing
-86 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

# all the quantities.


minVal = 0
maxVal = 0
avgVal = 0
# Check if we need to perform range computation
if useXRangeProp == "Yes":
seenAny = False
avgSum = 0
count = 0
# zip is used since we also need to pull in sweep data
# an index and the array notation could also have been used
for probeVal, sweepVal in zip(probeData, sweepData):
if sweepVal < xRangeStart or sweepVal > xRangeEnd:
pass
# Note that in a better written script, this code would be
# refactored into it's own function to avoid code
# duplication
if not seenAny:
minVal = probeVal
maxVal = probeVal
avgSum = probeVal
seenAny = True
count = 1
else:
if probeVal < minVal:
minVal = probeVal
if probeVal > maxVal:
maxVal = probeVal
avgSum += probeVal
count += 1
Generating Reports and Post-Processing -87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

if seenAny:
avgVal = avgSum/count
else:
seenAny = False
avgSum = 0
for probeVal in probeData:
if not seenAny:
minVal = probeVal
maxVal = probeVal
avgSum = probeVal
seenAny = True
else:
if probeVal < minVal:
minVal = probeVal
if probeVal > maxVal:
maxVal = probeVal
avgSum += probeVal
if seenAny:
avgVal = avgSum/probeData.Count

# Finally set the output values. Note that these are always set as
# lists even if we have just one item.
outData.SetDoubleQuantityData("min_val", [minVal])
outData.SetDoubleQuantityData("max_val", [maxVal])
outData.SetDoubleQuantityData("avg_val", [avgVal])
# And we are done.
return True

-88 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Optional Functions in IDO Extension Abstract Class


The following functions, while a part of the IUDOExtension abstract class, have meaningful
default implementations and are therefore optional. However, they can be overridden to take
advantage of advanced functionality.
Validate(List<string> errorStringList,

Validate(List<string> errorStringList,
List<UDSProbeParams> udsProbParams,
IPropertyList propList,
List<UDSProbeParams> userSelectionForDynamicProbes)

Purpose: This method is used to validate the user choices. The values of the properties
entered, the probes etc. can be checked for suitability.
Parameters:

udsProbParams C# list of UDSProbeParams objects.


propList IPropertyList object.
userSelectionForDynamicProbes C# list of UDSProbeParams objects.
errorStringList C# list of python strings. Output parameter. Should be set only if validation failed; ignored if validation is successful. One error string should be set per each validation error.

Returns: True on validation success, False on failure.


Default implementation: always returns true.

Example:
def Validate(self, errorStringList,probeList,propList, dynamicProbes):
if probeList == None or probeList.Count == 0:
errorStringList.Add("Empty probe list")
return False
return True

Data Types Used in Python Script


There are several types that need to be used while authoring the python script. Some of them are
used to pass data from UI to python script and to provide interface for working with this data. Some
are used to pass data from python script to UI.
To pass data from python script to UI the objects of the C# class must be created in python script
using their C# constructors. Then they can be set as functions return values or set to the output
parameters using their API.
Their API is described in this section.
Generating Reports and Post-Processing -89

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Types Used During UDO Computation


There are 2 important types used in the UDO Compute function:

IUDSInputData class - to get data from UI to python script


IUDSOutputData class to set data to UI after doing the necessary computations.

Understanding these two classes and their methods is critical to a correct implementation of the
UDO Compute method.
IUDSInputData
GetDoubleProbeData(probeName)
GetSweepsDataForProbe(probeName, sweepName)
GetComplexProbeData(probeName)
GetSweepNamesForProbe(probeName)
GetRequiredQuantities()
GetVariableValues()
GetInterpolationOrdersData(probeName);
IUDSOutputData
SetSweepsData(sweepName, sweepData)
SetDoubleQuantityData(qtyName,qtyData)
SetComplexQuantityData(qtyName, qtyData)

IUDSInputData
The purpose of this class is to get data (probe and sweep) from Desktop
Examples in this section are just to show proper syntax of the function calls. For actual usage of the
class see Compute function example.
GetDoubleProbeData(probeName)
GetSweepsDataForProbe(probeName, sweepName)
GetComplexProbeData(probeName)
GetSweepNamesForProbe(probeName)
GetRequiredQuantities()
GetVariableValues()
GetInterpolationOrdersData(probeName);

GetDoubleProbeData(probeName)

Purpose: This is the primary mechanism by which the UDO script obtains the probe data (as

-90 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

double precision values) for its compute process.

Parameters:

probeName: string representing the probe name for which data is requested. This has to be
one of the many probes supplied during a call to the UDOs GetInputUDSParams
method.

Returns: .NET double Array of data for the specified probe if the probe exists or null if the
probe is unknown.

Example:
# doubleData is a list of floats
doubleData = inData.GetDoubleProbeData(probe1)

GetSweepsDataForProbe(probeName, sweepName)

Purpose: All probe data that is supplied is associated with one ore more sweep (an intrinsic
quantity like Time, Frequency, Theta, Phi etc that is swept) quantities.
Parameters:

probeName - probe name for which which want the sweep data
sweepName - sweep name

Returns: .NET double Array of data for the specified probe and sweep.

Example:
# sweepData is C# Array of doubles (floats in python)
sweepData = inData.GetSweepsDataForProbe(FarFieldsProbe,Freq])

GetComplexProbeData(probeName)

Purpose: The primary mechanism by which the UDO retrieves data for its input probes (if it
expects complex data for the probe).
Parameters:

probeName probe name for which complex data is requested

Returns: .NET double Array (float in python) of data for the specified probe. Each pair of
floats represent one complex number: first value is for real part, second value for imaginary
part. For instance, array [10.0, 0, 5.1, 2.1] represents 2 complex numbers: (10.0, 0) and (5.1,
2.1).

Example:
# complexDataAsDouble is C# Array of doubles (floats in python)
# each pair of floats represents one complex number
complexDataAsDouble = inData.GetComplexProbeData(FarFieldsProbe)
# creating a list of complex numbers from complexDataAsDouble array
complexData = []
Generating Reports and Post-Processing -91

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

if complexDataAsDouble != None:
for i in xrange(0,complexDataAsDouble.Count , 2):
complexData.append(complex(complexDataAsDouble[i],complexDataAsDouble[i+1]))

GetSweepNamesForProbe(probeName)

Purpose: To obtain the list of sweep quantity names associated with a given probe. This also
indicates the dimensionality of the data. One name implies that the probe-data is 2D (probequantity vs Sweep Quantity) and two names implies 3D data ( probe-quantity vs Sweep 1 X
Sweep 2).
Parameters:

probeName probe name.

Returns: .NET IList<string> - list of sweep names for the current probe name.

Example:
# sweepNames is C# Array of strings
sweepNames = inData.GetSweepNamesForProbe(FarFieldsProbe)

GetRequiredQuantities()

Purpose: A given UDO can specify that it provides one of more computed quantities. The user
might choose to create a report from only a few among the various available UDO outputs.
This function, returns that list of the UDO output quantities that the user has requested. Only
these need be computed in the UDOs compute method.
Returns: .NET IList<string> - list of required quantities names.

Example:
# quantities is C# Array of strings
quantities= inData.GetRequiredQuantities()

GetVariableValues()

Purpose: This allows the UDO to obtain the names and values of all the design variables for
which the UDO quantities are being requested.
Returns: .NET IDictionary<string,string> of key-value pairs for variables. Both key and value
are strings.

Example:
# theDict is C# Dictionary<string, string>
theDict = inData.GetVariableValues()
if theDict != None:
#varPair is of .Net KeyValuePair type
for varPair in theDict:
varName = varPair.Key

#string

-92 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

varValue = varPair.Value #string

GetInterpolationOrdersData(probeName);

Purpose: Returns the interpolation orders that are associated with the probe-data. The probe
data is specified at each value of the various sweeps. Any value in between the sweep data
points, can use the interpolation data to get a possibly more accurate (compared to linear interpolation) inter-sweep value.
Parameters:

probeName (input python string) probe name.

Returns: NET byte Array of interpolation order for the specified probe. These are to be
treated as 8bit signed integers, i.e., their values range from 0-127.

Example:
# interData is C# Array of bytes (integers in python)
interData = inData.GetInterpolationOrdersData(kProbeNames[0])
for interValue in theDict:
order = interValue

# interValue and order are integers

IUDSOutputData
This type is a twin of the IUDSInputData in that it is used to store the values computed by the
UDOs compute method.
Examples in this section are just to show proper syntaxis function calls. For actual usage of the
class see the Compute function example.
SetSweepsData(sweepName, sweepData)
SetDoubleQuantityData(qtyName,qtyData)
SetComplexQuantityData(qtyName, qtyData)

SetSweepsData(sweepName, sweepData)

Purpose: Each quantity that is computed by the UDO can be associated with a sweep. If it is,
the values that make up the sweeps data points must be specified using this call.
Parameters:

sweepName (string) - sweep name.


sweepData (python list of floats) - sweep data for the specified sweep.

Returns: True on success, False on failure.

Example:
sweepList = [12.3, 14.5, 16.7]
outData.SetSweepsData(Freq, sweepList)

Generating Reports and Post-Processing -93

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetDoubleQuantityData(qtyName,qtyData)

Purpose: This method is used to record the computed quantity data for each output that is
computed. Please note that unless all the sweeps are reduced, this should be used in conjunction with SetSweepsData
Parameters:

qtyName (string) - quantity name.


qtyData (python list of floats) - quantity data for the specified quantity.

Returns: True on success, False on failure.

Example:
doubleList = [12.3, 14.5, 16.7]
outData.SetDoubleQuantityData("V1PlusV2", doubleList)

SetComplexQuantityData(qtyName, qtyData)

Purpose: If the quantity computed is a complex quantity, use this method to set the quantity
values. Any sweep values must be set separately via the SetSweepsData method.
Parameters:

qtyName (string) - quantity name.


qtyData (python list of floats) - quantity data for the specified quantity. Complex numbers
are passed as pairs of floats

Returns: True on success, False on failure.

Example:
doubleFromComlexList=[]
comlexList = [(1+1j), (2+4j), (9.1+3.2j)]
for aComplex in comlexList:
doubleFromComlexList.append(aComplex.imag)
doubleFromComlexList.append(aComplex.real)
outData. SetComplexQuantityData ("V1PlusV2", doubleFromComlexList)

Working With Properties for UDO


A property is the unit for collecting and using input from the user that is used to influence the
UDOs Compute. These are initially set up when the UDOs GetInputUDSParams method is
called and are retrieved in the UDOs Compute method.
There are 3 supported property types that could be used in the UDO script:

INumberProperty to specify number properties (with unit support).


IMenuProperty to allow the user to select from a list of options.
ITextProperty to allow the user to enter text.

The IPropertyList type implements a collection for these properties.


-94 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IPropertyList Abstract class


IProperty Abstract class
INumberProperty Abstract class
ITextProperty Abstract class
IMenuProperty Abstract class

IPropertyList Abstract class


Attributes:

AllProperties
NumProperties

(IEnumerable<IProperty> - see IProperty)


(int)

Functions:

GetProperty(string propName): Returns a named property as an IProperty.


GetMenuProperty (string propName): Returns the named property as an IMenuProperty.
GetTextProperty (string propName): Returns the named property as an ITextProperty
GetNumberProperty (string propName): Returns the named property as an INumberProperty
DeleteProperty (string propName): Deletes an already added named property
AddNumberProperty(string name, string numberWithUnits): Adds a new number property. If
a property with the same name already exists, it is overwritten.
AddTextProperty(string name, string textValue): Adds a new named text property with the
supplied value. Any existing property with the same name is overwritten.
AddMenuProperty(string name, IList<string> menuChoices): Creates a new named menu
property with the supplied list of choices. The default selection is set to item 0 (the first item).
Any property with the same name is overwritten.

IProperty Abstract class


Attributes:

Name

(string)

Description

(string)

PropType

(read-only EPropType see Constants)

Constructor:

IProperty(string name, EPropType type)

The class is used as base class for INumberProperty, IMenuProperty, and ITextProperty.

INumberProperty Abstract class


Base class:

abstract class IProperty

Attributes:
Generating Reports and Post-Processing -95

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ValueSI

(read-only double)

ValueInUnits
Units

(read-only double)
(read-only string)

HasUnits

(read-only bool)

Constructor:

INumberProperty(string name)

Functions:

Set(string numberWithUnits)
SetDouble(double number, string unitString)

ITextProperty Abstract class


Base class:

abstract class IProperty

Attributes:

Text

(string)

Constructor:

ITextProperty(string name)

IMenuProperty Abstract class


Base class:

abstract class IProperty

Attributes:

MenuSelection

(int): This represents the index into the MenuChoices list.

SelectedMenuChoice (string): This is the item in the MenuChoices list corresponding to the
MenuSelection index
MenuChoices

(IList<string>)

Constructor:

IMenuProperty (string name)

Example:
# adding data to IPropertyList propList; used in Compute function
prop = propList.AddNumberProperty('Offset 1', '0')
prop.Description = 'Trace 1 Offset'
prop = propList.AddNumberProperty(TRATE, "800 MHz")
prop.Description = "Frequency"
prop = propList.AddTextProperty(Text, The Text)
prop.Description = "Text Property"
-96 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

prop = propList.AddMenuProperty('Operation', ['Add', 'Subtract', 'Max' ,'Min','Mean'])


prop.Description = 'Operation menu
# reading data from IPropertyList propList; used in Validate function
numOfNumberProperties = 0
if propList != None and propList.AllProperties != None:
for prop in propList.AllProperties:
if prop.PropType == Constants.EPropType.PT_NUMBER:
numOfNumberProperties ++

Other Application Specific Classes Used in Python Scripts


This section describes other classes used in Python scripts:
Constants Class
UDSProbeParams Class
UDSDynamicProbes Class
QuantityInfo Class
IProgressMonitor Abstract Class

Constants Class
The constants used in python script are defined in the Constants class.
Attributes:

kDoubleParamStr : string constant used to specify double as the type of a quantity


kComplexParamStr: string constant used to specify complex as the type of a quantity
Enum EPropType: (used to set property type)
EPropType.PT_NUMBER
EPropType.PT_TEXT
EPropType.PT_MENU

Example:
paramType = Constants.kDoubleParamStr
propType = Constants.EPropType.PT_NUMBER

UDSProbeParams Class
The objects of this class must be created in python script in GetInputUDSParams function. They
are supplied to the Validate function if implemented.
Attributes:

ProbeName

(read-only string)
Generating Reports and Post-Processing -97

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ProbeDescription
ParamType

(read-only string)
(read-only string)

ReportTypeName

(read-only string)

ComponentExpression (read-only string)

Constructor: UDSProbeParams(string probeName, string probeDescription, string paramType,


string reportTypeName, string componentExpression);

probeName required.
probeDescription - optional (can be empty string).
paramType - required; can be one of the Constants

kDoubleParamStr
kComplexParamStr

reportTypeName - optional (can be empty string)


ComponentExpression - optional (can be empty string)

Example:
udsProbParam = UDSProbeParams("probe1","", Constants.kDoubleParamStr, "", "",)

UDSDynamicProbes Class
Attributes:

UDSParam

(read-only UDSProbeParams)

UserSelectedProbeName (read-only string)

Constructor: UDSDynamicProbes (UDSProbeParams udsParam, string userSelectedProbeName.

udsParam - required
userSelectedProbeName required

Example:
udsProbParam = UDSProbeParams("probe1","", Constants.kDoubleParamStr, "", "",)
selectedName = probe1
udsDynamicProbParam = UDSDynamicProbes(udsProbParam , selectedName )

QuantityInfo Class
Attributes:

ParamType

(read-only string)

FullUnitType

(read-only string)

Constructors:

QuantityInfo(string paramType)
QuantityInfo(string paramType, string fullUnitType)

-98 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Parameters:

paramType can be one of the Constants


kDoubleParamStr
kComplexParamStr

fullUnitType is a case insensitive string representing full unit type. It is not defined in Constants. Instead user can use any of the units in string representation e.g. mm orghz.

Example:
quantityInfo1 = QuantityInfo(Constants.kDoubleParamStr)
quantityInfo2 = QuantityInfo(Constants.kDoubleParamStr,ghz)

IProgressMonitor Abstract Class


The object of this class is a progress monitor. It is used to display calculations progress in UI and
check is the user has requested an abort of the computation.
When displayed in the application, each progress message has four items:

A task name
A sub-task name
The progress amount
A button to abort the task in progress.

All of this functionality and abort interaction is achieved using the following functions.

SetTaskName (string taskName):


SetSubTaskName (string subTaskName)
BeginTask (string name)
SetTaskProgressPercentage(int progressPercent)
CheckForAbort(): If the quantities being generated are computationally expensive, the UDO
author can periodically call this method and then call EndTask with Fail and return False.
EndTask (bool passFail)

Example:
progMon.BeginTask("Process DQS")
progMon.SetSubTaskName("Compute UI segments")
progMon.SetTaskProgressPercentage(33)
progMon.SetSubTaskName("Compute the rest")
progMon.SetTaskProgressPercentage(100)
progMon.EndTask(True)

Generating Reports and Post-Processing -99

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using .NET Collection Classes and Interfaces in Python Scripts


Some of the API functions specified above use .Net collection classes and interfaces, i.e., Array
class, IList interface, IEnumerable interface, and IDictionary interface. The following section
describes how to work with the .Net collection objects in python scripts.
.NET Array, IEnumerable, and IList objects can be indexed and iterated over as if they were Python
lists. You can also check for membership using 'in'. To get .Net Array and IList sizes you can use
pythons 'len' or .Net Count.
Example:
Getting size:
arraySize = doubleDataArray.Count
arraySize = len(doubleDataArray)
listSize = sweepsNamesList.Count
listSize = len(sweepsNamesList)
Iterating:
for sweep in sweepsNamesList:
print sweep
for in in xrange(listSize)
print sweepsNamesList[i]
Checking for membership:
if Time in sweepsNamesList:
doThis()
else:
doThat()
For .NET IDictionary, same as for Array and IList, you can get size with len or Count and check
for membership of the keys using 'in'. Getting values for the keys also works the same way as in
python dict.
Example
Getting size:
varValuesSize = varValues.Count
varValuesSize = len(varValues)
Checking for membership:
if offset in varValues:
print varValues[offset]
-100 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Getting value:
if offset in varValues:
offsetValue = varValues[offset]
As for iteration .NET Dictionary is different from python dict. While iterating, python dict will
return keys, .Net Dictionary will return .Net KeyValuePair.
Example:
Iterating:
for .Net IDictionary:
for varPair in varValues: #varPair is of .Net KeyValuePair type
varName = varPair.Key
varValue = varPair.Value
for python dict:
for varName in varValues:
varValue = varValues[varName]
You can use python types instead of .Net types if you prefer. For this you need to cast .Net Array
and .Net iList to python list type and .Net Dictionary to python dict type.
Casting should not be used for data arrays it can be extremely costly for the memory usage as
well as time consuming.
Example:
aPythonList = list(dotNetArray)
aPythonList = list(dotNetList)
aPythonDict = dict(dotNetDictionary)

User Defined Outputs: Messaging Methods


Messaging methods are provided to convey additional information to the user from any of the
UDOs methods. The Compute function is the one typically location where such use is anticipated.
Any message sent via these functions are displayed in the applications message window using the
appropriate icon.
These functions can also be used for debugging purposes.

AddErrorMessage(string): Call this method to convey an error condition to the user.


AddWarningMessage(string): Call this method to convey a warning message: typically used
for conditions that are not ideal but can be tolerated by the script.
AddInfoMessage(string): Call this method to convey an informational message to the user.
This is the call to use when outputting messages for debugging purposes.

##############################################################
#

Imports
Generating Reports and Post-Processing -101

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

##############################################################
from Ansys.Ansoft.ModulePluginDotNet.Common.API import *
from Ansys.Ansoft.ModulePluginDotNet.Common.API.Interfaces import *
from Ansys.Ansoft.ModulePluginDotNet.UDO.API.Interfaces import *
from Ansys.Ansoft.ModulePluginDotNet.UDO.API.Data import *

class UDOExtension(IUDOPluginExtension):
def __init__(self):
pass
#--- IDA IUDOPluginExtension -----------------------def GetUDSName(self):
return "MinMaxAvg"
#--- ISA IUDOPluginExtension -----------------------def GetUDSDescription(self):
return "Sample UDO for dimension reducing quantities"

#--- ISA IUDOPluginExtension -----------------------# Returns list of category names


def GetCategoryNames(self):
return ["UDOOutputs"]
#--- ISA IUDOPluginExtension -----------------------# returns a list of quantity names for the supplied category name
def GetQuantityNames(self, catName):
if catName == "UDOOutputs":
return ["min_val", "max_val", "avg_val"]
else:
return []
#--- ISA IUDOPluginExtension ------------------------102 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

# Returns an instance of QuantityInfo for the qtyName supplied or None if such a


# quantity could not be found
def GetQuantityInfo(self, qtyName):
# All the quantities we have are simple doubles
# we can leave them unitless
return QuantityInfo(Constants.kDoubleParamStr)
#--- ISA IUDOPluginExtension -----------------------# Returns list of UDSParams and list of dynamic properties
# Adds setup time properties to the propList
def GetInputUDSParams(self, udsParams, propList, userSelectedDynamicProbes):
# Add the probes. We need only one double quantity
param1 = UDSProbeParams("probe1",
"double quantity probe",
Constants.kDoubleParamStr,
"", "")
udsParams.Add(param1)
# Add the properties we want the user to supply
# In this case, we will ask for a start/end range for
# X parameters. Since we cannot reasonably provide defaults
# as we have no idea what the sweep limits will be, we will
# also ask if the limits are to be activated.
prop = propList.AddNumberProperty("X Min", "0")
prop.Description = "Start X value to consider"
prop = propList.AddNumberProperty("X Max", "1")
prop.Description = "End X value to consider"
# For menus, the first option is the default.
prop = propList.AddMenuProperty("Activate X Limits", ["No", "Yes"])
prop.Description = "Activate X range"
return True
Generating Reports and Post-Processing -103

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

#--- ISA IUDOPluginExtension -----------------------# Returns list of UDSParams and list of dynamic properties
# output UDSDynamicProbeCollection probes
def GetDynamicProbes(self, probes):
pass
#--- ISA IUDOPluginExtension -----------------------# Returns list of sweeps names
# We have no sweep sas we reduce them.
def GetUDSSweepNames(self):
return []

#--------------------------------------------------------------------------------# IUserDefinedSolutionHandle API implementation.


# Calculates output values and sets them using IUDSInputData/IUDSOutputData API.
def Compute(self, inData, outData, propList, progMon):
# Get the sweeps associated with the probe and validate
# use the probe name that we had defined earlier
sweeps = inData.GetSweepNamesForProbe("probe1")
if( sweeps == None or sweeps.Count > 1):
AddErrorMessage(self.GetName() + "Unexpected sweep count 0 or > 1 in Compute")
return False

# Get the data associated with our probe


probeData = inData.GetDoubleProbeData("probe1")
sweepData = inData.GetSweepsDataForProbe("probe1", sweeps[0])
# Get the user specified properties.
# Note that ideally, these "X Min" etc names should be written as
# constant membets and referred to in both the GetInputUDSParams
# and in Compute to reduce the change of typos.
-104 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

useXRangeProp = propList.GetMenuProperty("Activate X Limits").SelectedMenuChoice


xRangeStart = propList.GetNumberProperty("X Min").ValueSI
xRangeEnd

= propList.GetNumberProperty("X Max").ValueSI

# At this stage, one can look at the RequestedQuantities and create


# a dictionary to later check against. However, I am simply computing
# all the quantities.
minVal = 0
maxVal = 0
avgVal = 0
# Check if we need to perform range computation
if useXRangeProp == "Yes":
seenAny = False
avgSum = 0
count = 0
# zip is used since we also need to pull in sweep data
# an index and the array notation could also have been used
for probeVal, sweepVal in zip(probeData, sweepData):
if sweepVal < xRangeStart or sweepVal > xRangeEnd:
pass
# Note that in a better written script, this code would be
# refactored into it's own function to avoid code
# duplication
if not seenAny:
minVal = probeVal
maxVal = probeVal
avgSum = probeVal
seenAny = True
count = 1
else:
if probeVal < minVal:
Generating Reports and Post-Processing -105

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

minVal = probeVal
if probeVal > maxVal:
maxVal = probeVal
avgSum += probeVal
count += 1
if seenAny:
avgVal = avgSum/count
else:
seenAny = False
avgSum = 0
for probeVal in probeData:
if not seenAny:
minVal = probeVal
maxVal = probeVal
avgSum = probeVal
seenAny = True
else:
if probeVal < minVal:
minVal = probeVal
if probeVal > maxVal:
maxVal = probeVal
avgSum += probeVal
if seenAny:
avgVal = avgSum/probeData.Count
# Finally set the output values. Note that these are always set as
# lists even if we have just one item.
outData.SetDoubleQuantityData("min_val", [minVal])
-106 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

outData.SetDoubleQuantityData("max_val", [maxVal])
outData.SetDoubleQuantityData("avg_val", [avgVal])
# And we are done.
return True

Generating Reports and Post-Processing -107

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Outputs: Script Organization


As described in the Introduction section, the UDO scripts should all reside under the UserDefinedOutputs folder under either of the three library locations (system, user or personal).

Using Script Libraries


If you decide that you need base classes, additional data files, etc., to organize your UDOs better,
you can do so. This type of library organization allows code reuse between similar UDOs and can
be very helpful. There is special support provided for this type of script-library organization:

All script-library and other support files need to be in a Lib sub-directory under the
UserDefinedOutputs directory. Any .py files found in such Lib directories are ignored and
not displayed in the GUI as a valid UDO choice.
For a UDO script at any given directory depth, all Lib directories in its parent directories will
be automatically added to the system include path (and so, any support script files from any
Lib directory till the top level UserDefinedOutputs directory can be imported)

Using additional .NET assemblies


Because the UDO functionality uses IronPython, users have access to the full .NET eco system. If
needed, any subset of the UDO functionality can be implemented in any .NET language and used
by the UDO script. There are simple rules to follow to achieve this.
1.

Build your .NET assembly for .NET 2.0 runtime.

2.

Drop the built assembly in any Lib directory upstream of the UDO script location: i.e., if you
have your UDO script in C:\Users\x\PersonalLib\UserDefinedOutputs\a\b\c\myudo.py and
have a .NET assembly called com.Acme.UDOLib You can keep the .NET assembly under

3.

UserDefinedOutputs\Lib,
UserDefinedOutputs \a\Lib,
UserDefinedOutputs \a\b\Lib
UserDefinedOutputs\a\b\c\Lib

Add the following line to your python script

Import clr
clr.AddReference(com.Acme.UDOLib)
import com.Acme.UDOLib or-- from com.Acme.UDOLib import * etc

If for some reason you cannot place the .NET assemblies into a Lib directory under UserDefinedOutputs, you need to do a couple more steps before step 3 listed above.
Import sys
sys.path.append(full path to your .NET assembly location)
Related Topics
User Defined Outputs: An Introduction
User Defined Outputs: Python Script API
-108 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Toolkit
The Toolkit command in the Simplorer Circuit menu provides access to design type specific
Iron-Python scripts, or module specific tasks.
A directory called "Toolkits" and a subdirectory "Simplorer" can be added to your syslib, userlib,
and/or personallib directories. IronPython toolkits (scripts) in these Toolkits>Simplorer directories
appear in the menu for use in Simplorer.

Use the Simplorer Circuit>Toolkit>Update Menu command to add newly added toolkit scripts
to the Toolkit menu. Menu items for files found in <installation>/syslib will be inserted at the first
level of the menu.

Generating Reports and Post-Processing -109

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

-110 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Documents (UDDs)


User defined documents (UDDs) are custom reports that you define through IronPython scripts.
Once placed in a Lib directory, you can access the scripts via the Create Document command. The
scripts describe a Create User Defined Document dialog that lets you specify trace and solution
inputs. After you confirm your input selections, an xml, html and pdf document is generated. A
web browser window opens to display the generated html file. The created document appears in the
Project tree, under Results in the Documents folder.

Results>Create Document
submenu lists UDD script
names when such scripts
are placed in the
appropriate *lib directories

The general UDD process flow is as follows.

The UDD python scripts must be placed in the UserDefinedDocuments directory under either of
syslib, userlib or Personallib with any subdirectory structure needed. The Lib directory can contain python scripts that have common code that other scripts can use.
Use Results>Create Document>Update Menu to refresh the menu to include the new UDD
scripts that have been copied to syslib, userlib or Personallib, or to exclude them if they have been
deleted, after the launch of desktop.
The UDD scripts that are in syslib/UserDefinedDocuments, userlib/UserDefinedDocuments or Personallib/UserDefinedDocuments become available through the Results >Create Document menu.

Generating Reports and Post-Processing -111

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Create User Defined Document Dialog Inputs


User defined documents allow data from traces, solutions and report types as inputs. A UDD can
specify the named inputs for which you select or enter the values in the Create User Defined Document dialog that displays when you run Results>Create Document><scriptName>..

Input Types can be of Boolean, number, text, trace or solution type. The boolean, number and text
type can be given a default value that you can interactively override when the document is created
or modified. For example, you can select a trace when when you create or modify a UDD document. The trace data is available to the user and can be accessed from the python script.

-112 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

At the time of selection you can choose from the Reporter dialog, the report type (Standard, Eye
Diagram, User Defined), solution name, context and the quantity for which you want the trace data.

Input Type can also be Solution. You can select an entire solution when the document is created or
modified. The solution data in its entirety, is now available to the user and can be accessed from the
python script.
At the time of selection you can choose from the reporter dialog, the report type (Standard, Eye
Diagram, User Defined), solution name and context. A specific quantity cannot be selected since
data for all quantities in the solution are available.
(Note: The category/Quantity/Function portion of the dialog is disabled for user input)

Generating Reports and Post-Processing -113

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UDD Document Creation and Display


After all the input selections for a UDD are confirmed, based on the script, an xml, html and pdf
document is generated based on the inputs provided by the user. (The xml, html and pdf generation
is based on specific calls in the python script, which are explain in a following section). A web
browser window also opens to display the generated html file.
The created document will be placed under a new folder named "Documents" under the "Results"
folder. All documents that are created by the user for the design will be placed under this folder.

-114 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics
Managing Documents Listed in the Project Window Under Results
Viewing UDDs with an Html Web Browser
UDD Script Libraries
User Defined Definitions: Python Script API

Generating Reports and Post-Processing -115

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Managing Documents Listed in the Project Window Under Results


Right click on a user defined document displayed in the Project Manager tree to bring up a menu
where you can rename, delete the document. Open document opens the web browser with the html
document. Modify document opens the setup dialog where you can change the selections for the
input. To view the xml and the pdf document simply choose the appropriate menu items. There is
also a menu item to save the document in a different location.

Documents folder right click menu


Right click on the documents folder has the menu options to Update All Documents or Delete All
Documents. It also provides the option of creating a document from here.

Document folder Property window


When the documents folder is selected, the Property window shows the following properties

XML Schema File - File path to the XML schema file.

-116 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

XSLT StyleSheet (Html) - File path to the XSLT stylesheet file used for Html generation.
XSLT StyleSheet (Fo) - File path to the XSLT stylesheet file used for Pdf generation.
Fop Executable (Pdf) - File path the Fop executable used for Pdf generation.
Clear Cache - Clears the cached XSL transform object and forces creation of a new one. (The
caching is done to save time during document generation, so subsequent generation or update
of the document can use the cached transform object. But sometimes you may want to force a
recompile of the document if you change the stylesheet).

The XML, HTML and PDF generation require the XML schema file and XSLT stylesheets to generate proper output. In addition, the PDF generation requires a FOP executable. You can use the
defaults provided in the installation or provide the file paths of your own preferred stylesheets and
fop executable installed in his machine.

Viewing UDDs with an Html Web Browser


The XML and HTML documents can be viewed in a web browser with some basic functionality
like printing the document, searching the document for a phrase or sentence and saving the document.

Generating Reports and Post-Processing -117

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Related Topics

-118 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UDD Script Libraries


Base classes and data files shared between similar UDDs can be organized to reuse the code in a
better way. All script-library and other support files need to be in a Lib sub-directory under the
UserDefinedDefinitions directory. Any .py files found in such Lib directories are ignored and not
displayed in the GUI as a valid UDD choice. For a UDD script at any given directory depth, all Lib
directories in its parent directories will be automatically added to the system include path (and so,
any support script files from any Lib directory till the top level UserDefinedDefintions directory
can be imported)
The UDD functionality uses IronPython so we have access to all the .NET assembles. If needed,
any subset of the UDD functionality can be implemented in any .NET language and used by the
UDD script. There are simple rules to follow to achieve this.
1.

Build your .NET assembly for .NET 2.0 runtime.

2.

Drop the built assembly in any Lib directory upstream of the UDD script location: that is, if
you have your UDD script in C:\Users\x\PersonalLib\UserDefinedDefintions\a\b\c\myudd.py
and have a .NET assembly called com.Acme.UDDLib You can keep the .NET assembly under

3.

UserDefinedDefintions\Lib,
UserDefinedDefintions\a\Lib,
UserDefinedDefintions\a\b\Lib
UserDefinedDefintions\a\b\c\Lib

Add the following line to your python script

Import clr
clr.AddReference(com.Acme.UDDLib)
import com.Acme.UDDLib or-- from com.Acme.UDDLib import * etc

If for some reason you cannot place the .NET assemblies into a Lib directory under UserDefinedDefintions, you need to do a couple more steps before step 3 listed above.
Import sys
sys.path.append(full path to your .NET assembly location)
Related Topics
User Defined Definitions: Python Script API

Generating Reports and Post-Processing -119

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Definitions: Python Script API


A User Defined Definition (UDD) extension is implemented as an IronPython script that defines a
class with a specific name: UDDExtension which derives from a specific base class IUDDPluginExtension and implements its abstract methods.
Import Statements
The base class to be used and the types it uses in turn are contained in .NET assemblies. The use of
these requires that the assemblies be imported into the UDD script: the following import statements
should be added to the top of the python script:
from
Ansys.Ansoft.DocGeneratorPluginDotNet.DocGenerator.API.Data
import *
from
Ansys.Ansoft.DocGeneratorPluginDotNet.DocGenerator.API.Interfac
es import *
UDDExtension Class
The UDD itself should be implemented as an IronPython class called UDDExtension which must
derive from the IUDDPluginExtension abstract base class (from the Ansys.Ansoft.DocGeneratorPluginDotNet.DocGenerator.API.Interfaces namespace).
Note that power users could derive a class hierarchy tuned toward a specific type of UDDs and that
they can derive from their own base classes. The only requirement is that directly or indirectly, the
UDD class must derive from IUDDPluginExtension.
Example:
def BaseClassUDD ((IUDDPluginExtension):
#base class implementation

def UDDExtension ((BaseClassUDD):


#UDD class implementation

Note

All of the above text has been copied from the help section for the UDOs and modified
for the UDDs. Since the UDDs are modelled after the UDOs, the usage is also similar.

-120 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IUDDPluginExtension Abstract Class


Required functions:
The IUDDPluginExtension abstract class declares the following abstract methods that must be
implemented in the UDDExtension class or one of its base classes. Not implementing any of these
methods will result in a run-time error and a non functioning UDD.
GetUDDName() : Return a string that is used as a prefix for all solution instances created using
this UDD.
Example:
def GetUDDName(self):
return "MinMaxAvg
GetUDDDescription() : Returns a description for the UDD, its purpose etc.
Example:
def GetUDDDescription(self):
return "Sample UDD
ShowDefaultSetupDialog() : Returns True if the default dialog is to be shown. Return False if the
user does not want the default dialog. In this case the user might want to implement/show a customized setup dialog.
Example:
def ShowDefaultSetupDialog(self):
return True
GetUDDInputParams(List<UDDInputParams> uddInputs) : Returns the list of inputs parameters for the User Defined Document. Returns boolean: True on success, False on failure.
The supplied input parameters are used to populate details of the parameters to which the UDD user
will specify value, specify the input names and their types.
uddInputs: .NET list of UDDInputParams objects. The UDD script is expected to add one instance
of UDDInputParams for each input definition it wants displayed. The UDD user will, when creating the UDD, assign a matching value to each such input.
Example:
def GetUDDInputParams(self, uddInputs)
# Boolean input
param1 = UDDInputParams("Summary","Display Summary",
Constants.kBoolTypeStr, True)
uddInputs.Add(param1)
# Text input
param2 = UDDInputParams("Name","User Name",
Constants.kTextTypeStr , "Sita Ramesh")
Generating Reports and Post-Processing -121

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

uddInputs.Add(param2)
# Number input
param3 = UDDInputParams("Version","Script Version",
Constants.kNumberTypeStr, 1021)
uddInputs.Add(param3)
# Solution input
param5 = UDDInputParams("DLMetrics","Data Line
Metrics",Constants.kSolutionTypeStr)
uddInputs.Add(param4)
# Trace input
param5 = UDDInputParams("DQ0","DQ0",Constants.kTraceTypeStr)
uddInputs.Add(param5)
return True
Based on the input params the following dialog is displayed when you click Reports>Create Document. The name and description of the UDD are also displayed in this dialog.

-122 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Generate(List<UDDInputData> uddInputs, IUDDGenerator generator, IProgressMonitor


progressMonitor) : This is the main method which accesses the data from the uddInputs and generates the document.
uddInputs: The list of inputs that the user setup in the dialog. They are now available to query for
data.
generator: This is the document generator object which we use to create different elements of the
document like titles, sections, tables, images and write the data too. This interface is explained in
the Document Generator Interface document.
progressMonitor : IProgressMonitor object. This can be used to set progress for long running calculations, check for user initiated abort etc.
Example:
def Generate(self, input, docgen, progMon):
# Gather data from inputs
boolinput = input[0].Data()
textinput = input[1].Data()
dblinput = input[2].Data()
# Get document root
docroot = docgen.GetDocumentRoot()
# Add Section
section1 = docroot.AddSection("Summary", "Overall Results ")
# Add a table
table1 = section1.AddTable("Test Summary")
#Add a table group with 2 columns
tgroup1 = table1.AddTableGroup(2)
# get desktop application
oApp = self.GetUDDAppContext()
if oApp != None:
oDesktop = oApp.GetAppDesktop()
if

oDesktop != None:

# version number
Generating Reports and Post-Processing -123

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

version = oDesktop.GetVersion()
text1 = tgroup1.AddContent()
text1 .Add(0, "Product Version")
text1 .Add(1, version)
oProject = oDesktop.GetActiveProject()
if

oProject != None:
projectname= oProject.GetName()
text1 = tgroup1.AddContent()
text1 .Add(0, "Project")
text1 1.Add(1, projectname)
oDesign = self.GetUDDDesignContext()
if oDesign != None:
designname = oDesign.GetName()
text1 = tgroup1.AddContent()
text1 .Add(0, "Design")
text1 .Add(1, designname)
# Provides a script path
scriptpath = docgen.GetScriptPath()
text1 = tgroup1.AddContent()
text1 .Add(0, "Script Path")
text1 .Add(1, scriptpath )
#Provides the script version
text1 = tgroup1.AddContent()
text1 .Add(0, "Script Version")
text1 .Add(1, str(dblinput ))
#Provides the output xml path
outputpath = docgen.GetOutputFilePath()
text1 = tgroup1.AddContent()
text1 .Add(0, "Output Path")
text1 .Add(1, outputpath )

-124 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

#Provides the user information


text1 = tgroup1.AddContent()
text1 .Add(0, "User")
text1 .Add(1, textinput)
# Generate Xml output
docgen.Write(False)
# Generate Html output
docgen.WriteHTML()
# Generate PDF output
docgen.WritePDF()
return True

Optional functions:
SetupUDDInputParams(List<UDDInputParams> uddInputs) : Displays a customized dialog
and returns the user choices for the input params.
uddInputs .NET list of UDDInputParams objects with values for each of them. These can be the
user choice for each input obtained through a custom dialog or some other non graphical assignment.
We cannot process trace and solution types of input with a custom dialog because there is no way
of assigning solution data to the input without the invocation of the reporter dialog.
Example:
def SetupUDDInputParams(self, uddInputs)
udddialog = BaseExampleUDDDialog()
if udddialog.ShowDialog() == Forms.DialogResult.OK:
# Boolean input
param1 = udddialog.GetInput("Summary")
uddInputs.Add(param1)
# Text input
Generating Reports and Post-Processing -125

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

param2 = udddialog.GetInput("Name")
uddInputs.Add(param2)
# Number input
param3 = udddialog.GetInput("Version")
uddInputs.Add(param3)
HandleUDDEvents(List<string> eventTags) : The tags associated with the event is received
by plugin using this abstract class.
This method is the event handler for all link events set by the SetEventLink() method on a IUDDText. Refer to the definition of the IUDDText object in the Document Generator Interface document.
Example:
def HandleUDDEvents(self, uddLinks):
if uddLinks[0] == Open Report:
# Get Design Name
oDesign = self.GetUDDDesignContext()
if oDesign != None:
oDesign.OpenReport(uddLinks[1])
return True
GetUDDSchema() : Returns the file path of the schema to validate the xml. This will override the
default schema used. Return string containing the full file path of the schema.
def GetUDDSchema(self):
return "C:\\Program
Files\\Ansoft\\Designer8.0\\Windows\\common\\docbook\\schema\\x
sd\\docbook.xsd"
GetUDDStyleSheetForHtml() : Returns the file path of the style sheet used to generate the html
document. This will override the default stylesheet for html. Returns string containing the full file
path of the style sheet.
def GetUDDStyleSheetForHtml(self):
return "C:\\Program
Files\\Ansoft\\Designer8.0\\Windows\\common\\docbook\\"
GetUDDStyleSheetForPdf() : Returns the file path of the style sheet used to generate the pdf document. This will override the default stylesheet for pdf. Returns string containing the full file path
of the style sheet.

-126 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Example:
def GetUDDStyleSheetForPdf(self):
return "C:\\Program
Files\\Ansoft\\Designer8.0\\Windows\\common\\docbook\\xsl\\fo\\
docbook.xsl"
GetFopExecutable() : Returns the file path of the fop executable used to generate the pdf document. This will override the default stylesheet for pdf.Returns string containing the full file path of
the fop executable.
Example:
def GetFopExecutable(self):
return "C:\\Program
Files\\Ansoft\\Designer8.0\\Windows\\common\\ApacheFOP\\fop1.0\\fop"
GetUDDAppContext() : Returns the UDD Owner (if set). This is a Dispatch wrapper that is
essentially a COM IDispatch implementation and corresponds to the IDispatch pointing to the
desktop app.
GetUDDDesignContext() : Returns the UDD Owner (if set). This is a Dispatch wrapper that is
essentially a COM IDispatch implementation and corresponds to the IDispatch pointing to the
Design.

Data Types Used in Python Script


There are several types that you must use while authoring the python script. Some of them are used
to pass data from UI to python script and to provide interface for working with this data. Some are
used to pass data from python script to UI.
To pass data from python script to UI the objects of the C# class must be created in python script
using their C# constructors. Then they can be set as functions return values or set to the output
parameters using their API.

Constants class
kTraceTypeStr : string constant used to specify an input of trace type
kSolutionTypeStr : string constant used to specify an input of solution type
kNumberTypeStr : string constant used to specify an input of number type
kTextTypeStr : string constant used to specify an input of text type
kBoolTypeStr : string constant used to specify an input of boolean type
kStandardReportStr : string constant to specify a standard report
kEyeDiagramReportStr : string constant to specify an eye diagram report
kUserDefinedReportStr : string constant to specify a user defined report
kSweepDomainStr : string constant to specify the sweep domain
kTimeDomainStr : string constant to specify the time domain
Generating Reports and Post-Processing -127

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UDDInputParams class
The objects of this class must be created in python script in the GetUDDInputParams() function
and the SetUDDInputParams() function.
Attributes :
Input Name (string)
Input Description (string)
Input Type ( Can be Boolean, Number, Text, Trace or Solution) (string)
BoolData (boolean)
DoubleData (double)
TextData (string)
ReportType (string)
SolutionName (string)
DomainName (string)
Constructors:
UDDInputParams(string name, string description, string type)
UDDInputParams(string name, string description, string type, bool data)
UDDInputParams(string name, string description, string type, double data)
UDDInputParams(string name, string description, string type, string data)
UDDInputParams(string name, string description, string type, string reportType,
string solutionName, string domainName)
Property Accessors :
Name : Get/Set the name of an input
Description : Get/Set the desccription of an input
Type : Get/Set the type of an input
BoolData : Get/Set the data of a boolean input
DoubleData : Get/Set the data of a number input
TextData : Get/Set the data of a text input
ReportType : Get/Set the report type
SolutionName : Get/Set the name of the solution
DomainName : Get/Set the name of the domain

IProgressMonitor Abstract Class


The object of this class is a progress monitor. It is used to display calculations progress in UI and
check is the user has requested an abort of the computation.
-128 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

When displayed in the application, each progress message has four items:
A task name
A sub-task name
The progress amount
A button to abort the task in progress.
All of this functionality and abort interaction is achieved using the following functions.
SetTaskName (string taskName):
SetSubTaskName (string subTaskName)
BeginTask (string name)
SetTaskProgressPercentage(int progressPercent)
CheckForAbort(): If the quantities being generated are computationally expensive, the UDO
author can periodically call this method and then call EndTask with Fail and return False.
EndTask (bool passFail)
Example:
progMon.BeginTask("Process DQS")
progMon.SetSubTaskName("Compute UI segments")
progMon.SetTaskProgressPercentage(33)
progMon.SetSubTaskName("Compute the rest")
progMon.SetTaskProgressPercentage(100)
progMon.EndTask(True)

UDD Input interfaces


The Generate function takes in a list of inputs. These input interfaces allow the user to access data
from the design.
IUDDInputBool : This interface exposes 3 methods
Name() : Gets the inputs name.
Type() : Gets the input type.
Data() : Gets the boolean data, set by the user in the setup dialog.
IUDDInputDouble : This interface exposes 3 methods
Name() : Gets the inputs name.
Type() : Gets the input type.
Data() : Gets the double data, set by the user in the setup dialog.
IUDDInputText : This interface exposes 3 methods
Name() : Gets the inputs name.
Type() : Gets the input type.
Data() : Gets the text data, set by the user in the setup dialog.
Generating Reports and Post-Processing -129

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IUDDInputTrace : This interface exposes 3 methods


Name() : Gets the inputs name.
Type() : Gets the input type.
DoubleData() : Method used to return x and y double data as a IDictionary<double, double>
DoubleData(IDictionary<string, string> variation) : Method used to return x and y double data
as a IDictionary<double, double>, given a variation.
ComplexData() : Method used to return x data and y complex data as a IDictionary<double,
double[]>
ComplexData(IDictionary<string, string> variation) : Method used to return x data and y complex data as a IDictionary<double, double[]>, given a variation.
TextData() : Method used to return x data and y data as a IDictionary<string, string>
TextData(IDictionary<string, string> variation) : Method used to return x data and y data as a
IDictionary<string, string>, given a variation.
VariableValues() : Method used to get a list of variations as a IList<Dictionary<string,
string>>
IUDDInputSolution : This interface exposes 3 methods
Name() : Gets the inputs name.
Type() : Gets the input type.
DoubleData(string name) : Method used to return x and y double data as a IDictionary<double,
double>, given a quantity name.
DoubleData(string name, IDictionary<string, string> variation) : Method used to return x and
y double data as a IDictionary<double, double>, given a quantity name and a variation.
ComplexData(string name) : Method used to return x data and y complex data as a IDictionary<double, double[]>, given a quantity name.
ComplexData(string name, IDictionary<string, string> variation) : Method used to return x
-130 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

data and y complex data as a IDictionary<double, double[]>, given a quantity name and a variation.
TextData(string name) : Method used to return x data and y data as a IDictionary<string,
string> given a quantity name.
TextData(string name, IDictionary<string, string> variation) : Method used to return x data
and y data as a IDictionary<string, string>, given a quantity name and a variation.
CategoryNames() : Method to return a list of category names in the solution as an
IList<string>
QuantityNames(string category) : Method to return a list of quantity names in the solution as
an IList<string>, given a category.
VariableValues() : Method used to get alist of variations as a IList<Dictionary<string,
string>>
Examples:
def Generate(self, input, docgen, progMon):
# Getting the boolean data set by the user
boolinput = input[0].Data()
# Getting the double data set by the user
dblinput = input[1].Data()
# Getting the text data set by the user
textinput = input[2].Data()
# Getting the category names in a solution
categories = input[3].CategoryNames()
# Getting the quantity names based on a category
quantities = input[3].QuantityNames(categories[0])
# Getting the XY data from the trace
xydata = input[4].DoubleData()

Generating Reports and Post-Processing -131

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

User Defined Document Scripting Interface


To access the UserDefineddocuments scripting object, use:
Set oModule = oDesign.GetModule("UserDefinedDocuments")
Once you have the scripting object, you can use the following methods:1. AddDocument([in] VARIANT data, [in] VARIANT traces, [out, retval] BSTR* uniqueName)
a.

Takes a VARIANT data which defines the document.

b.

Takes a VARIANT trace data for the inputs in the document.

c.

Returns a unique name

2. EditDocument( [in] BSTR originalName, [in] VARIANT modifiedData, [in] VARIANT modifiedTraces, [out, retval] BSTR* uniqueName)
a.

Takes the name of the original document.

b.

Takes a VARIANT data which defines the edited document.

c.

Takes a VARIANT trace data for the inputs in the document.

d.

Returns a unique name

3. RenameDocument( [in]

BSTR oldName, [in]

a.

Takes the name of the original document.

b.

Takes the new name of the document.

4. DeleteDocument( [in]
a.

BSTR name)

Takes the name of the document to be deleted.

5. UpdateDocument( [in]
a.

BSTR name)

Takes the name of the document to be updated.

6. ViewHtmlDocument( [in]
a.

BSTR name)

Takes the name of the document to be viewed in HTML.

7. ViewPdfDocument( [in]
b.

BSTR newName)

BSTR name)

Takes the name of the document to be viewed as a PDF.

8. SaveHtmlDocumentAs( [in]

BSTR name, [in]

a.

Takes the name of the document to be saved.

b.

Takes the file path to save the socument as.

9. SavePdfDocumentAs( [in]

BSTR name,

a.

Takes the name of the document to be saved.

b.

Takes the file path to save the socument as.

[in]

BSTR saveTo)

BSTR saveTo)

10.GetDocumentDefinitionNames( [in] BSTR separator, [out, retval]


VARIANT* names)
-132 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

a.

'separator' is used to convey the directory "level"

b.

Returns the (file) names of doc definitions according to the files in various installation
directories.

11.DeleteAllDocuments()
12.UpdateAllDocuments()
For 6, 7, 8, and 9, the document must have an existing, generated HTML or PDF.

The UserDefinedDocument Data format in the script:


To define a document in VB script:
Array("NAME:Test Report",

(Name of the document)

"Test Report",

(Description of the document)

"SysLib",
(Location of the python
script(Syslib, Userlib, PeronalLib etc)
"TestUDDReport",
(Relative path of the script in the
UserDefinedDocuments folder)
// Start of input definition //
Array("NAME:Inputs",

(Document Inputs keyword)

// Solution input //
Array("NAME:DLMetrics",

(Input name)

"Solution",

(Solution Input Type)

"Data Line Metrics",

(Input Description)

-1,

(Solution ID)

-1),

(Report ID)

// Trace input //
Array("NAME:DQ0",

(Input name)

"Trace",

(Trace Input Type)

"DQ0",

(Input Description)

-1,

(Solution ID)

-1),

(Report ID)

// Text input //
Array("NAME:Name",

(Input name)

"Text",

(Text Input Type)

"User Name",

(Input Description)

Array("Sita Ramesh")),

(Default Value)
Generating Reports and Post-Processing -133

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

// Bool input //
Array("NAME:Summary",

(Input name)

"Bool",

(Boolean Input Type)

"Display Summary",

(Input Description)

Array(true)),

(Default Value)

// Number input //
Array("NAME:Version",

(Input name)

"Number",

(Number Input Type)

"Script Version",

(Input Description)

Array(1021)))),

(Default Value)

// Trace selection for the solution and trace inputs //


Array("NAME:DocTraces",

(Document traces keyword)

// For input DLMetrics //


Array("NAME:DLMetrics",

(Input name)

// Trace defintion similar to the UDO. This trace definition is


a User defined solution //
Array("User Defined",
"", "DDR3 AC-Timing 4-DQ1", Array("Context:=", ""),
Array("Index:=", Array("All"), "Trise:=", Array("Nominal"),
"Tfall:=", Array("Nominal"), "Pulse_Width:=", Array("Nominal"),
"Data_Rate:=", Array("Nominal"), "Length:=", Array("Nominal")),
Array("Probe Component:=", Array("")), Array())),
// For input DQ0 //
Array("NAME:DQ0",
// Trace defintion similar to the UDO. This trace definiton is a
Standard solution //
Array("Standard", "DQ0", "NexximTransient",
Array("NAME:Context", "SimValueContext:=", Array(1, 0, 2, 0,
false, false, -1, 1, 0, 1, 1, "", 0, 0, "DE", false, "0", "DP",
_
false, "20000000", "DT", false, "0.001", "WE", false, "100ns",
"WM", false, _
"100ns", "WN", false, "0ps", "WS", false, "0ps")),
Array("Time:=", Array("All"), "Trise:=", Array( _
"Nominal"), "Tfall:=", Array("Nominal"), "Pulse_Width:=",
Array("Nominal"), "Data_Rate:=", Array("Nominal"), "Length:=",
Array("Nominal")), Array("Probe Component:=", Array( _
"DQ0")), Array())))
-134 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Python Script to Define Document


To define a document in Python script:
[
"NAME:Test Report",
TestUDDInputs",

"Test Report", "SysLib", "Examples/

[
"NAME:Inputs",
[
"NAME:DLMetrics","Solution", "Data Line Metrics", -1, -1
],
[
"NAME:DQ0", "Trace", "DQ0", -1, -1
],
[
"NAME:DQS", "Trace", "DQS", -1,

-1

],
[
"NAME:Name", "Text", "User Name", ["Sita Ramesh"]
],
[
"NAME:Summary", "Bool", "Display Summary", [True]
],
[
"NAME:Version", "Number", "Script Version" [1021]
]
]
],
[
"NAME:DocTraces",
[
"NAME:DLMetrics",
[
Generating Reports and Post-Processing -135

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

"User Defined",

"", "DDR3 AC-Timing 4-DQ1",

[
"Context:="

, ""

],
[
"Index:=" , ["All"], "Trise:="
, ["Nominal"], "Pulse_Width:=" ,

"Tfall:="

["Nominal"], "Data_Rate:="
, ["Nominal"]

"Length:="

, ["Nominal"],

, ["Nominal"],

],
[
"Probe Component:=" , [""]
],
[]
]
],
[
"NAME:DQ0",
[
"Standard",

"DQ0",

"NexximTransient",

[
"NAME:Context",

"SimValueContext:=" ,

[1,0,2,0,False,False,1,1,0,1,1,"",0,0,"DE",False,"0","DP",False,"20000000","DT",Fals
e,"0.001","WE",False,"100ns","WM",False,"100ns","WN",False,"0ps
","WS",False,"0ps"]
],
[
"Time:=" , ["All"],"Trise:=" , ["Nominal"],"Tfall:="
, ["Nominal"],"Pulse_Width:=" ,["Nominal"],
"Data_Rate:="

, ["Nominal"], "Length:="

, ["Nominal"]

],
[
"Probe Component:=" , ["DQ0"]
],
[]
-136 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

]
],
]

Sample Script:- This one adds, edits, renames and deletes a document
Set oModule = oDesign.GetModule("UserDefinedDocuments")
' Add a UDD
oModule.AddDocument Array("NAME:Test Report1", "Test Report",
"SysLib", _
"Examples/TestUDDInputs", Array("NAME:Inputs",
Array("NAME:DLMetrics", "Solution", _
"Data Line Metrics", -1, -1), Array("NAME:DQ0", "Trace", "DQ0",
-1, -1), Array("NAME:DQS",
"Trace", "DQS", -1, -1), Array("NAME:Name", "Text", "User
Name", Array("Sita Ramesh")), Array("NAME:Summary", "Bool",
"Display Summary", Array(true)), Array("NAME:Version",
"Number", "Script Version"))), Array("NAME:DocTraces",
Array("NAME:DLMetrics", Array("User Defined", "", "DDR3 ACTiming 4-DQ1", Array("Context:=", ""), Array("Index:=",
Array("All"), "Trise:=", Array( "Nominal"), "Tfall:=",
Array("Nominal"), "Pulse_Width:=", Array("Nominal"),
"Data_Rate:=", Array( "Nominal"), "Length:=",
Array("Nominal")), Array("Probe Component:=", Array("")),
Array())), Array("NAME:DQ0", Array( _
"Standard", "DQ0", "NexximTransient", Array("NAME:Context",
"SimValueContext:=", Array( _
1, 0, 2, 0, false, false, -1, 1, 0, 1, 1, "", 0, 0, "DE", false,
"0", "DP",
false, "20000000", "DT", false, "0.001", "WE",
false, "100ns", "WM", false, "100ns", "WN", false, "0ps",
"WS", false, "0ps")), Array("Time:=", Array("All"), "Trise:=",
Array("Nominal"), "Tfall:=", Array("Nominal"), "Pulse_Width:=",
Array("Nominal"), "Data_Rate:=", Array("Nominal"), "Length:=",
Array("Nominal")), Array("Probe Component:=", Array("DQ0")),
Array())))
Edit Document
oModule.EditDocument "Test Report1", Array("NAME:Test Report",
"Test Report", _
Generating Reports and Post-Processing -137

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

"SysLib", "Examples/TestUDDInputs", Array("NAME:Inputs",


Array("NAME:DLMetrics", _
"Solution", "Data Line Metrics", 1000001, 0),
Array("NAME:DQ0", "Trace", "DQ0", 32, _
2), Array("NAME:DQS", "Trace", "DQS", 32, 4),
Array("NAME:Name", "Text", "User Name", Array( "Sita
Ramesh")), Array("NAME:Summary", "Bool", "Display Summary",
Array(true)), Array("NAME:Version", "Number", "Script
Version"))), Array("NAME:DocTraces", Array("NAME:DLMetrics",
Array( "User Defined", "Solution", "DDR3 AC-Timing 4-DQ1",
Array("Context:=", ""), Array("Index:=", Array( "All"),
"Trise:=", Array("Nominal"), "Tfall:=", Array("Nominal"),
"Pulse_Width:=", Array( "Nominal"), "Data_Rate:=",
Array("Nominal"), "Length:=", Array("Nominal")), Array("Probe
Component:=", Array("")), Array())), Array("NAME:DQ0",
Array("Standard", "DQ1", "NexximTransient",
Array("NAME:Context", "SimValueContext:=", Array(1, 0, 2, 0,
false, false, -1, 1, 0, 1, 1, "", 0, 0, "DE", false, "0", "DP",
_
false, "20000000", "DT", false, "0.001", "WE", false,
"100ns", "WM", false, "100ns", "WN", false, "0ps", "WS", false,
"0ps")), Array("Time:=", Array("All"), "Trise:=",
Array("Nominal"), "Tfall:=", Array("Nominal"), "Pulse_Width:=",
Array("Nominal"), "Data_Rate:=", Array("Nominal"), "Length:=",
Array("Nominal")), Array("Probe Component:=", Array("DQ1")),
Array())))
Rename a UDD
oModule.RenameDocument "Test Report", "Test UDD Report"
' Update UDD
oModule.UpdateDocument "Test UDD Report"
' View Html
oModule.ViewHtmlDocument "Test UDD Report"
' View Pdf
oModule.ViewPdfDocument "Test UDD Report"
' Save Html
-138 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

oModule.SaveHtmlDocumentAs "Test UDD Report", "c:/


AnsysProjects/Test.html"
' Save pdf
oModule.SavePdfDocumentAs "Test UDD Report", "c:/AnsysProjects/
Test.pdf"
Delete UDD
oModule.DeleteDocument "Test UDD Report"

Note

The product has to implement the GetModule call to create the UserDefinedDocument
scripting object. For e.g. Check AltraSimDesign.cpp (function GetMgrIDispatch()).

Generating Reports and Post-Processing -139

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Document Generator Interfaces


This document briefly describes the API interfaces available in the document generator plugin.
(Ansys.Ansoft.DocGeneratorPluginDotNet.dll)
Scripting objects available in the script for the Generate function

oApp = self.GetUDDAppContext(
Gets the application context
Usage:- Gets the active project ad the version of the product
oDesktop = oApp.GetAppDesktop()
if

oDesktop != None:
vr = oDesktop.GetVersion()
oProject = oDesktop.GetActiveProject()

oDesign = self.GetUDDDesignContext()
Gets the design context
Usage:- Gets the design name.
oDesign = self.GetUDDDesignContext()
if oDesign != None:
nm = oDesign.GetName()

IUDDGenerator interface
This interface available in the Generate method of the UDDPluginExtension.
This interface can be used to
1.

Set the document output file path.


docgen.SetOutput("C:\\Examples\\DocumentOutput.xml")

2.

Get the document root.


docroot = docgen.GetDocumentRoot()

3.

Write out to the output file.


docgen.Write()

4.

Write Html document


void WriteHTML();

-140 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Write PDF document

6.

Load the Html transform object

void WritePDF();
void LoadHTMLTransform();
7.

Load the cached PDF transform object


void LoadPDFTransform();

8.

Get script path


string GetScriptPath();

9.

Get output file path


string GetOutputFilePath();

IUDDRoot interface
Calling GetDocumentRoot() on the IUDDGenerator interface provides you with the this interface. This interface can be used to
1.

Add a new section to the document. Provide a section title.


section1 = docroot.AddSection("Section title")

2.

Add a new section to the document. Provide a section title and subtitle
section1 = docroot.AddSection("Section title", Section
subtitle)

3.

Add a new title


section1 = docroot.AddTitle("Title")

4.

Add a new subtitle


section1 = docroot.AddSubtitle("Subtitle)

IUDDSection interface
Calling AddSection() on the IUDDRoot interface provides you with the this interface. This
interface can be used to
1.

Set an ID for the section for internal links.


section1.SetID("id")

Generating Reports and Post-Processing -141

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

2.

Add a new table to the document. Provide a table title.


table1 = section1.AddTable("Table title")

3.

Add a new image to the document. Provide an image title and a file path to the image file.
image1 = section1.AddImage("Image title")

4.

Add text to the document.


text1 = section1.AddText("Random text........")

IUDDImage interface
Calling AddImage() on the IUDDSection interface provides you with the this interface. On
this interface you can call the following methods
1.

Set an ID for the image for internal links.


image1.SetID("id")

2.

Set alignment information . can be "center", "left" and "right".


image1.SetAligment("center")

3.

Set the file path of the image file. Not necessary if image file path is set through the
AddImage() method
image1.SetFileRef("Image path")

4.

Set the format of the image file. Can be "BMP", "PNG", "JPEG", "JPG", "DVI" etc.. Not
sure about the necessity of this one.
image1.SetFormat("format")

IUDDText interface
Calling AddText() on the IUDDSection interface provides you with the this interface. On this
interface you can call the following methods
1.

Set an ID for the text for internal links.


text1.SetID("id")

2.

Set the emphasis attribute on the text


text1.SetEmphasis()

3.

Set the quotes attribute on the text

-142 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Text1.SetQuotes()
4.

Set the block quotes attribute on the text


text1.SetBlockquotes()

5.

Set quotes on the text


Text1.SetQuotes()

6.

Set the wordsize attribute on the text


text1.SetSize(size as an integer)

7.

Set a link to an ID of any element to provide internal links


text1.SetLink("linkname")

8.

Set an event link to handle an event. The HandleUDDEvents method should be implemented in the script to handle the event.
text1.SetEventLink("linkname")

IUDDTable interface
Calling AddTable() on the IUDDSection interface provides you with the this interface. On this
interface you can call the following methods
1.

Set an ID for the table for internal links.


table1.SetID("id")

2.

Set alignment information . can be "center", "left" and "right".


table1.SetAlignment("center")

3.

Set the background color of the table


table1.SetBgColor(string bgcolor)

4.

Set the frame type. Can be "all", "bottom", "top,", "sides", "topbot"
table1.SetFrame(string frame)

5.

Add a table group and specify the number of columns. A table can have multiple table
groups.
IUDDTableGroup table1.SetTableGroup(int columns)

Generating Reports and Post-Processing -143

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IUDDTableGroup interface
Calling AddTableGroup() on the IUDDTable interface provides you with the this interface.
On this interface you can call the following methods
1.

Set an ID for the table group for internal links.


tgroup1.SetID("id")

2.

Set alignment information . can be "center", "left" and "right".


tgroup1.SetAlignment("center")

3.

Set the column width of a column given the index of the column and the required width.
Width can be set in 2 ways.

Width can be set relative to 1. E.g Setting it to "2*" makes the column width double
the width of the others.
If the entire table width is considered to be 99.99 units. Width can be a number relative to this.

tgroup1.SetColumnWidth(int index,
4.

string width)

Add a header to the table group


IUDDTableRow tgroup1.AddHeader()

5.

Add a header with multiple rows to the table group. Takes number of sub rows.
IUDDTableRow tgroup1.AddHeader(int rows)

6.

Add a row of content to the table group


IUDDTableRow tgroup1.AddContent()

7.

Add content with multiple rows to the table group. Takes number of sub rows.
IUDDTableRow tgroup1.AddContent(int rows)

IUDDTableRow interface
Calling AddHeader() & AddContent() on the IUDDTableGroup interface provides you with
the this interface. On this interface you can call the following methods
1.

Set an ID for the table row for internal links.


trow1.SetID("id")

2.

Set alignment information . can be "center", "left" and "right".

-144 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

trow1.SetAlignment("center")
3.

Set cell text. Can be cell content or header text. Takes a column index and a text string. It
is added to the first row.
IUDDTextElement trow1.Add(int

4.

int value)

column,

int subrow, string

column,

double value)

Set cell text. Takes a column index, row index and a double value.
IUDDTextElement trow1.Add(int
value)

9.

column,

Set cell text. Takes a column index and a double value. It is added to the first row.
IUDDTextElement trow1.Add(int

8.

int subrow, string

Set cell content. Takes a column index, row index and a int value.
IUDDTextElement trow1.Add(int
text)

7.

column,

Set cell content. Takes a column index and an int value. It is added to the first row.
IUDDTextElement trow1.Add(int

6.

string text)

Set cell text. Can be cell content or header text. Takes a column index, row index and a
text string. Takes in a row number because a table row can have multiple sub rows.
IUDDTextElement trow1.Add(int
text)

5.

column,

column,

int subrow, double

Set cell text spanning 2 columns. Can be cell content or header text. Takes a sub row index
, starting column index., ending column index and a text string.
IUDDTextElement trow1.AddSpanningcolumnst(int subrow, int
columnstart, int columnend, string text)

10. Set cell text. Can be cell content or header text. Takes a column index, starting sub row
index, ending sub row index and a text string.
IUDDTextElement trow1.AddpanningRows(int column, int
subrowstart, int subrowend, string text)

IUDDTableRow interface
Calling Add() on the IUDDTableGroup interface provides you with the this interface. On this
Generating Reports and Post-Processing -145

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

interface you can call the following methods


1.

Set an ID for the table row for internal links.


trow1.SetID("id")

2.

Set alignment information . can be "center", "left" and "right".


trow1.SetAlignment("center")

Includes all the methods exposed by the IUDDText interface.

-146 Generating Reports and Post-Processing

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

19
C-Models in Simplorer

Simplorer C-Models provide a powerful method for describing components and equations using C
or C++ code. Simplorer C-Models can be used like any other Simplorer components in network
simulations or block diagrams. Simplorers support for the creation and use of C-Models provides
the model developer with functions to control and influence the simulator behavior and internal
solving algorithms.
This chapter contains information on:

Designing a C-Model
Implementing C-Models
Programming C-Models
Using C-Models in Simplorer
C/C++ Function Reference

C-Models in Simplorer 19-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Introduction to the Simplorer C Interface


The interface allows you to program arbitrary nonlinear algebraic and ordinary differential equations to be solved by the Simplorer simulator. This modeling approach is suitable for following
applications:

Model description
contains loops and iterations
contains extensive mathematical operations
consists of multiple coupled ordinary differential equations
Re-use of already present C/C++ code
Inclusion and development of micro-controller source code

The Simplorer C Interface also allows the modeling of characteristics used to establish nonlinear
relationships of one input and one output quantity. Various Simplorer basic models can be connected to such blocks.
C-models show high simulation speed, accuracy, and numerical stability in Simplorer simulations.
They can be used in DC, AC, and transient simulations. It is possible to program variable step-size
models as well as fixed step-size models. These latter allow for example to run micro-controller
code at exactly the same sample times like on the real hardware. This is essential for realistic simulation of this kind of systems.

Simplorer C Interface Overview


Developing a C-model consists essentially of three steps:

Designing the C-model


Implementing (programming) the model in C/C++
Using the model in Simplorer

To assist in model development, Simplorer provides a C-Model Editor.The figure below shows
these steps, from creating the model draft to using the model in Simplorer. If the problem is complex and comprehensive, individual steps may need to be repeated.
Model design

Model implementation in
Microsoft Visual C/C++

Model application in
Simplorer

Model draft

Create C/C++
project

Import
C-model

Model
equations

Program model
in C/C++

Create
.dll model file

Modify
C-model symbol

Use C-model
in simulation

19-2 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following steps outline the general methodology for defining, programming, and using a Cmodel:
1.

Define the model draft that you wish to implement as a C-model.

2.

Define the model equations.

3.

Create a C/C++ project.

4.

Program the model in C/C++ code.

5.

Create the dynamic link library (.dll) model file.

6.

Import the C-model into Simplorer.

7.

Modify the C-model symbol.

8.

Use the C-model in simulation models.

Program Requirements
Simplorer 8.0 or higher with licensed C Interface
Any of the following programs:
Microsoft Visual Studio 2008
Microsoft Visual C++ 2008 Express
Microsoft Visual Studio 2005
Microsoft Visual C++ 2005 Express
Microsoft Visual Studio .NET 2002
Microsoft Visual Studio .NET 2003
Microsoft Visual C++ 6.0
Note

1.

To simulate simulation models with user-defined C-models the C Interface


must be installed and licensed in Simplorer.

2.

Several C-models are included with Simplorers standard libraries. These Cmodels can be used without an extra license for the Simplorer C Interface.

Installation
Developing C-models requires that the Microsoft compiler be properly installed on the computer.
During installation of the Simplorer C Interface, the required preparations in the Microsoft Developer Studio environment are automatically carried out.

C-Models in Simplorer 19-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Designing a C-Model
Before you can program and use C-models in Simplorer, you should first develop the model equations. The following sections provide an overview of the design considerations you should observe
while defining equations for your models.

Defining Model Equations


All components in a Simplorer simulation model exchange data with other components using conservative and/or non-conservative nodes. Conservative nodes are nodes where laws of conservation
(for example the sum of currents = 0) are applicable whereas non-conservative nodes are used as
signal ports without a flow quantity. Every conservative node has an assigned potential (v) and flow
(i) quantity (across and through quantity). For electrical domain components these variables are
electrical voltage and current. In addition to across and through quantities, components can contain
internal state variables xj which are linked together and to the flows and potentials through algebraic or ordinary differential equations. For every conservative node a model has, an equation linking the flow through the pin as a function to the potentials and the internal state variables is needed:
i1,k=i1,k(v1,k,x1,n)
In addition, every internal state variable requires an equation linking its value to the other variables:
F1,n(v1,k,x1,n)=0
RC Example
The RC combination has three electrical pins and one internal state variable, the charge Q (= x) on
the capacitor. The system needs three equations describing the currents in and out of the three conservative pins i1=i1(v1,v2,v3,Q), i2=i2(v1,v2,v3,Q), i3=i3(v1,v2,v3,Q) and one equation describing
the link of the internal state variable to the potentials F(Q,v1,v2,v3)=0.

If it is impossible to explicitly solve the flow equation for an input current (for example ij), the
input current must be used as internal variable: xl=ij. So Simplorer will numerically solve for the
flow variable.
Simplorer handles the mathematical description of components using the Jacobian matrix description, where J is the Jacobian matrix, s is the solution vector and r the right side vector of the equation system.
19-4 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For this purpose, the node potentials and the internal quantities are to be lined up in a solution vector. Due to this definition of the solution vector the corresponding Jacobi matrix and right hand side
vector of the system is defined.
The Jacobian matrix elements and right side entries must be entered by the user. In the case of linear equations, only the constant terms i0l=il(v1,k=0,x1,n=0) and F0j=Fj(v1,k=0,x1,n=0) in the
right side vector rlin are necessary.
The simulator automatically adds the variable parts. This feature can also be switched off to fill the
right side manually. When it comes to nonlinear equations, you must fill the complete corresponding right side entry. Ordinary differential equations fit into this scheme by using the exchangeability of differential operators.
d
d
=
x d t
dt x

Simplorer uses the same Jacobian matrix scheme in transient, DC and AC simulations. The user has
to select and establish the suited equations for the different simulation domains.
Example
The node behavior of a simple ohmic resistor is described by the following two equations:
v1 v2
i 1 ( v 1, v 2 ) = ---------------R

v1 v2
i 2 ( v 1, v 2 ) = ---------------R

Manually filled right side:

r manual

v1 v2
i
---------------R
= 1 =
i
v v
1
2
2
--------------
R

Automatically filled right side: r automatic

0
i

= 1 = 0
0
i
0
2

If the resistor is a linear system its right side can be filled automatically. Since
i1=Fj(v1,k=0,x1,n=0), there are no constant terms to be filled on the right side.

Transient (TR) Equations


In transient simulations, the Simplorer simulator calculates the temporal course of potential and
flow quantities and component internal quantities. For this purpose the user has to establish equations describing the links of instantaneous signals and their temporal development. Generally these
equations can be reduced to 1st order ordinary differential equations well suited for use in transient
Simplorer simulations. The Jacobian scheme for transient simulations is:
J TR s ( t ) = r ( t )

C-Models in Simplorer 19-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

RC Example
The transient behavior of the RC combination is described by the following equations:
v1 v2
i 1 = i R = ---------------R
v 1 v 2 dQ
i 2 = i R + i C = ---------------- + ------R
dt
dQ
i 3 = i c = ------dt
Q
F ( Q, v 1, v 2, v 3 ) = v 2 v 3 ---- = 0
C

Using the symbolic operation the equation system results to (E1):

1
--- 0 0
R

1
d
--- 0 -----
R
dt
d
0 0 0 -----
dt
1
0 1 1 ----
C

--1R
1
--R

v1 v2

----------------
R

v1
v 1 v 2 dQ
-------------- R - + d t
v2
=

v3
dQ

dt

v v Q
----
2 3 C

DC Equations
DC Analysis results in steady-state values of the potential, flow, and internal quantities. This means
the DC-equations contain no dynamic effects. DC behavior can be described by algebraic equations. In general, they can be derived from the TR equations by setting the temporal derivatives to
zero. Expressed in the Jacobian scheme the equation system can be reduced to:
J DC s DC = r DC

RC Example
The DC behavior of the RC-combination can be described by the following equations which were
extracted from the TR-equations:
v1 v2
i 1 = i R = ---------------R
v1 v2
i 2 = i R + i C = ---------------R
i3 = ic = 0
Q
F ( Q, v 1, v 2, v 3 ) = v 2 v 3 ---- = 0
C

19-6 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the symbolic operation the equation system results to (E2):

1
--- 0 0
R

1
d
--- 0 -----
R
dt
d
0 0 0 -----
dt
1
0 1 1 ----
C

--1R
1
--R

v 1 v 2
--------------
R
v1

v 1 v 2-
v2
= --------------R
v3

Q

Q
v 2 v 3 ----
C

AC Equations
In contrast to the TR analysis which deals with the temporal course of signals, the AC analysis is
used to calculate system behavior in the conjugated frequency domain. The complex description of
signals in this domain is generally applied: s()=sr()+jsi(), where =2f is the angular frequency. sr() is the real part and si() is the imaginary part of the complex signal s(). For the
complex calculation of the signals, the same Jacobian formalism is used like in the case of TR- and
DC- analysis:
J AC s ( ) = r ( )

Jacobian matrix entries, right side entries and the solution vector are complex numbers. The AC
analysis is performed on a fixed operating point. Such an operating point is a solution of the TRequation-system at a fixed time step. This means the transient equations are almost literally applicable for the AC analysis. Present temporal derivatives are replaced by their formal Laplace transformation:
d
j
dt

RC Example
In the case of the RC combination the AC equations appear in the following manner:
v 1 v 2
i 1 = i R = ---------------R
v
v
1
2
i 2 = i R + i C = ---------------- + j Q
R
i = i = j Q
3

Q
F ( Q, v 1, v 2, v 3 ) = v 2 v 3 ---- = 0
C

C-Models in Simplorer 19-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using the symbolic operation the equation system results to (E3):

v
1
2

1
v--------------
--- 0 0

R
R
v 1

v
1
2
--1- 0 j v 2
---------------- + j
R
R
=

0 0 j v 3
j

Q
1

Q
0 1 1 ----
v 2 v 3 ----
C
C

--1R
1
--R
0

19-8 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Implementing C-Models
Once you have drafted you model design and developed the models equations, you can implement
them in one of the following environments:

Microsoft Visual C++ 6.0 (MSCV++ 6.0) Project Environment


Microsoft Visual C++ .NET (MSCV++ .NET) Project Environment

It is within these environments that you program C-models, build the model .dll files, and also
modify and debug your model programs.

MSVC++ 6.0 Project Environment


The Microsoft Visual C++ 6.0 project environment facilitates the following operations:

Defining C-models in MSVC++ 6.0


Modifying C-models in MSVC++ 6.0
Debugging C-models in MSVC++ 6.0

Defining C-models in MSVC++ 6.0


To program a new C-model in MSVC++ 6.0 do the following:
1.

Create an MSVC++ 6.0 project.


a.

Start MSVC++ 6.0, choose File>New, and click the Projects tab.

b.

Select Ansoft Corporation Simplorer C-model in the list.

c.

Enter name and location (path) of the new project in the text box and click OK.

Select project type


Enter project name

Enter project path


Click <OK>

MSVC++ 6.0 creates all necessary files and project settings for a Simplorer C-model. It
C-Models in Simplorer 19-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

installs two different configurations: Release and Debug. Debug is the default configuration. Building the project results in a Windows .dll model file for dynamic link to Simplorer.
Note If you use the predefined Simplorer project, a version resource is automatically added to new Cmodels.

2.

Check the search path setting for header files.


a.

Choose Project>Settings and click the C/C++ tab.

b.

Select All Configurations from the settings list and Preprocessor from the category list.

c.

Check the entry in the Additional include directories box and click OK. The path must
point to the location of the files Sim2000User.h, Complex.h, and DataTypes_Basic.h.
These files are usually located in \syslib\bin\Template\C_Interface below the Simplorer installation path.

3.

Select configuration
Select category

Check path name


Click <OK>

Adapt location of .dll model files.


The location of the .dll model file depends on the used configuration. The default paths are
\Release\ and \Debug\. To use the C-model in Simplorer, the corresponding .dll model
file must be placed in the Simplorer directory or the current simulation project folder. You can
change the C/C++ project paths to one of these folders to avoid the copy operation.
a.

Choose Project>Settings and click the Link tab.

b.

Select a configuration (debug or release) from the settings list and General from the category list.

19-10 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

c.

Adapt the entry in the Output file name box for the selected configuration and click OK.

4.

Select configuration
Select category

Modify .dll model file name and path


Click <OK>

Check the search path setting for library files.


a.

Choose Project>Settings and click the Link tab.

b.

Select All Configurations from the settings list and Input from the category list.

c.

Check the entry in the Additional library path box and click OK. The path must point to
the location of the files Sim2000User.lib and Complex.lib. These files are usually located
in \syslib\bin\Template\C_Interface\Lib below the Simplorer installation path.

Select configuration
Select category

Modify path name


Click <OK>

C-Models in Simplorer 19-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

Choose File>Open to open the automatically created source file project_name.cpp in the
Source Files folder. It represents a template for programming a Simplorer C-model.

6.

Add your modifications to the source file to define the model behavior.

See Programming C-Models for additional information.


7.

Choose Build>Set active configuration to set the desired configuration for the created .dll
model file. Use the Win32-Debug configuration during the model development and debugging phase, use the Win32-Release configuration for the final model build.

8.

Choose Build>Build *.dll to build the Dynamic Link Library of the model. After successful
compilation and linkage the .dll model file is ready to be introduced to Simplorer.

9.

Start Simplorer and select Tools>Edit Configured Libraries>Models to include the C-model
in a model library.

See Using C-models in Simplorer for additional information.

Modifying C-models in MSVC++ 6.0


During the development and debug phase of a C-model, it is necessary to modify the source code
and test its effects in Simplorer. To change and test C-models, do the following:
1.

Open MSVC++ 6.0.

2.

Load the MSVC++ 6.0 workspace file (.dsw) for the C/C++ project.

3.

Include and add changes to the model source code file (.cpp).

Warning

Make sure there is no Simplorer simulation running which uses the .dll model file to
be modified. If the .dll model file is already in use, the linker cannot create a new
one.

4.

Check the task bar for the Simplorer kernel symbol


the right mouse button and select Close.

. If it is visible, click the symbol with

5.

Choose Build>Build *.dll to compile and link the model source code.

6.

Make sure the linker stored the file on the right location accessible to Simplorer. If necessary,
copy the new .dll model file to the right location.

7.

If changes were made on external nodes or internal states, start the Update C-model function
in Model Agent.

19-12 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

8.

The model is now ready to use. Start the simulations from Simplorer Schematic.

9.

For further model source code changes, repeat steps 3 through 8 as needed.

Debugging C-models in MSVC++ 6.0


Easy debugging of the model source code is very important in the model development phase. For
this purpose, the Microsoft debugger which comes with the Developer Studio suite can be used. For
details about this software refer to its manuals. In the following procedure, only Simplorer specific
tasks are described.
To debug Simplorer C-models do the following:
1.

Open MSVC++ 6.0.

2.

Load the MSVC++ 6.0 workspace file (.dsw) or the project file(.dsp) for the C/C++ project.

3.

Choose Build>Set active configuration and set the active configuration to Win32-Debug.

4.

Make sure that you build your DLL in a library directory (either <PersonalLib>\bin or <UserLib>\bin).
a.

To find out the current setting for PersonalLib or UserLib open the General Options dialog box in Simplorer (Tools>Options>General Options). The settings are on the Project
Options tab.

b.

In MSVC++ 6.0 workspace choose Project>Settings and click the Link tab. Choose Customize from the Category box. Set the path of the .pdb file in Program Database Name
and the path of the DLL Output File Name.

5.

If not already done, import your DLL model into Simplorer.

6.

Add an ASSERT(FALSE) statement into the Initialize function.

7.

Run the simulation until the assert comes up.

8.

Switch to the MSVC++ 6.0 workspace and attach to the sim.exe process (Build>Start
Debug>Attach to Process).

9.

a.

Visual Studio launches a new workspace for sim.exe. You must add the source files that
you want to debug into this new workspace manually.

b.

Set at least one break point at the statement after the ASSERT.

Switch back to the ASSERT message box and press Ignore.

10. The debugger will stop at the break point you set.
11. Set breakpoints and other debug related settings in MSVC++ 6.0 (refer to its manual for help).
12. After simulation ends, the simulator is shut down automatically and the debugger stops.
Note

You should save the environment for the sim.exe workspace, so that the next time you
start debugging you can reuse your break points. Otherwise all debugging settings will
be lost.

MSVC++ .NET Project Environment


The Microsoft Visual C++ .NET project environment facilitates the following operations:
C-Models in Simplorer 19-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Defining C-models in MSVC++ .NET


Modifying C-models in MSVC++ .NET
Debugging C-models in MSVC++ .NET

Defining C-models in MSVC++ .NET


To program a new C-model in MSVC++ .NET do the following:
1.

Create a MSVC++ .NET project.


a.

Start MSVC++ .NET and choose File>New>Project.

b.

Select the Visual C++Project folder from the project type list.

c.

Select Simplorer C Model Wizard from the template list.

d.

Enter name and location (path) of the new project in the text box and click OK.

Select project type


Select project template

Enter project name and path


Click <OK>

MSVC++ .NET creates all necessary files and project settings for a Simplorer C-model. It
installs two different configurations: Release and Debug. Debug is the default configuration. Building the project results in a Windows .dll model file for use with Simplorer.
Note

2.

If you use the predefined Simplorer project, a version resource is automatically added to
new C-models.

Check the search path setting for header files.


a.

Choose Project>Properties and select the C/C++ and General folders.

b.

Click All Configurations from the configuration list.

c.

Check the entry in the Additional include directories box and click OK. The path must
point to the location of the files Sim2000User.h, Complex.h, and DataTypes_Basic.h.
These files are usually located in \syslib\bin\Template\C_Interface below the Sim-

19-14 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

plorer installation path.

3.

Select the folder


Select the configuration

Check path name


Click <OK>

Adapt location of .dll model files.


The location of the .dll model file depends on the used configuration. The default paths are
\Release\ and \Debug\. To use the C-model in Simplorer, the corresponding .dll model
file must be placed either in the Simplorer directory or in the current simulation project folder.
You can change the C/C++ project paths to one of these folders to avoid the copy operation.
a.

Choose Project>Settings and select the Linker and General folders.

b.

Select a configuration (debug or release) from the configuration list.

C-Models in Simplorer 19-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

c.

Adapt the entry in the Output file name box for the selected configuration and click OK.

4.

Select the folder


Select the configuration

Modify .dll model file name and path


Click <OK>

Check the search path setting for library files.


a.

Choose Project>Propeties and select the Linker and General folders.

b.

Select All Configurations from the configuration list.

c.

Check the entry in the Additional library directories box and click OK. The path must
point to the location of the files Sim2000User.lib and Complex.lib. These files are usually located in \syslib\bin\Template\C_Interface\Lib below the Simplorer installation

19-16 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

path.

Select the folder


Select the configuration

Modify path name


Click <OK>

5.

Choose File>Open to open the automatically created source file project_name.cpp in the
Source Files folder. It represents a template for programming a Simplorer C-model.

6.

Add your modifications to the source file to define the model behavior.
See Programming C-Models for additional information.

7.

Choose Build>Configuration Manager to set the desired configuration for the created .dll
model file. Use the Debug configuration during the model development and debugging phase,
use the Release configuration for the final model build.

8.

Choose Build>Build Solution to build the Dynamic Link Library of the model. After successC-Models in Simplorer 19-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ful compilation and linkage the .dll model file is ready to be introduced to Simplorer.
9.

Start Simplorer and select Tools>Edit Configured Libraries>Models to include the C-model
in a model library.

Modifying C-models in MSVC++ .NET


During the development and debug phase of a C-model, it is necessary to modify the source code
and test its effects in Simplorer. To modify and test C-models, do the following:
1.

Open MSVC++ .NET.

2.

Load the MSVC++ .NET workspace file (.sln or .vcproj) of the C/C++ project.

3.

Include and add changes to the model source code file (.cpp).

Warning

Make sure there is no Simplorer simulation running which uses the .dll model file to
be created. If the .dll model file is already in use, the linker cannot create a new one.

4.

Check the task bar for the Simplorer kernel symbol


and select Close.

. If it is visible, right-click the symbol

5.

Choose Build>Build Solution to compile and link the model source code.

6.

Make sure the linker stored the file on the right location accessible to Simplorer. If necessary
copy the new .dll model file to the right location.

7.

If changes were made on external nodes or internal states, start the Update C Model function
in Model Agent.

8.

The model is now ready to use. Start the simulations from Simplorer Schematic.

9.

For further model source code changes repeat Steps 3 through 8 as needed.

Debugging C-models in MSVC++ .NET


Easy debugging of the model source code is very important in the model development phase. For
this purpose the Microsoft debugger which comes with the Developer Studio suite can be used. For
details about this software refer to its manuals. In the following only Simplorer-specific tasks are
described.
To debug Simplorer C-models do the following:
1.

Open MSVC++ .NET.

2.

Load the MSVC++ .NET workspace file (.sln or .vcproj) of the C/C++ project.

3.

Choose Build>Configuration Manager and set the active configuration to Debug.

4.

Make sure that you build your DLL in a library directory (either <PersonalLib>\bin or <UserLib>\bin).
a.

To find out the current setting for PersonalLib or UserLib open the General Options dialog box in Simplorer (Tools>Options>General Options). The settings are on the Project
Options tab.

b.

Choose Project>Settings and select the Linker. Set the path of the .pdb file in the
Debugging subfolder in the Generate Program Database File box and the path of the
DLL in the General subfolder in the Output File box.

19-18 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

5.

If not already done, import your DLL model into Simplorer.

6.

Add an ASSERT(FALSE) statement into the Initialize function and set at least one break point
at the statement after the ASSERT.

7.

Run the simulation until the assert comes up.

8.

Switch to the MSVC++ .NET workspace and attach to the sim.exe process (Debug>Attach to
Process).

9.

Switch back to the ASSERT message box and press Ignore.

10. The debugger will stop at the break point you set.
11. Set breakpoints and other debug related settings in MSVC++ NET (refer to its manual for
help).
12. After the end of the simulation the simulator will be shut down automatically and the debugger
stops.

C-Models in Simplorer 19-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Programming C-models
Using the Simplorer project template or the C-model editor, programming Simplorer C-models is
an easy and straightforward task.
You can find the RC3pin example in the Simplorer path ...\Examples\Applications\C_Interface\.
It is used to describe C-model functions in this section.
Note

A reference of Simplorer-specific C/C++ functions appears at the end of this chapter.

Basic Steps
There are a few basic constructions needed in every model source file to ensure a proper link to the
Simplorer simulator. These statements are already included in the template file and can be extended
and adapted to model specific needs.
Include specific header files

Define model name

Define Prepare function

Define Initialize, Simulate, Validate,


Close function for
TR, DC, AC simulation mode

Define RegisterUserModel function

Define RegisterUMODELFct function

Include Simplorer-specific Header Files


The following Simplorer-specific header files must be included:
#include "SIMPLORERAfx.h"
#include "Sim2000User.h"
#include "Complex.h"

Their purpose is mainly to define standardized data types for data exchange between the model and
simulator. The most important of these data types is the C++ object type CModUser, which is the
19-20 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

basic model object type for storing all model-dependent information pins, parameters, outputs,
equations, etc.

Define a Model Name


It is recommended that you define a model name:
#define STRG_MODELNAME"RC3Pin"

That eases the later change of the name without the risk of skipping some occurrences. Since it is
possible to include more than one model in a model source file and consequently in the same .dll
model file the other model names should also be defined here.

Define Inputs/Outputs Using the Prepare Function


Define the basic input and output ports of the model using the Prepare function. This includes conservative pins like electrical nodes as well as non-conservative inputs or outputs. The assignment of
the different nodes is done through specialized methods provided by the CModUser object. In most
cases the Prepare function is used for all analysis types (TR, DC, AC).
RC Example
The RC-combination has three electrical pins and two parameters (resistance R and capacitance C)
and an initial value (the initial voltage across the capacitor). In addition, the electrical charge on the
capacitor shall be provided as an output. This is programmed in the following Prepare function:
FCTDECL PREP_FCN( CModUser *pMod )
{
// Parameters (conservative nodes)
pMod->AddNode__c( "n1" );
pMod->AddNode__c( "n2" );
pMod->AddNode__c( "n3" );
// Parameters (non-conservative nodes)
pMod->AddNode_nc( STRG_NCNAME_U0, DEFAULT_U0, DIRIN );
pMod->AddNode_nc( STRG_NCNAME_RESISTANCE, DEFAULT_RESISTANCE, DIRIN );
pMod->AddNode_nc( STRG_NCNAME_CAPACITANCE, DEFAULT_CAPACITANCE, DIRIN );
// Parameter Units
pMod->SetUnitNameNode_nc( STRG_NCNAME_U0, "V" );
pMod->SetUnitNameNode_nc( STRG_NCNAME_RESISTANCE, "Ohm" );
pMod->SetUnitNameNode_nc( STRG_NCNAME_CAPACITANCE, "F" );
// Parameter Info
// English
pMod->SetInfoNode_nc( STRG_NCNAME_U0, "Initial capacitor voltage" );
pMod->SetInfoNode_nc( STRG_NCNAME_RESISTANCE, "Resistance" );
pMod->SetInfoNode_nc( STRG_NCNAME_CAPACITANCE, "Capacitance" );

C-Models in Simplorer 19-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

// German
pMod->SetInfoNode_nc( STRG_NCNAME_U0, "Anfangsspannung am Kondensator",
MAKELANGID( LANG_GERMAN, SUBLANG_GERMAN ) );
pMod->SetInfoNode_nc( STRG_NCNAME_RESISTANCE, "Widerstand", MAKELANGID(
LANG_GERMAN, SUBLANG_GERMAN ) );
pMod->SetInfoNode_nc( STRG_NCNAME_CAPACITANCE, "Kapazitaet", MAKELANGID(
LANG_GERMAN, SUBLANG_GERMAN ) );
// Outputs
pMod->AddNode_nc( STRG_NCNAME_CHARGE,

DEFAULT_CHARGE );

// Output Units
pMod->SetUnitNameNode_nc( STRG_NCNAME_CHARGE,

"C

");

// Output Info
pMod->SetInfoNode_nc( STRG_NCNAME_CHARGE, "Capacitor charge" );
pMod->SetInfoNode_nc( STRG_NCNAME_CHARGE, "Ladung auf Kondensator",
MAKELANGID( LANG_GERMAN, SUBLANG_GERMAN ) );
return 1L;
}

The appearance of the definitions in the Prepare function is shown in the property dialog of the corresponding model in the Schematic.

Define the PISVC Functions


The PISVC functions for the several simulation modes (TR, AC, and DC) of the model must be
defined. If a simulation mode is not implemented, the model cannot be used for the corresponding
analysis.

19-22 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Every CModUser object needs to provide four model-function pointers for every simulation mode
(TR, AC, and DC) for which it is designed, and also one Prepare-function pointer. These model
functions are stored in the object using specialized methods.
The five model functions and their assignment are listed in the following table. These five modelfunctions are later called PISVC functions (Prepare, Initialize, Simulate, Validate, Close).
Function name

Task

Prepare function Assign number, names, and info-lines of


external conservative and non-conservative
nodes, inputs, outputs and model internal
states. This function is called by the compiler
(comp.exe) and the Model Agent
(modagent.exe) for model creation or
interface scanning.

CModUser-method
SetUMODPrepFct()

Initialize function Set symbolic and static Jacobi matrix entries SetUMODInitFct()
and flags, initialize internal variables and
states, allocate dynamic memory if needed.
This function is called by the Simulator
(sim.exe) to initialize the model before the
simulation starts.
SetUMODSimFct()
Simulate function Set static and dynamic Jacobi matrix
elements. Calculate and set outputs or inner
states. Feedback to simulator if needed. This
function is called by the Simulator (sim.exe)
for every iteration in DC, for every iteration
of every time step in TR and for every
frequency-step in AC.
SetUMODValidFct()
Validate function Perform tasks after simulation time steps.
Feedback to simulator if needed. This
function is called by the Simulator (sim.exe).

Close function

Final 'cleaning up' after simulation run. Free SetUMODCloseFct()


possibly allocated memory. This function is
called by the Simulator (sim.exe)

There is no Simplorer demanded restriction on the model function names used for these tasks. But
it is suggested that you store the names in define-variables for later easy change or extension of the
file.
Note

Model functions assigned to the various simulator modes are not required to be different.

C-Models in Simplorer 19-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

As shown in the source code example of the RegisterUMODELFct, every dll-included object must
provide its own model functions. The proper allocation is done through the models name by using
the CModUser method GetDefName.
Note

Different models can share the same model functions.

Even though there are no Simplorer restrictions on the names of the model functions, the function
definitions must adhere strictly to the following data types.
FCTDECL modelfct( CModUser *pMod )
{
...
return TRUE; // or FALSE...
}

The model functions must be of type FCTDECL, which means, among other things, that they are able
to return the predefined values TRUE or FALSE to signal a successful or erroneous execution to the
simulator. The model functions use as the only argument a pointer to a CModUser object. Such an
object facilitates extensive access of the models functions to the simulator, its equation system,
and model I/O.

19-24 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The sequence of the PISVC functions is shown below in connection with the Simplorer simulator.
Main Simulator
Backplane

C-model
Main Function Calls

Backplane for each


PISVC Function

Start

Prepare

Prepare

Equations

Initialize

Initialize

Time functions

t=t+h

Calculate
step size

Global DES Solver

Simulate

Simulate

Validate

Validate

Yes

Electrical
Circuit

VHDL
VHDL-AMS

External simulators

Output

Block diagram

t<=tend

State graph

No

Close

Close

End

Define Model Kind and Number Using RegisterUserModel


The RegisterUserModel function is called by the Simplorer simulator to learn about the number
and kind of models wrapped in the .dll model file. Therefore every model present in the model
source file requires a separate entry in the switch loop. The example shows a register function for
two models. A predefined model registration function RegisterUserModel according to the following scheme must be included:
FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )
{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( STRG_MODELNAME1 );
pUModDecl->SetModelType( UMODEL );
pUModDecl->SetSimPref( ECM );

C-Models in Simplorer 19-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

break;
case 1: pUModDecl->SetDefName( STRG_MODELNAME2 );
pUModDecl->SetModelType( UMODEL );
pUModDecl->SetSimPref( BDM );
break;
default:
break;
}
return TRUE;
}

Simplorer needs a name, model type, and preferred subsimulator for each model. This information
is provided by the CUModDecl's methods SetDefName, SetModelType, and SetSimPref. Since
Simplorer distinguishes different models in a .dll model file by their names, it is essential to use a
unique name for each model.
See also CModUser Object Methods
Simplorer distinguishes two types of models: UMODEL and UDCHAR. UMODEL is used to
model whole dynamic systems, UDCHAR is used in programming so called characteristics for the
description of non-linear I/O-relationships and may be used in combination with a number of Simplorer's basic components and C-models of UMODEL type.
See also CUmodDecl Object
See also Models used as Characteristics
The simulator preference method SetSimPref controls the accessibility to Simplorer's internal
equation system. Full access to the equation system is enabled using the ECM (Electric Circuit
Module) simulator. This allows to introduce arbitrary nonlinear ordinary differential equations to
Simplorer and an extensive access to its step size algorithm.
Selecting the BDM (Block Diagram Module) simulator as the preferred simulator allows the inclusion of algebraic input-output relations only. No conservative nodes are possible with this selection.
BDM models will automatically be provided with a node for explicit specification of the block's
sample time.
See also C-models with Specified Sample Time
The TFM (Time Function Module) is used for modeling time-dependent signals like sine waves.

Define Model-dependent Functions Using RegisterUMODELFct


The last essential function to be implemented in the model source code is the RegisterUMODELFct
to register the model-dependent functions of all included models. A syntax example is shown
below:
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
if( !strcmp( pMod->GetDefName(), STRG_MODELNAME1 ) )
{
pMod->SetUMODPrepFct( PREP_FCN1 );
// ModelInterface
19-26 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

switch( pMod->GetAnalysisType() )
{
case TR_:
pMod->SetUMODInitFct( INIT_FCN1_T );
pMod->SetUMODSimFct(
SIMU_FCN1_T );
pMod->SetUMODValidFct( VALI_FCN1_T );
pMod->SetUMODCloseFct( CLOSE_FCN1_T );
pMod->AddAvailableAnalysisType(TR_);
break;
case DC_:
pMod->SetUMODInitFct( INIT_FCN1_D );
pMod->SetUMODSimFct(
SIMU_FCN1_D );
pMod->SetUMODValidFct( VALI_FCN1_D );
pMod->SetUMODCloseFct( CLOSE_FCN1_D );
pMod->AddAvailableAnalysisType(DC_);
break;
case AC_:
pMod->SetUMODInitFct( INIT_FCN1_A );
pMod->SetUMODSimFct(
SIMU_FCN1_A );
pMod->SetUMODValidFct( VALI_FCN1_A );
pMod->SetUMODCloseFct( CLOSE_FCN1_A );
pMod->AddAvailableAnalysisType(AC_);
break;
default:
break;
}

//
//
//
//

Initialize Funct. TR
Simulate Funct. TR
Validate Funct. TR
Close Function TR

//
//
//
//

Initialize Funct. DC
Simulate Funct. DC
Validate Funct. DC
Close Function DC

//
//
//
//

Initialize Funct. AC
Simulate Funct. AC
Validate Funct. AC
Close Function AC

}
if( !strcmp( pMod->GetDefName(), STRG_MODELNAME2 ) )
{
pMod->SetUMODPrepFct( PREP_FCN2 );
// ModelInterface
switch( pMod->GetAnalysisType() )
{
case TR_:
pMod->SetUMODInitFct( INIT_FCN2_T );
// Initialize Funct. TR
pMod->SetUMODSimFct(
SIMU_FCN2_T );
// Simulate Funct. TR
......
}
}
return TRUE;
}

The argument of this function is a C++ object of type CModUser. This central object stores all
model related information needed for its simulation.
C-Models in Simplorer 19-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

See also CModUser Object Methods


As shown in the example, the main task of the required function RegisterUMODELFct is to store
model-specific function pointers in the different CModUser objects.

Implementing for Transient Simulations (TR)


This sections describes the following PISVC functions for the TR simulation mode:

TR Initialize Function
TR Simulate Function
TR Validate Function
TR Close Function

TR Initialize Function
The prime task of the Initialize function is to mark all non-vanishing entries in the Jacobian matrix
to make it ready for filling with static and dynamic entries. Then initial conditions have to be set
and static entries can be filled. In the case of dynamic models these functions differ for TR-, DCand AC-modes because of the existence of temporal derivatives.
Symbolic entries are made by using the AddSymbolicGSEntry method of the CModUser object.
pMod->AddSymbolicGSEntry( 1, 3 )
// Informs the simulator about a non-vanishing entry at (1,3)

In the case of an automatically filled right side vector and additive terms in specific entries, it is
necessary to separate these entries in several terms.
Example (E4)
Let F1=3x1+0.5x1. Then F1/x1=3+0.5d/dt results. Therefore the corresponding Jacobian entry
(i,j) consists of two separate entries and results in the following program code:
pMod->AddSymbolicGSEntry( i, j, 0 );
pMod->AddSymbolicGSEntry( i, j, 1, D_DT_OPERAT );

The third parameter of the AddSymbolicGSEntry method is the index of the subentry, the optional
fourth parameter is used as a flag to signalize a temporal derivative to the simulator.
See also CUModDecl Object
In case of an error the initialize function shall return the FALSE value to inform the simulator about
this problem. Apart from this the model user can be informed about details of the problem by using
the Report2Sim callback function.
See also Callback Functions
RC Example
According to equation (E1), the Jacobian matrix for transient analysis consists of nine non-vanishing entries. Only two of them are constant. The other seven are potentially varying during a simulation run. Apart from this, the following example shows the use of the Report2Sim() function.
FCTDECL Init_RC_TR( CModUser *pMod )
{
// Get values from model interface
19-28 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

double cap = pMod->GetValNode_nc("C");


double uc0 = pMod->GetValNode_nc("UC0");
double q;
char message[100];
strcpy( message, pMod->GetUseName() );
strcat( message, ": " );
// Check input parameters
if (cap<=0)
{
strcat( message,
"Capacitance must be positive! Please check model parameters" );
Report2Sim( pMod, UMOD_ERR, message);
return FALSE;
}
if (cap>1000)
{
strcat( message, "Capacitance is unusual high! Are you sure? " );
return !Report2Sim( pMod, UMOD_WRN, message );
}
// Set symbolic Jacobian entries according to (E1)
pMod->SetSymbolicGSEntry( 0, 0 );
pMod->SetSymbolicGSEntry( 0, 1 );
pMod->SetSymbolicGSEntry( 1, 0 );
pMod->SetSymbolicGSEntry( 1, 1 );
pMod->SetSymbolicGSEntry( 1, 3, 0, D_DT_OPERAT );
pMod->SetSymbolicGSEntry( 2, 3, 0, D_DT_OPERAT );
pMod->SetSymbolicGSEntry( 3, 1 );
pMod->SetSymbolicGSEntry( 3, 2 );
pMod->SetSymbolicGSEntry( 3, 3 );
// Set constant Jacobian entries
pMod->SetRealGSEntry( 3, 1, 1.0 );
pMod->SetRealGSEntry( 3, 2, -1.0 );
// Set initial condition electric charge on capacitor
q = cap * uc0;
pMod->SetSVVal( 3, q ); // Entry #3 in solution vector
return TRUE;
}

TR Simulate Function
After setting up the Jacobian matrix in the Initialize function the whole mathematical model
description must be provide for the simulator. This is done through the Simulate function. In almost
every case three different simulate functions for the different simulator modes (TR, DC, AC) have
to be programmed.
C-Models in Simplorer 19-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The frequently used temporal derivative operator d/dt is replaced by the specialized callback function ISIM_ECM_D_DT.
See also Callback Functions
Example
Let F1=2(v1-v2)+3x1. Then F1/x1=3d/dt which results in the following program code:
pMod->SetRealGSEntry( 2, 2, 3*ISIM_ECM_D_DT( pMod ) );

If the right side vector is filled automatically (which is only possible in the case of linear equations)
and the partial derivatives are composed of additive terms with and without temporal derivatives,
several subentries at the corresponding Jacobian entry have to be filled.
Example
Let F1=3x1+0.5x1. Then F1/x1=3+0.5d/dt results. If the Prepare function sets the symbolic
Jacobian entries corresponding to example (E4) results in the following program code.
pMod->SetRealGSEntry( i, j, 0, 3.0 );
pMod->SetRealGSEntry( i, j, 1, 0.5*ISIM_ECM_D_DT( pMod ) );

Apart from setting the Jacobian entries the Simulate function is also used to set output quantities to
the model interface using the SetValNode_nc() method.
RC Example
The transient equations of the RC combination contains several dynamic terms. These have to be
set to the Jacobian matrix in the simulate model function:
FCTDECL Simu_RC_TR( CModUser *pMod )
{
// Getting parameters from the model interface
double cap = pMod->GetValNode_nc("C");
double res = pMod->GetValNode_nc("R");
// Getting Values from the solution vector
double q = pMod->GetSVVal( 3 ); //Charge on capacitor
// Example for parameter check
if (res <= 0.0)
{
char message[100];
strcpy( message, pMod->GetUseName() );
strcat( message, ": R must be positive" );
Report2Sim( pMod, UMOD_ERR, message );
return FALSE;
}
// Setting variable Jacobian matrix entries
pMod->SetRealGSEntry( 0, 0, 1.0/res );
pMod->SetRealGSEntry( 0, 1, -1.0/res );
pMod->SetRealGSEntry( 1, 0, -1.0/res );
pMod->SetRealGSEntry( 1, 1, 1.0/res );
19-30 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

pMod->SetRealGSEntry( 1, 3, ISIM_ECM_D_DT( pMod ) );


pMod->SetRealGSEntry( 2, 3, -ISIM_ECM_D_DT( pMod ) );
pMod->SetRealGSEntry( 3, 3, -1.0/cap );
// Because of the linearity of the equations the right side
// vector is filled automatically!
// Sending output values to model interface
pMod->SetValNode_nc( "Q", q );
return TRUE;
}

Accessing Characteristics from C-models in TR Analysis


C models for transient analysis can access characteristics in their Simulate function similar to internal Simplorer models. Therefore, the model needs to provide a non-conservative node for the connection to a characteristic block. The type of the node shall be set to CHAR_ to signalize its
behavior to the Model Agent and Schematic.
FCTDECL Prepare( CModUser *pMod )
{
pMod->AddNode_nc( "CH", 0.0, DIRIN );
pMod->SetDataTypeNode_nc( "CH", CHAR_ );
...
}

In Simplorer Schematic this pin has to be connected to a characteristic component


(>>Basiscs>Tools>Characteristcs) or a C-model characteristics. The characteristics is accessed in
the Simulate function using the GetValNode_nc method:
FCTDECL Simulate( CModUser *pMod )
{
double x, y, dy_dx;
// Let for example
x = 5;
y = pMod->GetValNode_nc( "CH", x, &dy_dx );
// Retrieves y = y(x=5) and dy/dx at x=5
...
}

TR Validate Function
After every successful time step, Simplorer calls the Validate function for all models in a system. In
this section the model can perform tasks unique in every time step. For example, it is possible to
store data in an internal state for further use in the next time step.

TR Close Function
The Close function is called after finishing a transient analysis. It is the proper place for some final
cleanup procedures such as: freeing dynamically allocated memory, storing documentation information on the hard disk and/or closing all opened files.
C-Models in Simplorer 19-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using Internal States


The Simplorer C Interface allows you to define an arbitrary number of internal states for each
model. Using the AddNode_State method of the CModUser object in the Prepare function adds
internal states to the component. Since these states are identified by their name, the name of the
state must be unique in every model.
States are mainly used for storing instance-specific data which can be used in subsequent time steps
for further processing. These data does not interfere with the corresponding data of other model
instances.
Another very important application of internal states is their possible link to non-conservative output nodes. To associate an internal state to a non-conservative node, a state with an identical name
must be created. Then every setting of the internal state directly affects the output node of the component.
This method of setting output nodes is favorable because internal states are automatically restored
by Simplorer in the case of back-step processes. Such processes can be initiated by almost every
part of the Simplorer simulator in cases where the equations have not finally converged. In such
cases, the entire simulation step is disregarded and a new attempt with a smaller step size will be
performed.
A direct setting of a linked output node will break the link to the internal state and initiates the independent use of the two nodes.
Example
Initiating a link between an output node and an internal state in the Prepare function and following
use of the link in the simulate function.
FCTDECL Prepare( CModUser *pMod )
{
pMod->AddNode_nc( "velocity", 0.0 );
pMod->AddNodeState("velocity", 0.0 );
// Initiates a link to equal named output
...
}
FCTDECL Simulate( CModUser *pMod )
{
...
pMod->SetValNode_State( "velocity", v ); //Set State AND Output!
//pMod->SetValNode_nc("velocity", v ); would break the link
...
}

Implementing for Operating Point Analysis (DC)


The sections describes the following PISVC functions for the DC simulation mode:

DC Initialize Function
DC Simulate Function

19-32 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

DC Validate Function
DC Close Function

DC Initialize Function
The DC Initialize function has similar purposes like the corresponding model function for TR analysis. Moreover, for static models (components without temporal derivatives), they are almost identical. Then a corresponding implementation like in the case of the DC Prepare function is
applicable.
RC Example
According to equation (E2) the DC Jacobian is very similar to the TR case with the exception of
two temporal derivatives which vanish in the DC case. This results in the following source code
fragment:
FCTDECL Init_RC_DC( CModUser *pMod )
{
// Get values from model interface
double cap = pMod->GetValNode_nc("C");
double uc0 = pMod->GetValNode_nc("UC0");
double q;
// Set symbolic Jacobian entries according to (E1)
pMod->SetSymbolicGSEntry( 0, 0 );
pMod->SetSymbolicGSEntry( 0, 1 );
pMod->SetSymbolicGSEntry( 1, 0 );
pMod->SetSymbolicGSEntry( 1, 1 );
pMod->SetSymbolicGSEntry( 3, 1 );
pMod->SetSymbolicGSEntry( 3, 2 );
pMod->SetSymbolicGSEntry( 3, 3 );
// Set constant Jacobian entries
pMod->SetRealGSEntry( 3, 1, 1.0 );
pMod->SetRealGSEntry( 3, 2, -1.0 );
// Set initial condition electric charge on capacitor
q = cap * uc0;
pMod->SetSVVal( 3, q ); // Entry #3 in solution vector
return TRUE;
}

DC Simulate Function
The DC Simulate function provides the mathematical DC description of the models static behavior.
The equations can be derived from the transient equations by dropping all dynamic parts. That
means that all Jacobian entries containing temporal derivatives vanish for DC analysis. All explicit
time dependencies must be extrapolated to infinite time.

C-Models in Simplorer 19-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

RC Example
The DC equations of the RC combination are found in equation (E2). They are similar to the equations of the TR version:
FCTDECL Simu_RC_DC( CModUser *pMod )
{
// Getting parameters from the model interface
double cap = pMod->GetValNode_nc("C");
double res = pMod->GetValNode_nc("R");
// Getting Values from the solution vector
double q = pMod->GetSVVal( 3 ); //Charge on capacitor
// Setting variable Jacobian matrix entries
pMod->SetRealGSEntry( 0, 0, 1.0/res );
pMod->SetRealGSEntry( 0, 1, -1.0/res );
pMod->SetRealGSEntry( 1, 0, -1.0/res );
pMod->SetRealGSEntry( 1, 1, 1.0/res );
pMod->SetRealGSEntry( 3, 3, -1.0/cap );
// Because of the linearity of the equations the right side
// vector is filled automatically!
// Sending output values to model interface
pMod->SetValNode_nc( "Q", q );
return TRUE;
}

DC Validate Function
In most cases the DC Validate function is only required to signal a successful DC simulation step to
the simulator by returning the TRUE variable. It can be omitted if it is not used.

DC Close Function
Because the results of DC analyses are used as the operating point for subsequent AC simulations,
the DC Close function is very important. The DC Close function must store all information necessary to reconstruct the operating point for a (possible) subsequent AC analysis. Therefore UserData
is used. The UserData linked via the SetUserData method in DC can be queried in AC analyses by
GetUserDataDC.
RC Example
For the RC example, three values shall be stored for further use in the AC analysis. These are the
capacity and resistance values, and the voltage at the capacitor. For this purpose, an adequate memory structure (sDCOP) must be established.
struct sDCOP
{
double cap, res, Vc;
};
FCTDECL Close_RC_DC( CModUser *pMod )
19-34 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

{
double C = pMod->GetValNode_nc("C");
double R = pMod->GetValNode_nc("R");
double Vc = pMod->GetSVVal(1) - pMod->GetSVVal(2);
sDCOP *pUserData = (sDCOP*)pMod->AllocateUserDataMemory( sizeof(sDCOP)
);
pMod->SetUserData( pUserData, sizeof(sDCOP) );
pUserData->cap = C;
pUserData->res = R;
pUserData->Vc = Vc;
return TRUE;
}

Implementing for Spectral Analysis (AC)


The AC implementation differs from the other TR and DC simulation mode because of the use of
complex numbers and calculations. Every signal can be described by its magnitude A and phase
angle : Aej. That requires to use complex numbers in the Jacobian matrix as well as in the solution vector and the right side.
AC Simulate function according to EQ(3) makes use of complex calculations. The solution vector
elements as well as the Jacobian entries are generally complex numbers.

AC Initialize Function
Due to the complex algebra used in the description of the AC behavior of dynamic systems the AC
Initialize function often differs from the TR or DC version.
RC Example
Comparing the AC Jacobian matrix of equation (E3) to the one of the TR example (E1) shows
many similarities except the temporal derivatives which are replaced by complex numbers j.
Therefore the symbolic AC entries have no derivative flag (D_DT_OPERAT). Furthermore, the
solution vector of the AC problem consists of complex entries.
FCTDECL Init_RC_AC( CModUser *pMod )
{
// Get values from DC analysis, sDCOP is defined below
long DCsize;
sDCOP *pUserData = (sDCOP*)pMod->GetDCUserData( &DCsize );
double cap = sDCOP->cap;
double res = sDCOP->res;
double Vc = sDCOP->Vc;
// Set symbolic Jacobian entries according to (E1)
pMod->SetSymbolicGSEntry( 0, 0 );
pMod->SetSymbolicGSEntry( 0, 1 );
pMod->SetSymbolicGSEntry( 1, 0 );
pMod->SetSymbolicGSEntry( 1, 1 );
pMod->SetSymbolicGSEntry( 1, 3 );
C-Models in Simplorer 19-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

pMod->SetSymbolicGSEntry( 2, 3 );
pMod->SetSymbolicGSEntry( 3, 1 );
pMod->SetSymbolicGSEntry( 3, 2 );
pMod->SetSymbolicGSEntry( 3, 3 );
// Set constant Jacobian entries
pMod->SetRealGSEntry( 0, 0, 1.0/res );
pMod->SetRealGSEntry( 0, 1, -1.0/res );
pMod->SetRealGSEntry( 1, 0, -1.0/res );
pMod->SetRealGSEntry( 1, 1, 1.0/res );
pMod->SetRealGSEntry( 3, 1, 1.0 );
pMod->SetRealGSEntry( 3, 2, -1.0 );
pMod->SetRealGSEntry( 3, 3, -1.0/cap );
// Set initial condition electric charge on capacitor
double q = cap * Vc;
pMod->SetSVVal( 3, q ); // Entry #3 in solution vector
return TRUE;
}

AC Simulate Function
The AC Simulate function provides the mathematical description of the models AC behavior. Generally this contains complex algebra and differentiation. From Laplacian transformation the temporal derivative operator d/dt is replaced by the complex term j. This factor is represented in the
source code by the callback function CComplex ISIM_ECM_P.
See also Callback Functions
RC Example
From the AC equations of the RC combination example (E3) the following AC Simulate function
results:
FCTDECL Simu_RC_AC( CModUser *pMod )
{
long DCsize;
// Get values from DC analysis, sDCOP is defined below
// (they are not needed in the Simulate-function of this example)
sDCOP *pUserData = (sDCOP*)pMod->GetDCUserData( &DCsize );
double cap = pUserData->cap;
double res = pUserData->res;
// Variable Jacobian entries
pMod->SetCplxGSEntry( 0, 0, ISIM_ECM_P( pMod ) );
pMod->SetCplxGSEntry( 0, 1, -ISIM_ECM_P( pMod ) );
// Because of the linearity of the equations the right side
// vector is filled automatically!
return TRUE;
}
19-36 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

AC Validate function
The AC Validate function is called by the Simulator between subsequent frequency steps. It can be
omitted if it is not used.

AC Close function
The AC Close function is called after a AC simulation. It is the right place for releasing dynamically allocated memory or for other clean-up.

C-Models with Specified Sample Time


The Simplorer C interface provides the possibility of programming time-discrete models, too. This
is particularly useful in the simulation of digital systems like for example digital controllers. These
components consist of a micro-processor system running the controller program code at a uniformly clocked sample rate. When simulating the behavior of such a controller it is essential to consider its clock speed or sample rate to achieve reasonable results.
For the implementation of these kind of systems the Simplorer C interface provides the BDM subsimulator. It is selected in the RegisterUserModel function.
See also CUModDecl Object
FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )
{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( "PID_Controller" );
pUModDecl->SetModelType( MODEL );
pUModDecl->SetSimPref( BDM );
break;
default:
break;
}
return TRUE;
}

When selecting BDM as the preferred simulator a non-conservative node named TS is automatically created. The user input for this parameter is automatically taken as sample time of the block.
This ensures the sampling of the block at these sample times independently of all other elements on
a simulation sheet. All block outputs are held constant until the block is sampled again.
A user input of 0 disables the fixed sample time and forces the Simplorer simulator to calculate the
block at every simulator step.
To ensure a proper operation in all circumstances it is necessary to access block outputs via associated internal states only.
See also Use of Internal States
Direct setting of model outputs shall be prevented. Due to this technique the simulator is able to
access the output nodes of the component in case of a back step event.
C-Models in Simplorer 19-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The sample time of a model can be accessed or modified using the callback functions
GET_SAMPLETIME and SET_SAMPLETIME. It is suggested to set a default sample time in the prepare
function of the model. Otherwise Simplorer uses the system sample time. In case of a zero sample
time input, the GET_SAMPLETIME function returns the current simulator time step width. This facilitates the use of this function in temporal numerical integration procedures.
FCTDECL PREP( CModUser *pMod )
{

SET_SAMPLETIME( pMod, DEFAULT_TS );

C-Models Used as Characteristics


Apart from the programming of dynamic systems the Simplorer C Interface allows the programming of characteristics, too. These characteristics are usually used to describe nonlinear relationships between an input variable x and an output variable y in the form y=f(x). Several predefined
characteristics can be found in the Simplorer library.
Some Simplorer internal components have a node for connecting characteristics. This facilitates a
quick and easy way of considering variable nonlinear behavior in standard components. Dependent
on the Simplorer component the input and output signal types are fixed. The following table lists
the used signal types.
Simplorer Model

SML Model Name Input

Output

Nonlinear resistor

RNL

Nonlinear conductor

GVNL

Nonlinear dual capacitor

CVNL

Nonlinear capacitor

CNL

Nonlinear dual inductor

LINL

Nonlinear inductor

LNL

Nonlinear voltage controlled voltage source

EVNL

Nonlinear current controlled voltage source

EINL

Nonlinear voltage controlled current source

IVNL

Nonlinear current controlled current source

IINL

Ie

Le

DC machine with non-linear excitation inductance DCMENL-CHLE


characteristics

19-38 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer Model

SML Model Name Input

Output

DC machine with non-linear magnetization


characteristics

DCMENL-CHM

ie

Non-linear block

NL

INPUT

VAL

C-models

arbitrary arbitrary

The programming of a C-model characteristics needs to register the model as a UDCHAR in the RegisterUserModel section:
FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )
{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( "Charactermodel" );
pUModDecl->SetModelType( UDCHAR );
break;
default:
break;
}
}

It is not needed to set a simulator preference for characteristics.


The registration as a UDCHAR model automatically adds a node for the bidirectional data exchange
with other Simplorer components to the model. Further non-conservative nodes can be added in the
same way like in dynamic TR-models in the prepare section of the source code.
The calculation of the output quantity y from the independent input value x is done in the simulate
section. The input variable is accessed by the callback function CHAR_IN, the output is send back to
the calling element by using CHAR_OUT. Apart from this, the partial derivative y/x is set through
CHAR_OUT_DERIVE.
Example
In the following example a simple quadratic relation between an input and an output variable of a
characteristics is programmed.

FCTDECL Prepare_Q ( CModUser *pMod )


{
return TRUE;
}
FCTDECL Initialize_Q( CModUser *pMod )
{
return TRUE;
}
C-Models in Simplorer 19-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

FCTDECL Simulate_Q( CModUser *pMod )


{
double x = CHAR_IN(pMod);
double y, dy_dx;
y = x*x;
dy_dx = 2*x;
CHAR_OUT(pMod, y);
CHAR_OUT_DERIVE(pMod, dy_dx);
return TRUE;
}
FCTDECL Close_Q( CModUser *pMod )
{
return TRUE;
}
FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )
{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( "Q_character" );
pUModDecl->SetModelType( UDCHAR );
break;
default:
break;
}
return TRUE;
}
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
if( !strcmp( pMod->GetDefName(), "Q_character" ) )
{
pMod->SetUMODPrepFct( Prepare_Q );
pMod->SetUMODInitFct( Initialize_Q );
pMod->SetUMODSimFct( Simulate_Q );
pMod->SetUMODCloseFct( Close_Q );
}
return TRUE;
}

19-40 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using C-Models in Simplorer


To use C-models in a simulation model you must include them either in a new or an existing
installed model library. Use the Tools>Configure Libraries menu commands to install and configure the libraries in the Simplorer program environment. Use the Tools>Edit Configured Libraries>Models menu commands to arrange the models within a library.
Related Topics
Importing Models from a C-Model DLL into Simplorer
Managing Libraries
Properties of Components

Updating C-models
To update models using .dll files, either click Elements>update C Models, or use the shortcut menu
command. Select a .dll file in the input field. The model name in the .dll file must be identical to the
active model name (defined with RegisterUserModel). You can select either a map file or the list
mode to assign new to old parameters. Click in a field of new parameters to select a new name in
the list. The list provides all in the C-model defined parameters and nodes.

.dll model file with model description

List with parameters and nodes


in the .dll model file

Options for additional information

The options to update node model information, default values, and units replaces entries in the
active model with definitions from the .dll model file. Units are defined with
SetUnitNameNode_nc, information about nodes with SetInfoNode_nc and SetInfoNode__c,
default values in AddNode_nc.
See also Programming C-models

C-Models in Simplorer 19-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Integrating C-model Files


To use C-models for simulations, you need the following files:

C-model (.dll model file) placed in one of the searched directories


Model library (.smd) containing C-model(s), installed in the Model Agent

Search Path for .dll Model Files


1.

Path of the simulated .ssh or .sml model file.

2.

Paths for .dll model files specified in OPTIONS>PROGRAM DIRECTORIES Search Paths.

3.

Path of Simplorer (binary) directory.

4.

Path of Windows directory.

5.

Path of Windows\System directory.

6.

Directory defined with an environment PATH variable.

Note

The path, defined in the Files tab of model properties, is not used in the search
algorithm.

C-models in Schematic
C-models appear in the Project Manager Components tree under Project Components. They can be
placed on a schematic sheet and used in a simulation model like any other Simplorer component.
The Properties window of a C-model lists the models parameters and nodes, as defined in the .dll
model file. Like any other Simplorer model, a customized component dialog can be designed using
the Component Editor.

19-42 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

C-models in SML Description


In the SML description of simulation models, user-defined C-models are defined with a UMODEL
model instance. The statement contains the model name, the instance name, the list of parameters,
and the name of the .dll model file containing the C-model definition.
See also Simplorer Modeling Language SML

UMODEL

Type name
Instance name

Attributes
List of
conservative
nodes

List of nonconservative
nodes

UMODEL

Keyword for internal simulator models.

Type name:

Name of the model in the model library.

Instance name:

User-defined name for using the model.

Conservative nodes:

List of conservative nodes (if existing) separated by a comma.

Non-conservative nodes: List of non-conservative nodes (if existing) separated by a comma.


Attributes:

The SRC attribute defines the .dll model file.

UMODEL VOL_CONST VOL_CONST1 H1:=N0002


File:="Hydraulic.dll") ;

( VOL:=100u ,B:=700meg ) SRC: DLL(

C-Models in Simplorer 19-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

C/C++ Function Reference


This section gives an overview about Simplorer specific C/C++ functions as well as callback functions and data types.

Data Types
The Data exchange of user defined C-models with Simplorer via the CModUser object requires the
use of some predefined data types. These data types are listed in the following:
Data Type

Usage

Example

BOOL

Logical values

TRUE, FALSE

CComplex

Storage of complex
numbers

CComplex a(2.0,3.0); //2.0+3.0i


CComplex b(-1.5,-4); //-1.5-4.0i
CComplex c; // 0.0+0.0i
c = a * b; // =9.0-12.5i

eAnlsType

Simulator analysis type

TR_, DC_, AC_

eDataType

Type of non-conservative
nodes

INTEGER_, REAL_,
ENUMERATION_, PHYSICAL_,
ARRAY_, RECORD_, FILE_,
STRING_, BOOL_, COMPLEX_,
CHAR_

eNature

Domain name of
conservative nodes

ELECTRICAL_, MAGNETIC_,
THERMAL_, TRANSLATIONAL _,
TRANSLATIONAL_V,
ROTATIONAL_, ROTATIONAL_V,
FLUIDIC_

eSolverType

Solving algorithm of the


electrical network
simulator

EULER_, TRAPEZOIDAL_

eUModType

Model type

UMODEL, UDCHAR

FCTDECL

Model function declaration FCTDECL simu( CModUser *pMod )


FCTDECL init_AC( CModUser
*pMod )

LPCTSTR

Pointer to a constant
character string

LPCTSTR name = "Resistor"

SIMFCT_UMODEL

Pointer to a model function

Flag

Simulator type

Flag

Filling type for RS entries D_DT_OPERAT, RS_DONTFILL

ECM, BDM, TFM

19-44 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

CUModDecl Object
The Simplorer C Interface provides a specialized C++ class to perform basic link operations of
Simplorer with the C-models. This class is named CUModDecl. It and its methods is only used in the
RegisterUserModel section of the model source code. There are three public methods to be used
by the programmer:
SetDefName
Assigns a name to the model.
void SetDefName( char *DefName )

DefName

Character string containing the model name.


In the RegisterUserModel section of the model's source code a name
has to be assigned to the model. This name must be unique in the .dll
model file. The model will be distinguished from the other models in the
.dll model file by Simplorer using this name.

FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )


{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( "IGBT_TA1" );
pUModDecl->SetModelType( UMODEL );
pUModDecl->SetSimPref( ECM );
break;
default:
break;
}
return TRUE;
}

C-Models in Simplorer 19-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetModelType
Assigns a model type to the component.
void SetModelType( eUModType Type )

Type

Model type.
This method is used to inform Simplorer about the model type. Simplorer
distinguishes between UMODEL and UDCHAR type C models. The first
are components with an arbitrary number of conservative and nonconservative pins and internal equations. The latter are used to represent
so called 'characteristics', relating an output to an input value. These kind
of models can be used as a parameter input for Simplorer internal
components or other C models.

FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )


{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( "XPO_LIM");
pUModDecl->SetModelType( UDCHAR );
break;
default:
break;
}
return TRUE;
}

19-46 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetSimPref
Assigns a simulator to the model.
SetSimPref( ULONG Sim)

Sim

Simulator: ECM, BDM, TFM.


With this method one of the Simplorer internal simulators will be
assigned to a component. There are three predefined simulators for these:
ECM: The electrical circuit simulator (for conservative systems), full
access to simulator equation system.
BDM: Block diagram simulator (for non-conservative systems), no
access to simulator equation system.
TFM: Time Function Module of the Simulator, no access to equation
system.
FCTDECL RegisterUserModel( long lIndex, CUModDecl *pUModDecl )
{
switch( lIndex )
{
case 0: pUModDecl->SetDefName( "IGBT_TA1" );
pUModDecl->SetModelType( UMODEL );
pUModDecl->SetSimPref( ECM );
break;
case 1: pUModDecl->SetDefName( "EXPO_LIM" );
pUModDecl->SetModelType( UDCHAR );
break;
default:
break;
}
return TRUE;
}

C-Models in Simplorer 19-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

CModUser Object Methods


The CModUser object is a C++ class provided by the Simplorer C Interface to enable communication between the C-models and the simulator. There is an instance of the CModUser object associated with every instance of a C-model. This object carries all necessary information about the
component instance. Number and kind of component nodes are stored as well as parameters, states,
and internal equations.
All model functions use CModUser objects as argument. A well-defined set of object methods
allows the programmer to manipulate and change the models properties. These methods are
described in the following sections. (See also the Technical Notes section for information on Time
Trigger Method extensions.)

CModUser object methods grouped by application area


The CModUser object methods can be grouped after their application area. For detailed information
about the different methods
See also Alphabetical List
DATA I/O
AddNode_c

Adds a conservative node to a model.

AddNode_nc

Adds a non-conservative node to a model.

AddSubNode_nc

Adds subnodes to an already defined non-conservative node.


This feature is used to vectorize nc-nodes.

GetDataTypeNode_nc

Returns the data type of a non-conservative node.

GetNode_ncParam

Returns the parameter string of a non-conservative node.

GetValNode_nc

Access the real value of a non-conservative node.

GetValNode_ncCplx

Access the complex value of a non-conservative node.

GetValNode_ncFile

Get file name through a non-conservative node.

GetValNode_ncStrg

Gets a character string through a non-conservative node.

GetValSubNode_nc

Gets a value from a non-conservative subnode (input vector


component).

IsCharConn

Checks if a Characteristic block is connected to a specified


node.

IsParamSetFlag

Checks if the parameter has been set by the user or the


default value is used.

SetDataTypeNode_nc

Sets the data type for a non-conservative node.

SetInfoNode__c

Assigns an information line to a conservative node.

SetInfoNode_nc

Assigns an information line to a non-conservative node.

19-48 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetNatureTypeNode__c Assigns a nature to a conservative node.


SetUnitNameNode_nc

Assigns a unit to a non-conservative nodes.

SetValNode_nc

Assigns a value to the a non-conservative node.

SetValNode_ncFile

Assigns a file name to a non-conservative node.

SetValPtrNode_nc

Assign a double pointer to a non-conservative node.

SetValSubNode_nc

Assigns a value to a non-conservative subnode (output vector


component).

Internal states
AddNode_State

Adds an internal state to a component model.

GetValNode_State

Returns the real value of an internal state value.

GetValNode_StateCplx Returns the value of the complex internal state.


SetValNode_State

Assigns a value to an internal state.

Equation system
GetCplxSVVal

Returns the value of a complex solution vector element.

GetDSVVal

Returns the real temporal derivative value of a solution


vector element.

GetSVVal

Returns the real value of a solution vector element

SetCplxGSEntry

Sets the complex value of an entry in the Jacobian matrix.

SetCplxRSEntry

Sets the complex value of an entry in the right side entries


vector.

SetRealGSEntry

Sets the real value of an entry in the Jacobian matrix


elements.

SetRealRSEntry

Sets the real value of an entry in the right side entries vector.

SetSVVal

Assigns a value to the solution vector.

SetSymbolicGSEntry

Marks a non-vanishing Jacobian matrix element.

Model identification
GetDefName

Returns the definition name of the model.

GetHierName

Returns the hierarchical name of the model.

GetUseName

Returns the model instance name.

Miscellaneous
AllocateUserDataMemo Allocates memory for the storage of instance specific data.
ry

C-Models in Simplorer 19-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetAnalysisType

Returns the current analysis type.

GetDCUserData

Retrieves a DC operating point for use in AC analysis.

GetUserData

Access of instance specific user defined data block.

IsTransientOP

Checks, if the simulator calculates the transient operating


point. This is done before a transient simulation.

SetUModCloseFct

Assigns a close function to the model.

SetUModInitFct

Assigns an initialize function to the model.

SetUModPrepFct

Assigns a prepare function to the model.

SetUModSimFct

Assigns a simulate function to the model.

SetUModValidFct

Assigns a validate function to the model.

SetUserData

Storage of arbitrary instance specific user data memory.

Alphabetical List of CModUser object methods


The section provides a complete alphabetical list of CModUser object methods including parameter
explanations.

AddAvailableAnalysisType
Adds an analysis type to a component.
This method is used to inform the Simplorer simulator about the analysis types supported by the
component. It is generally used in conjunction with the definition of model functions during
model registration
BOOL AddAvailableAnalysisType( eAnlsType Type, char *pszFreeName = NULL
);

Type

Analysis type. Predefined values are TR_, AC_ and DC_.

pszFreeName

If FREE_ANLS is declared, a string that defines the analysis type per


string.

CModUser *pMod;
pMod->AddAvailableAnalysisType(TR_);

Sections

RegisterUMODELFct

See also GetAnalysisType, SetUMODPrepFct, SetUMODInitFct, SetUMODSimFct,


SetUMODValidFct, SetUMODCloseFctAddNode_nc

19-50 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

AddNode__c
Adds conservative nodes to component.
Components in conservative systems must have conservative nodes to allow connection
with other systems of the same domain. Assigned with such a node is in every domain a
flow and a potential variable. For example in electrical systems
(NatureName=NATURE_NAME_ELECTRICAL_) these are electrical current or
voltage; in the case of translational mechanical systems
(NatureName=NATURE_NAME_TRANSLATIONAL_) these are force or velocity.
void AddNode__c( LPCTSTR Name, enum eNature Nat=ELECTRICAL_ )
void AddNode__c( LPCTSTR Name, LPCTSTR NatureName )

Name

Unique name of the node within the component.

Nat

Nature of the node: ELECTRICAL_ is default. See Definition


eNature.

NatureName

String representation of nature name. Predefined values are:


NATURE_NAME_ELECTRICAL_,
NATURE_NAME_MAGNETIC_,
NATURE_NAME_THERMAL_,
NATURE_NAME_TRANSLATIONAL_,
NATURE_NAME_TRANSLATIONAL_V_,
NATURE_NAME_ROTATIONAL_,
NATURE_NAME_ROTATIONAL_V_,
NATURE_NAME_FLUIDIC_

CModUser *pMod;
pMod->AddNode__c( "np" ); //Electrical is default
pMod->AddNode__c("hipres", FLUIDIC_ );
pMod->AddNode__c("flange1", NATURE_NAME_ROTATIONAL_);

Sections

Prepare

See also AddNode_nc, AddNode_State, SetInfoNode__c, SetNatureTypeNode__c

C-Models in Simplorer 19-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

AddNode_nc
Adds non-conservative nodes to component.
Non-conservative nodes are used to pass values in and out of a model. They can represent
parameters, initial conditions or even time dependent signals.
int AddNode_nc( LPCTSTR Name, double Val=0, long Dir=DIROUT, BOOL
Vec=FALSE )
int AddNode_nc( LPCTSTR Name, LPCTSTR Use, long Dir=DIROUT, BOOL Vec=FALSE
)

Name

Unique name of the node.

Val

Default value.

Use

Default string value for the Node_nc, for example data.mdx.

Dir

Signal direction of port. Output direction is default. (DIRIN, DIROUT,


DIRINOUT)

Vec

Specifies whether the Node_nc is a vector, and can have subnodes.

Return value

Index of the non-conservative node within the model.

CModUser *pMod;pMod->AddNode_nc( "V0", 12.9, DIRIN );


pMod->AddNode_nc( "filename", "data.out", DIRIN );
pMod->AddNode_nc( "Power", 0.0 ); // DIROUT is default

Sections

Prepare

See also AddNode_nc, AddNode_State, GetValNode_nc, SetDataTypeNode_nc,


SetValNode_nc, SetInfoNode_nc.

19-52 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

AddNode_State
Adds subnodes to an appropriate non-conservative node.
Input and output nodes of C-models can be vectorized. For this, an already added nonconservative node can be extended using this function. The node must be added using
the Vec-flag in its AddNode_nc call.
int AddNode_State( LPCTSTR Name, double dVal=0 )

Name

Unique name of the internal state within the model.

dVal

Default value.

Return value

Index of the internal state within the model.

CModUser *pMod;
pMod->AddNode_State( "Heatshieldtemperature" );
pMod->AddNode_State( "Warpfactor", 7.3 );
pMod->AddNode_State( "On_Off", 0.0 );

Sections

Prepare

See also AddNode__c, AddNode_nc, GetValNode_State, GetValNode_StateCplx,


SetValNode_State, SetInfoNode_nc.

AddSubNode_nc
Adds non-conservative nodes to component.
Non-conservative nodes are used to pass values in and out of a model. They can represent
parameters, initial conditions or even time dependent signals.
long AddSubNode_nc( LPCTSTR Name, long lndex, double Val, long Dir );
long AddSubNode_nc( LPCTSTR Name, long Index, LPCTSTR Use, long Dir );

Name

Name of the nonconservative base node

Val

Default value.

Use

Default string value for the Node_nc, for example data.mdx.

Dir

Signal direction of port. Output direction is default. (DIRIN, DIROUT,


DIRINOUT)
pMod->AddNode_nc( "InputVec", 0, DIRIN, TRUE );
for (i=0; i<4; i++) pMod->AddSubNode_nc( "InputVec", i, 0, DIRIN );

Sections

Prepare

See also AddNode_nc, AddNode_State, AddSubNode_nc, GetValNode_nc,


GetValSubNode_nc, SetDataTypeNode_nc, SetValNode_nc, SetValSubNode_nc

C-Models in Simplorer 19-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

AllocateUserDataMemory
Allocates memory for the storage of instance specific data.
The method is used to allocate a memory block to store instance specific data. The allocated
memory block can be accessed after allocating from every model function in every analysis type.
It is for example used to store the DC operating point after DC analysis for further use in AC
analysis.
void *AllocateUserDataMemory( long size )

size

Size of the user data in bytes.

Return value

Pointer to the memory block.

CModUser *pMod;
struct UD { double d1; int cnt; };
UD *pData = (UD*)pMod->AllocateUserDataMemory( sizeof( UD ) );
pMod->SetUserData( pData, sizeof( UD ) );
pData->d1 = 1.5;
pData->cnt = 30;

Sections

Init, Validate, Close

See also GetDCUserData, GetUserData, SetUserData.

GetAnalysisType
Returns current analysis type.
Returns the Analysis type to inform the model about currently applied analysis type. Can be used
for example when introducing analysis dependent functionality or equation sets.
eAnlsType GetAnalysisType()

Return value

Analysis type TR_, DC_ or AC_.

CModUser *pMod;
if (pMod->GetAnalysisType() == TR_ )
pMod->SetUMODInitFct( INIT_FCN_TR );

Sections

RegisterUMODELFct(*CModUser), (or anywhere)

See also AddAvailableAnalysisType, SetUMODPrepFct, SetUMODInitFct, SetUMODSimFct,


SetUMODValidFct, SetUMODCloseFct.

19-54 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetCplxSVVal
Returns complex solution vector elements.
In general the solution vector in AC analysis consists of complex elements. The method returns
such a complex vector element.
CComplex GetCplxSVVal( int LineNo )

LineNo

Number of solution vector element (starting at 0).

Return value

Complex solution vector element.

CModUser *pMod;
CComplex V1 = pMod->GetCplxSVVal(0);
CComplex V2 = pMod->GetCplxSVVal(1);

Sections

Simulate (AC), Validate (AC), Close (AC), Init(AC)

See also GetSVVal, SetCplxGSEntry, SetCplxRSEntry, SetSVVal

GetDataTypeNode_nc
Returns data type of non-conservative nodes.
Returns the data type of non-conservative nodes. Predefined values are INTEGER_, REAL_,
ENUMERATION_, PHYSICAL_, ARRAY_, RECORD_, FILE_, STRING_, BOOL_,
COMPLEX_ and CHAR_.
eDataType GetDataTypeNode_nc( LPCTSTR Name )
eDataType GetDataTypeNode_nc( int NodeNo )

Name

Name of non-conservative node

NodeNo

Number of non-conservative node (starting at 0). Can be determined by


the return value of AddNode_nc.

Return value

Data type of non-conservative node.

CModUser *pMod;
char sn[100];
double dn;
if ( pMod->GetDataTypeNode_nc( "Pin1" ) == STRING_ )
strcpy( sn, pMod->GetValNode_ncStrg( "Pin1" ) )
else
double dn = pMod->GetValNode_nc( "Pin1" );

Sections

Init, Simulate, Validate, Close

See also GetValNode_nc, SetDataTypeNode_nc, SetValNode_nc

C-Models in Simplorer 19-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetDefName
Returns definition name of the model.
Returns the name that has been given in RegisterUserModel section with SetDefName.
LPCTSTR GetDefName()

Return value

Definition name of model.

CModUser *pMod;
char modelname[100];
strcpy( modelname, pMod->GetDefName() );

Sections

Prepare, Init, Simulate, Validate, Close.

See also GetHierName, GetUseName.

GetDCUserData
Retrieves a DC operating point for use in AC analysis.
The method is used to access the operating point data in an AC analysis already stored in a
preceding DC analysis. Since the AC version of a model can use its own user data, this function
allows a non-interfering access to the separate DC data block. The simultaneously returned size
information can be used to double-check the validity of the data.
void *GetDCUserData( long *size )

size

Returned value of the DC user data memory size in bytes.

Return value

Pointer to the DC user data block.

struct sDCOP { double cap, res; };


//...
FCTDECL SIMU_AC( pMod )
{
long DCOPsize;
sDCOP *pUserData = (sDCOP*)pMod->GetDCUserData( &DCOPsize );
double cap = pUserData->cap;
double res = pUserData->res;
//...
}

Sections

Init (AC), Simulate (AC), Validate (AC), Close (AC).

See also AllocateUserDataMemory, GetUserData, SetUserData.

19-56 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetDSVVal
Returns temporal derivative of a solution vector element.
Returns the temporal derivative of a solution vector element in transient analysis.
double GetDSVVal( int LineNo )

LineNo

Number of solution vector element (starting at 0).

Return value

Temporal derivative of a real value of a solution vector element,


specified by the LineNo parameter.

CModUser *pMod;
double position = pMod->GetSVVal(3);
double velocity = pMod->GetDSVVal(3);

Sections

Init, Simulate (TR), Validate (TR), Close (TR).

See also GetSVVal, GetValNode_nc.

GetHierName
Returns the hierarchical name of the model.
When the model is situated within subsheets or macros this function returns the path to the model,
for example subsheet1.
LPCTSTR GetHierName()

Return value

Hierarchical name without model instance name.

CModUser *pMod;
char hname[100];
strcpy( hname, pMod->GetHierName() );

Sections

Prepare, Init, Simulate, Validate, Close.

See also GetDefName, GetUseName.

C-Models in Simplorer 19-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetNode_ncParam
Returns the parameter string of a non-conservative node.
If a number is set, the function returns an empty string; otherwise, it returns the name of the
connected value.
LPCTSTR GetNode_ncParam(LPCTSTR lpszName);
LPCTSTR GetNode_ncParam(int iNr);
lpszName
Name of non-conservative node.
iNr

Number of non-conservative node (starting at 0) within


the model.

Return value

Parameter string or ""

CModUser *pMod;
LPCTSTR strParam1, strParam2;
strParam1 = pMod->GetNode_ncParam ( "Parameter_1" );
strParam2 = pMod->GetNode_ncParam ( 7 );

Sections

Prepare, Init, Simulate, Validate, Close.

GetSVVal
Returns real solution vector element.
In every analysis type, solution vector elements are provided by Simplorer for further calculation
and evaluation. The method is used to access the real value of a solution vector elements.
double GetSVVal( int LineNo)

LineNo

Number of solution vector element (starting with 0).

Return value

Real solution vector element.

CModUser *pMod;
V1 = pMod->GetSVVal(0);
position = pMod->GetSVVal(3);

Sections

Simulate, Validate, Close, Init.

See also GetDSVVal, SetSVVal, GetValNode_nc, GetValNode_State.

19-58 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetUseName
Returns model instance name.
Several instances of one model in a simulation model (sheet) can be distinguished by their userdefined instance name. The method is used to access to the actual instance name of the model.
LPCTSTR GetUseName()

Return value

Model instance name.

CModUser *pMod;
char message[100];
strcpy( message, pMod->GetUseName() );
strcat( message, " says hello! " );
Report2Sim( pMod, UMOD_INF, message );

Sections

Prepare, Init, Simulate, Validate, Close.

See also GetDefName, GetHierName.

GetUserData
Access an instance-specific user-defined data block.
For the storage of instance specific model data, the user data-structure can be used. For every
simulation mode (TR, DC, AC) a separate memory data block can be used and accessed by this
method.
void *GetUserData( long *size )

size

Returned value of the memory size of the user data block.

Return value

Pointer to the user data block.

struct UD { double d1; int ii; };


//....
long UDsize;
UD *pUD = (UD*)pMod->GetUserData( &UDsize );
double d1new = pUD->d1;
int cnt = pUD->ii;

Sections

Init, Simulate, Validate, Close.

See also AllocateUserDataMemory, GetDCUserData, SetUserData.

C-Models in Simplorer 19-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetValNode_nc
Access a value of a non-conservative node.
Signal values at non-conservative nodes like initial values or parameters can be accessed through
this method. The use with characteristics is explained below.
double GetValNode_nc( LPCTSTR Name)
double GetValNode_nc(intNo)

Name

Name of non-conservative node.

No

Number of non-conservative node (starting at 0) within the model.

Return value

Real value of signal at non-conservative node or y=f(x) when connected


to a characteristics.

CModUser *pMod;
double v = pMod->GetSVVal(0) - pMod->GetSVVal(1);
double torque1 = pMod->GetValNode_nc( "Flange1" );
double input3 = pMod->GetValNode_nc( 3 );

Sections

Init, Simulate, Validate, Close.

See also GetValNode_ncCplx, GetValNode_ncFile, GetValNode_ncStrg.

GetValNode_nc (for use with characteristics)


Access a value of a non-conservative node connected to characteristic.
The method enables the communication with characteristics, used to describe nonlinear relations,
for example electrical current as a function of voltage. The characteristics returns also the partial
derivative most likely needed as an Jacobian entry.
double GetValNode_nc( LPCTSTR Name, double x, double* dy_dx = NULL, )
double GetValNode_nc(int No double x, double* dy_dx = NULL, )

Name

Name of non-conservative node.

No

Number of non-conservative node (starting at 0) within the model.

X value to be send to a characteristics which calculates y=f(x).

dy_dx

Partial derivative y/x returned by a characteristic.

Return value

y=f(x) when connected to a characteristics.

CModUser *pMod;
double i, v, di_dv;
i = pMod->GetValNode_nc( "CH", v, &di_dv );

Sections

Init, Simulate, Validate, Close.

See also GetValNode_ncCplx, GetValNode_ncFile, GetValNode_ncStrg.

19-60 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetValNode_ncCplx
Access complex value of a non-conservative node.
Especially in the case of AC simulations the exchange of complex signals between components is
frequently used. This method accesses complex signals fed to non-conservative nodes.
CComplex GetValNode_ncCplx( LPCTSTR Name)
CComplex GetValNode_ncCplx( int No )

Name

Name of non-conservative node.

No

Number of non-conservative node (starting at 0) within the model.

Return value

Complex node value.

CModUser *pMod;
CComplex impedance, shift(1, pi);
impedance = pMod->GetValNodeCplx( "Zport" );
impedance = impedance * shift;

Sections

Init (AC), Simulate (AC), Validate (AC), Close (AC).

See also GetValNode_nc, GetValNode_ncFile, GetValNode_ncStrg.

GetValNode_ncFile
Gets a file name through non-conservative node.
Models with included file input/output can use file names as input parameters. These names are
passes to the model via non-conservative nodes. The file name is accessed by using the
GetValNode_ncFile method.
LPCTSTR GetValNode_ncFile( LPCTSTR Name)
LPCTSTR GetValNode_ncFile(int No)

Name

Name of non-conservative node.

No

Number of non-conservative node (starting at 0) within the model.

Return value

File name.

CModUser *pMod;
char parafil[20], logfile[25];
strcpy( parafil, pMod->GetValNode_ncFile( "P_f" ) );
strcpy( logfile, pMod->GetValNode_ncFile( 7 ) );

Sections

Prepare, Init, Simulate, Validate, Close.

See also GetValNode_nc, GetValNode_ncCplx, GetValNode_ncStrg.

C-Models in Simplorer 19-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetValNode_ncStrg
Get a character string through a non-conservative node.
Besides numerical values, it might be necessary to pass character strings such as file
names, messages, or expressions to components. These strings are passes to the model
via non-conservative nodes.
LPCTSTR GetValNode_ncStrg( LPCTSTR Name)
LPCTSTR GetValNode_ncStrg(int No)

Name

Name of non-conservative node.

No

Number of non-conservative node (starting at 0) within the model.

Return value

Character string.

CModUser *pMod;
char messg[20], formula[250];
strcpy( messg, pMod->GetValNode_ncFile( "Signal" ) );
strcpy( formula, pMod->GetValNode_ncFile( 2 ) );
Report2Sim( pMod, UMOD_INF, messg );

Sections

Prepare, Init, Simulate, Validate, Close.

See also GetValNode_nc, GetValNode_ncCplx, GetValNode_ncFile.

GetValNode_State
Retrieves real internal state value.
Internal states are used to store instance specific values or signals. The real values of these
internal states can be accessed by using this method. Internal states are preferable compared to
global variables whenever applicable.
double GetValNode_State( LPCTSTR Name )
double GetValNode_State( int No )

Name

Name of state used in AddNode_State.

No

Number of state (starting at 0) within the model.

Return value

Real value of internal state.

CModUser *pMod;
double stateofcharge = pMod->GetValNode_State("SOC");
double T = pMod->GetValNode_State( 3 );

Sections

Simulate, Validate, Close.

See also AddNode_State, GetValNode_StateCplx, SetValNode_State.

19-62 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GetValNode_StateCplx
Retrieves complex internal state value.
Internal states are used to store instance specific values or signals. The complex values of these
internal states can be accessed by using this method. Internal states are preferable compared to
global variables whenever applicable.
CComplex GetValNode_StateCplx( LPCTSTR Name )
double GetValNode_StateCplx( int No )

Name

Name of state used in AddNode_State.

No

Number of state (starting at 0) within the model.

Return value

Complex value of internal state.

CModUser *pMod;
CComplex CSignal = pMod->GetValNode_StateCplx("CS");

Sections

Simulate, Validate, Close.

See also AddNode_State, GetValNode_Stat, SetValNode_State.

GetValSubNode_nc
Retrieves the value of an input vector element
Components of vectorized non-conservative input nodes need to be accessed element-wise using
this function.
double GetValSubNode_nc( LPCTSTR Name, long Index );

Name

Name of the non-conservative base node.

Index

Index of the vector element, starting at 0.

double
double
double
double

Sections

x
y
z
t

=
=
=
=

pMod->GetValSubNode_nc(
pMod->GetValSubNode_nc(
pMod->GetValSubNode_nc(
pMod->GetValSubNode_nc(

"Space_time_Vector",
"Space_time_Vector",
"Space_time_Vector",
"Space_time_Vector",

0
1
2
3

);
);
);
);

Simulate, Validate, Close.

See also AddNode_nc, AddSubNode_nc, GetValNode_nc

C-Models in Simplorer 19-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IsCharConn
Check, if a characteristic is connected to a non-conservative node.
When using a node for connecting an external characteristics block to the C-model, it is very
important to really connect such a special block to this nc-node. When connecting other blocks to
this node, the results may be completely wrong. This function returns TRUE in case of a
characteristics is connected to the node and FALSE in all other cases.
BOOL IsCharConn(LPCTSTR Name);

Name

Name of the non-conservative node

if ( !pMod->IsCharConn("ChNode") ){
Report2Sim(pMod, UMOD_ERR, "There is no Char-Block connected
at node 'ChNode'!");
return FALSE;
}

Sections

Initialize.

See also GetValNode_nc

IsParamSetFlag
Checks if default parameter values has been changed by the user.
Non-conservative model inputs usually have a default value. This method allows to
sense the change of these parameters from default values.
BOOL IsParamSetFlag( LPCTSTR Name )

Name

Name of non-conservative node.

Return value

Flag indicating parameter change. TRUE, if the user has explicitly


set this parameter, FALSE if no changes to the parameter value are
made by the user, and the default value is used.

CModUser *pMod;
double pp;
if ( pMod->IsParamSetFlag( "P1" ) )
pp = pMod->GetValNode_nc( "P1" )
else
pp = DEFAULT_P1;

Sections

Init, Simulate.

See also GetValNode_nc.

19-64 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

IsTransientOP
Check, if simulator is calculating transient operating point.
Before every transient simulation, the Simulator performs an operating point analysis.For
example, initial values of capacitors and inductors are set, if they are specified. If they are not
specified, the simulator has to calculate reasonable starting values for the transient simulation. For
this calculation, most models need to have a special equation system. This special system can be
selected by monitoring the function return value. It is TRUE in case the simulator is calculating
the transient operating point and FALSE all other times.
BOOL IsTransientOP();
if ( pMod->IsTransientOP() ) {
// Use special Transient OP equation set
...
} else {
// Normal TR equation set
...
};

Sections

Simulate.

C-Models in Simplorer 19-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetCplxGSEntry
Sets complex entry in the Jacobian matrix.
For AC analysis the coefficients of the equation system to be solved are complex. This method is
used to enter these complex values into the Jacobian matrix. It also allows to enter multiple
additive values at the entry sites. This is might be necessary when filling the right side of the
equation system automatically.
BOOL SetCplxGSEntry(long Row, long Col, const CComplex &Val)
BOOL SetCplxGSEntry(long Row, long Col, const CComplex &Val, long sub)

Row

Row number of Jacobian entry (starting at 0).

Col

Column number of Jacobian entry (starting at 0).

Val

Complex value to be entered into matrix

sub

Index of subentry in case of overloaded Jacobian entries

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
CComplex z1(1.3,-2.2), z2(2.0,3.3);
CComplex jw = ISIM_ECM_P( pMod );
pMod->SetCplxGSEntry( 0, 2, z1
);
pMod->SetCplxGSEntry( 1, 3, z2
, 0 );
pMod->SetCplxGSEntry( 1, 3, 2.0 * jw, 1 );

Sections

Init (AC), Simulate (AC).

See also SetCplxRSEntry, SetRealGSEntry.

SetCplxRSEntry
Sets a complex right side entry.
The automatic filling of the right side is only possible for linear equations. All nonlinear systems
require to fill the right side of the equations manually. In AC analysis the right side entries are
complex numbers. They are set using the SetCplxRSEntry method.
BOOL SetCplxRSEntry( long No, const CComplex &Val )

No

Number of right side entry (starting at 0) within the model.

Val

Complex value to be set.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
CComplex z(1.2, 3.14)
pMod->SetSymbolicGSEntry( 1, 3, 0, RS_DONTFILL );
pMod->SetCplxRSEntry( 1, z );

Sections

Init (AC), Simulate (AC).

See also SetCplxGSEntry, SetRealGSEntry, SetRealRSEntry, SetSymbolicGSEntry.


19-66 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetDataTypeNode_nc
Sets a data type for a non-conservative node.
To every non-conservative node, a specific data type can be assigned. This can be done in the
Model Agent after introducing the model to Simplorer or in the model itself using this method.
BOOL SetDataTypeNode_nc( LPCTSTR Name, eDataType DataType )
BOOL SetDataTypeNode_nc( int No, eDataType DataType )

Name

Name of a non-conservative node as set in AddNode_nc.

No

Index of a non-conservative node (starting at 0) within the model.

DataType

Data type to be set. Valid entries are INTEGER_, REAL_,


ENUMERATION_, PHYSICAL_, ARRAY_, RECORD_, FILE_,
STRING_, BOOL_, COMPLEX_ and CHAR_.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
pMod->AddNode_nc( "Z", 0.0, DIRIN );
pMod->AddNode_nc( "name", "Ralf", DIRIN );
pMod->SetDataTypeNode_nc( "Z", COMPLEX_ );
pMod->SetDataTypeNode_nc( 1, STRING_ );

Sections

Prepare.

See also Addnode_nc, GetValNode_nc, SetInfoNode_nc, SetNatureTypeNode__c.

C-Models in Simplorer 19-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetInfoNode__c
Assigns information line to conservative pins.
To every conservative node an info line can be assigned. This info line shall describe the meaning
or function of the node. The text line can be assigned in the Model Agent or in the model source
code. Info lines can be assigned in various languages (english is default). According to the
language selected in Simplorer the correct line will be displayed.
void SetInfoNode__c( LPCTSTR Name, LPCTSTR Info, LANGID lLangID =
MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US) )
void SetInfoNode__c( int No, LPCTSTR Info, LANGID lLangID =
MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US) )

Name

Name of the conservative node as set in AddNode__c.

No

Index of the conservative node (starting at 0) within the model.

Info

Info line to be displayed in Simplorer Schematic and Model Agent.

lLangID

Language ID as obtained from the MAKELANGID function (see Visual


C++ Manual).

CModUser *pMod;
pMod->SetInfoNode__c( "V1", "Voltage" );
pMod->SetInfoNode__c( "V1", "Spannung", MAKELANGID( LANG_GERMAN,
SUBLANG_GERMAN ) );

Sections

Prepare.

See also Addnode__c, SetInfoNode_nc, SetNatureTypeNode__c, SetUnitNameNode_nc.

19-68 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetInfoNode_nc
Assigns an information line to non-conservative nodes.
To every non-conservative node an info line can be assigned. This info line shall describe the
meaning or function of the node. The text line can be assigned in the Model Agent or in the model
source code. Info lines can be assigned in various languages (english is default). According to the
language selected in Simplorer, the correct line will be displayed.
void SetInfoNode_nc( LPCTSTR Name, LPCTSTR Info, LANGID lLangID =
MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US) )
void SetInfoNode_nc( int No, LPCTSTR Info, LANGID lLangID =
MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US) )

Name

Name of the non-conservative node as set in AddNode_nc.

No

Index of the non-conservative node (starting at 0) within the model.

Info

Info line to be displayed in Simplorer Schematic/Model Agent.

lLangID

Language ID as obtained from the MAKELANGID function (see Visual


C++ Manual).

CModUser *pMod;
pMod->SetInfoNode_nc( "R", "Resistance" );
pMod->SetInfoNode_nc( "R", "Widerstand", MAKELANGID( LANG_GERMAN,
SUBLANG_GERMAN ) );

Sections

Prepare.

See also Addnode_nc, SetInfoNode__c, SetUnitNameNode_nc.

C-Models in Simplorer 19-69

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetNatureTypeNode__c
Assigns a nature to a conservative node.
The method is used to assign a nature type to a conservative node. Simplorer can
simulate dynamic systems in multiple physical domains. In every domain, there are
potential and flow variables assigned to conservative nodes. Such an assignment is
called the nature of the node. Simplorer prevents the unintentional connection of nodes
of different domains. Therefore the user has to assign a nature to every conservative
node. When creating conservative nodes using AddNode__c, the electrical nature is
default.
BOOL SetNatureTypeNode__c( LPCTSTR Name, LPCTSTR NatureName )

Name

Name of the conservative node as assigned in AddNode__c.

NatureName

Name of the Nature. Valid predefined entries are:


NATURE_NAME_ELECTRICAL_,
NATURE_NAME_MAGNETIC_,
NATURE_NAME_THERMAL_,
NATURE_NAME_TRANSLATIONAL_,
NATURE_NAME_TRANSLATIONAL_V_,
NATURE_NAME_ROTATIONAL_,
NATURE_NAME_ROTATIONAL_V_,
NATURE_NAME_FLUIDIC_

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
pMod->SetNatureTypeNode__c( "V1",
NATURE_NAME_ELECTRICAL_ );
pMod->SetNatureTypeNode__c( "p2",
NATURE_NAME_FLUIDIC_ );

Sections

Prepare.

See also AddNode__c, SetInfoNode__c.

19-70 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetRealGSEntry
Sets a Jacobian matrix element.
The method is used to enter real values into the Jacobian matrix. It also allows to enter multiple
additive values at the entry sites. This is might be necessary when filling the right side of the
equation system automatically.
BOOL SetRealGSEntry( long Row, long Col, double Val )
BOOL SetRealGSEntry( long Row, long Col, double Val, long sub )

Row

Row number of Jacobian entry (starting at 0).

Col

Column number of Jacobian entry (starting at 0).

Val

Real value to be entered into the matrix.

Sub

Index of the subentry for overloaded Jacobian entries.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
double r1 = 10.0;
double r2 = 2.3;
double dh = ISIM_ECM_D_DT( pMod );
pMod->SetRealGSEntry( 0, 2, r1
);
pMod->SetRealGSEntry( 1, 3, r2,
0 );
pMod->SetRealGSEntry( 1, 3, 2.0*dh, 1 );

Sections

Init, Simulate.

See also Set CplcGSEntry, SetRealRSEntry.

SetRealRSEntry
Sets a right side entry at a defined position.
The automatic filling of the right side is only possible for linear equations. All nonlinear systems
require to fill the right side of the equations manually. For real entries this is done using the
SetRealRSEntry method.
BOOL SetRealRSEntry( long No, double Val ))

No

Index of right side entry (starting at 0) within the model.

Val

Real value to be set.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
pMod->SetSymbolicGSEntry( 1, 3, 0, RS_DONTFILL );
pMod->SetRealRSEntry( 1, -2.7 );

Sections

Init, Simulate.

See also SetCplxGSEntry, SetCplxRSEntry, SetRealGSEntry, SetSymbolicGSEntry.

C-Models in Simplorer 19-71

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetSVVal
Assigns a value to the solution vector.
The method is used for the assignment of initial conditions to the elements of the
solution vector. It assigns real as well as complex quantities to the solution vector.
Complex quantities are only used in AC analysis.
BOOL SetSVVal( int No, double dVal )
BOOL SetSVVal( int No, const CComplex &cVal )

No

Number of the solution vector element (starting at 0) within the


model.

dVal

Real value to be assigned.

cVal

Complex value to be assigned.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
CComplex z1(1.7, -3.1);
pMod->SetSVVal( 0, 230.0 );
pMod->SetSVVal( 3, z1 );

Sections

Init.

See also GetDSVVal, GetSVVal, SetValNode_nc.

19-72 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetSymbolicGSEntry
Marks non-vanishing Jacobian matrix elements.
Before filling the Jacobian matrix with real or complex entries the simulator has to be informed
about the non-vanishing entries of the matrix. Several additive terms can be filled at one entry site
using the subentry functionality. The method is mainly used in the case of automatically filling
the right side vector. Several predefined flag values can be combined using the '|' (OR-) operator:
D_DT_OPERAT|RS_DONTFILL.
BOOL SetSymbolicGSEntry( long Row, long Col )
BOOL SetSymbolicGSEntry( long Row, long Col, long sub, long Flag=0L )

Row

Row number of the Jacobian entry (starting at 0).

Col

Column number of the Jacobian entry (starting at 0).

Sub

Index of the subentry in case of an overloaded Jacobian entries.

Flag

Flag to announce special entries to the simulator. Predefined are


D_DT_OPERAT for entries containing a temporal derivative and
RS_DONTFILL to prevent the simulator from automatic filling of the
right side vector for this particular entry.

Return Value

TRUE if successful, FALSE if not.

CModUser *pMod;
SetSymbolicGSEntry( 0, 0 );
SetSymbolicGSEntry( 1, 2, 0, RS_DONTFILL );
SetSymbolicGSEntry( 1, 2, 1,RS_DONTFILL|D_DT_OPERAT );

Sections

Prepare.

See also SetCplxGSEntry, SetRealGSEntry.

SetUModCloseFct
Assigns a close function to the model.
In the RegisterUMODELFct function of the source code, the model functions have to be
announced to the Simplorer simulator. The method is used to announce the Close function, which
is used for final clean up after simulation run.
void SetUMODCloseFct( SIMFCT_UMODEL pFct )
pFct
Pointer to a model function of type FCTDECL function(*CModUser).
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
pMod->SetUMODCloseFct( modelclose );
return TRUE;
}

Sections

RegisterUMODELFct.

See also SetUMODInitFct, SetUMODPrepFct, SetUMODSimFct, SetUMODValidFct.


C-Models in Simplorer 19-73

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetUModInitFct
Assigns an initialize function to the model.
In the RegisterUMODELFct function of the source code, the model functions have to be announced
to the Simplorer simulator. The method is used to announce the Initialize function, where the
component initialization is performed.
void SetUMODInitFct( SIMFCT_UMODEL pFct )
pFct
Pointer to a model function of type FCTDECL function(*CModUser).
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
pMod->SetUMODInitFct( ini_func );
return TRUE;
}

Sections

RegisterUMODELFct.

See also SetUMODCloseFct, SetUMODPrepFct, SetUMODSimFct, SetUMODValidFct.

SetUModPrepFct
Assigns a prepare function to the model.
In the RegisterUMODELFct function of the source code, the model functions have to be announced
to the Simplorer simulator. The method is used to announce the Prepare function, where all the
nodes and internal states of the model are defined.
void SetUMODPrepFct( SIMFCT_UMODEL pFct )
pFct
Pointer to a model function of type FCTDECL function(*CModUser).
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
pMod->SetUMODPrepFct( model_basics );
return TRUE;
}

Sections

RegisterUMODELFct.

See also SetUMODCloseFct, SetUMODInitFct, SetUMODSimFct, SetUMODValidFct.

19-74 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetUModSimFct
Assigns a simulate function to the model.
In the RegisterUMODELFct function of the source code, the model functions have to be announced
to the Simplorer simulator. The method is used to announce the Simulate function, where the
mathematical model description is computed.
void SetUMODSimFct( SIMFCT_UMODEL pFct )
pFct
Pointer to a model function of type FCTDECL function(*CModUser).
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
switch( pMod->GetAnalysisType() )
{
case DC_:
pMod->SetUModSimFct( SIM_DC );
break;
case TR_:
pMod->SetUModSimFct( SIM_TR );
break;
case AC_:
pMod->SetUModSimFct( SIM_AC );
break;
default:
break;
}
}

Sections

RegisterUMODELFct.

See also SetUMODCloseFct, SetUMODInitFct, SetUMODPrepFct, SetUMODValidFct.

C-Models in Simplorer 19-75

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetUModValidFct
Assigns a simulate function to the model.
In the RegisterUMODELFct function in the source code, the model functions have to be announced
to the Simplorer simulator. The method is used to announce the Validate function, which is called
after every complete time step.
void SetUMODValidFct( SIMFCT_UMODEL pFct )
pFct
Pointer to a model function of type FCTDECL function(*CModUser).
FCTDECL RegisterUMODELFct( CModUser *pMod )
{
pMod->SetUMODValidFct( model_basics );
return TRUE;
}

Sections

RegisterUMODELFct.

See also SetUMODCloseFct, SetUMODInitFct, SetUMODPrepFct, SetUMODSimFct.

SetUnitNameNode
Assigns units to non-conservative nodes.
Simplorer components can provide the units of its non-conservative nodes in the Schematic. The
method is used to assign the units. Since this values are used to inform the user only, there is no
restriction in unit names.
void SetUnitNameNode_nc( LPCTSTR Name, LPCTSTR Unit )
void SetUnitNameNode_nc( int No, LPCTSTR Unit )

Name

Name of the non-conservative node as assigned in AddNode_nc.

No

Index of the non-conservative node (starting at 0) within the model.

Unit

String representing the unit of the quantity in or out of the model.


CModUser *pMod;
pMod->SetUnitNameNode_nc( 0, "Volts" );
pMod->SetUnitNameNode_nc( "i_dens", "A/sqfeet" );
pMod->SetUnitNameNode_nc( "speed", "Warp" );

Sections

Prepare.

See also AddNode_nc, SetInfoNode_nc.

19-76 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetUserData
Storages arbitrary instance specific user data memory.
It is often useful to re-use or exchange data in several model functions. The user data structure
allows to avoid the use of global variables which would cause interference with other instances of
the same model. The method is used to connect the user data to the model instance for further
access using the GetUserData function.
BOOL SetUserData( void *userdata, long size );

userdata

Pointer to the user data memory block.

size

Size of the user data memory in bytes.

Return value

TRUE if successful, FALSE if not.

struct UD { double d1; int ii; };


//...
UD *pUD = (UD*)pMod->AllocateUserDataMemory( sizeof( UD ) );
pMod->SetUserData( pUD, sizeof( UD ) );
pUD->d1 = 17.5;
pUD->ii = 125;

Sections

Prepare, Init, Simulate, Validate, Close.

See also AllocateUserDataMemory, GetDCUserData, GetUserData.

C-Models in Simplorer 19-77

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetValNode_nc
Assigns a value to the non-conservative node.
Non-conservative nodes provide a very versatile interface to pass signals between different
components on a Simplorer Schematic. The method is used to assign data of nearly arbitrary type
to these nodes.
For a complex value, real and imaginary part of the node_nc are set. For a real value only the real
part is set. That means the imaginary part is not influenced by setting a real value. The previous
imaginary value still exists.
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL

SetValNode_nc(
SetValNode_nc(
SetValNode_nc(
SetValNode_nc(
SetValNode_nc(
SetValNode_nc(
SetValNode_nc(

LPCTSTR
LPCTSTR
int No,
LPCTSTR
int No,
LPCTSTR
int No,

Name, double dVal )


Name, int iVal )
double dVal )
Name, const CComplex &cVal )
const CComplex &cVal )
Name, LPCTSTR Strg )
LPCTSTR Strg )

Name

Name of the non-conservative node as defined in AddNode_nc.

No

Index of the non-conservative node (starting at 0) within the model.

dVal

A value of type double to be assigned.

iVal

A value of type integer to be assigned.

cVal

A complex value to be assigned.

Strg

A character string to be assigned.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
double r = 27.5;
int i = 30;
CComplex z(2.3, -3.14);
pMod->SetValNode_nc( "speed", r );
pMod->SetValNode_nc( "step", i );
pMod->SetValNode_nc( 4, z );
pMod->SetValNode_nc( 5, "data.txt" );
pMod->SetValNode_nc( "displacement", 1380.0 );

Sections

Init, Simulate, Validate.

See also AddNode_nc, GetValNode_nc, GetValNode_ncCplx, GetValNode_nc_Strg,


SetDataTypeNode_nc, SetInfoNode_nc, SetUnitNameNode_nc.

19-78 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetValNode_ncFile
Assigns a file name to a non-conservative node.
The method is used to pass file names from the model to the simulator or the user.
BOOL SetValNode_ncFile( LPCTSTR Name, LPCTSTR Strg )
BOOL SetValNode_ncFile( int No, LPCTSTR Strg )

Name

Name of the non-conservative node as defined in AddNode_nc.

No

Index of the non-conservative node (starting at 0) within the


model.

Strg

A file name to be assigned.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
pMod->SetValNode_ncFile( "file1", "autoexec.bat" );
pMod->SetValNode_ncFile( 3, "manual.pdf" );

Sections

Init, Simulate, Validate.

See also AddNode_nc, GetValNode_nc, GetValNode_ncFile, GetValNode_nc_Strg,


SetDataTypeNode_nc:

C-Models in Simplorer 19-79

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetValNode_State
Assigns a value to an internal state.
The method is used to assign a value to an internal state. The internal states are created by the
AddNode_State function. This kind of storage has to be preferred over global variables whenever
applicable. Every model instance has its own memory for state variables. State variables are
automatically stored and restored by the simulator in case of an backstep event. Complex states
are mainly used in AC analysis.
BOOL
BOOL
BOOL
BOOL

SetValNode_State(
SetValNode_State(
SetValNode_State(
SetValNode_State(

LPCTSTR
int No,
LPCTSTR
int No,

Name, double dVal)


double dVal)
Name, CComplex &cVal)
const CComplex &cVal )

Name

Name of the internal state as defined in AddNode_State.

No

Index of the internal state (starting at 0) within the model.

dVal

A value of type double to be assigned.

cVal

A complex value to be assigned.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
CComplex z(3.5, -1.7);
pMod->SetValNode_State( "temperature", 36.5 );
pMod->SetValNode_State( 4, z );

Sections

Init, Simulate, Validate.

See also AddNode_State, GetValNode_State, GetValNode_StateCplx.

19-80 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SetValPtrNode_nc
Links a non-conservative node to a double pointer.
A non-conservative node can be linked to a static variable in the Dynamic Link Libraries
memory, so that every change of the value of the double pointer will affect the value of the node.
This is useful for variables defined within the UserData Memory of a model.
BOOL SetValPtrNode_nc( LPCTSTR Name, double *dVal )
BOOL SetValPtrNode_nc( int No, double *dVal )

Name

Name of the non-conservative node as assigned in AddNode_nc.

No

Number of the non-conservative node (starting at 0) within the model.

*dVal

Pointer to a double value.

Return value

TRUE if successful, FALSE if not.

CModUser *pMod;
double r[5];
int i;
for( i=0; i<5; i++ )
r[i] = sqrt(i);
double* p1 = &((CUserData*)pData)->m_dVal;
pMod->SetValPtrNode_nc( "roots", p1 );

Sections

Init, Simulate, Validate.

See also GetValNode_nc, SetInfoNode_nc, SetValNode_nc.

SetValSubNode_nc
Assigns a value to an output vector element.
Non-conservative output vectors of C-models must be assigned element-wise using this
function.
long SetValSubNode_nc( LPCTSTR Name, long lndex, double Val );
long SetValSubNode_nc( LPCTSTR Name, long Index, LPCTSTR strVal);

Name

Name of the non-conservative base node.

Index

Index of the vector element, starting at 0.

Val

Double value to be assigned to the output vector.

*Val

String to be assigned to the vector element.

Return value

TRUE if successful, FALSE if not.

pMod->SetValSubNode_nc( "OutVec", 0, 1.23 );


pMod->SetValSubNode_nc( "OutVec", 1, 2.44 );

Sections

Init, Simulate, Validate.

See also AddNode_nc, AddSubNode_nc, SetValNode_nc.


C-Models in Simplorer 19-81

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Callback Functions
The Simplorer C interface provides a number of callback functions to access simulator specific data
or to influence the simulator behavior. These functions can be used in nearly all model functions.
The calling CModUser object is always a parameter of these functions.

CHAR_IN
Access the input variable in case of a characteristics model.
The Simplorer C interface allows the programming of arbitrary nonlinear relationships
in a characteristic model.
See also C-models Used as Characteristics.
This kind of model can be connected to any characteristics input node of Simplorer
basic components as well as of other C-models. The CHAR_IN function is used by the
characteristics model to access the independent variable x set by the connected element.
double CHAR_IN(CModUser *pModU )

Return value

Value of the input variable of a characteristics block.

CHAR_OUT
Sets the output variable in case of a characteristics model.
The Simplorer C interface allows the programming of arbitrary nonlinear relationships
y=f(x) in a characteristiC-model.
See also C-models Used as Characteristics.
This kind of model can be connected to any characteristics input node of Simplorer
basic components as well as of other C-models. The CHAR_OUT function is used by
the characteristics model to set the y value to be returned to the connected element.
void CHAR_OUT(CModUser *pModU, double y )

Output y=f(x) of a characteristics model.

CHAR_OUT_DERIVE
Sets the partial derivative y/x of a characteristics model.
The Simplorer C interface allows the programming of arbitrary nonlinear relationships
in a characteristic model.
See also C-models Used as Characteristics.
This kind of model can be connected to any characteristics input node of Simplorer
basic components as well as of other C-models. Since in most cases the partial
derivative y/x is also needed for the Jacobian matrix, this function sets its values to
be accessed by the connected component.
void CHAR_OUT_DERIVE(CModUser *pModU, double dx_dy )
dx_dy
The partial derivative of the output quantity y with respect to the

input quantity x.
19-82 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

GET_SAMPLETIME
Gets the sample time.of a component.
The Simplorer C interface allows to define components with arbitrary sample times to
be defined at initialization. These components are executed at this sample rate
independently of all other present components.
This callback function returns the user input at the corresponding node. In case of a zero
input, it returns the current sample time.
See also C-models with specified Sample Time
double GET_SAMPLETIME(CModUser *pModU)

Return value

Current sample time of a component.

getPATH
Returns sheet related path information.
This callback function returns the file path to the currently simulated sheet or the sheet
name. The output is controlled by the first function parameter, which can be set to the
pre-defined values PATH2MODELDESCRIPTION or MODELFILENAME.
void getPATH( long lOption, char *pszString, long lLen );

Return value

Path information.

IOption

Used to select the functions output:


PATH2MODELDESCRIPTION returns the file path.
MODELFILENAME returns the sheet name without an extension.

pszString

Character string containing the functions output.

lLen

Maximum length of output. Shall be set to _MAX_PATH.

ISIM_BASE
Gets the current simulation time in TR simulation mode (T).
Components with explicit time dependency can use this callback function to access
simulation time.
double ISIM_BASE(CModUser *pModU)

Return value

Simulation time.

ISIM_BASE_MAX
Returns maximum time step in TR simulation mode (HMAX).
double ISIM_BASE_MAX(CModUser *pModU)

Return value

Maximum time step.

C-Models in Simplorer 19-83

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ISIM_BASE_MIN
Returns minimum time step in TR simulation mode (HMIN).
double ISIM_BASE_MIN(CModUser *pModU)

Return value

Minimum time step.

ISIM_BASE_STEP
Returns current time step in TR simulation mode (H).
double ISIM_BASE_STEP(CModUser *pModU)

Return value

Current step size.

ISIM_BASE_TEMP
Returns current ambient temperature in C (THETA).
double ISIM_BASE_TEMP(CModUser *pModU)

Return value

Current ambient temperature in C.

ISIM_BASE_XEND
Returns simulation end time (TR) or ending frequency (AC).
double ISIM_BASE_XEND(CModUser *pModU)

Return value

Simulation end time (TR) or ending frequency (AC).

ISIM_BASE_XSTART
Returns simulation start time (TR) or starting frequency (AC).
double ISIM_BASE_XSTART(CModUser *pModU)

Return value

Simulation start time (TR) or starting frequency (AC).

ISIM_ECM_D_DT
Returns temporal derivative operator in TR analysis.
The callback function is used to access the numerical equivalent to the d/dt-operator in
TR analysis. Since Simplorer uses variable step size algorithms to simulate the system,
this value is not constant. The function has to be used every time the temporal derivative
is needed.
double ISIM_ECM_D_DT(CModUser *pModU)

Return value

1/dt

19-84 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ISIM_ECM_IEMAX
Returns maximum current error (IEMAX) of the newton-raphson iterations during TR
calculation.
double ISIM_ECM_IEMAX(CModUser *pModU)

Return value

Maximum current error.

ISIM_ECM_ITERAT
Returns the maximum number of iterations (ITERATMAX).
double ISIM_ECM_ITERAT(CModUser *pModU)

Return value

Maximum iteration number.

ISIM_ECM_LDF
Returns the local discretisation error (LDF).
double ISIM_ECM_LDF(CModUser *pModU)

Return value

Local discretization error.

ISIM_ECM_NEW
Returns step information.
The callback function returns TRUE in normal smooth operation of the simulator when
it progresses continuously with time. Several events can force the simulator to step back
in time. During such a step it returns FALSE.
DOUBLE ISIM_ECM_NEW(CModUser *pModU)

Return value

Step information: 1.0, if current step is a new step, 0.0 if step is


repeated.

ISIM_ECM_P
Returns complex frequency operator in AC analysis.
The callback function is used to access the complex frequency (the numerical equivalent
to the d/dt -operator) in AC analysis. Obtained through Laplacian transformation this
results to the complex term j. This requires the update of the operator in every
frequency step of an AC analysis. Therefore, this callback function must be used every
time in the simulate section to access the correct value.
CComplex ISIM_ECM_P(CModUser *pModU)

Return value

j.

C-Models in Simplorer 19-85

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ISIM_ECM_SOLVER
Returns the solver type of the network simulator.
eSolverType ISIM_ECM_SOLVER(CModUser *pModU)

Return value

EULER_ or TRAPEZOIDAL_.

ISIM_ECM_UEMAX
Returns maximum voltage error (VEMAX) during TR calculation.
ISIM_ECM_UEMAX(pMod)

Return value

Maximum voltage error.

OSIM_ECM_REJECT
Requests back step.
The callback function is used to force the simulator to step back and repeat the last time
step with a smaller (simulator-defined) step size. It can be used when numerical
instabilities occur which are related to a too large step size or to approach switching
events.
void OSIM_ECM_REJECT(CModUser *pModU)

OSIM_ECM_SYNC
Sets new user-defined step size for ECM models.
The callback function is used to force the simulator to step back and repeat the last time
step with a user-defined smaller step size. It can be used when numerical instabilities
occur which are related to a too large step size or to approach switching events. The step
size must be greater or equal the minimum time step (HMIN).
void OSIM_ECM_SYNC(CModUser *pModU, double dt)

dt

New step size.

OSIM_SYNC
Requests back step and setting new user-defined step size for TFM models.
The callback function is used to force the simulator to step back and repeat the last time
step with a user-defined smaller step size. It can be used when numerical instabilities
occur which are related to a too large step size or to approach switching events. The step
size must be greater or equal the minimum time step (HMIN).
void OSIM_SYNC(CModUser *pModU, double dt)
dt

New step size.

19-86 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Report2Sim
Displays messages in the simulator output window or opens pop-up windows.
The callback function displays information important to the user. It can be used to
display information or errors. These messages will help to identify problems and avoid
unexpected simulation results. In case of an error, this routine does not stop the
simulator. This has to be done in returning a 'FALSE' value when leaving the model
function where the error occurred.
BOOL Report2Sim( CModUser *pModU, long Flag, LPCTSTR Message )

Flag

Used to force various messaging behavior. Predefined values are:


UMOD_ERR: Prints an error message in the simulator output
window and activates the simulator output window. To stop the
simulation the model function (Initialize, simulate,...) has to return
FALSE.
UMOD_WRN: Opens a pop-up window with user input request.
The user can cancel or continue the simulation. In the first case the
callback function returns TRUE, in the second FALSE.
UMOD_WRN_OK:Displays the warning text in a pop-up window
with an OK-button only.
UMOD_INF: Prints information in the simulator output window
without affecting the simulation.
UMOD_INF_AW: Prints information in the simulator output
window without affecting the simulation and activates the
simulator output window.

Message

The message text to be displayed.

Return value

User response in case of a warning. TRUE: Cancel, FALSE:


continue.

SET_SAMPLETIME
Sets the sample time of a component.
The callback function is used to set an user-defined sample time for a component. The
component is calculated at the defined sample time. Simplorer is able to handle
components with fixed sample time parallel to continuous components.
See also Callback Functions
void SET_SAMPLETIME(CModUser *pModU, double DTS)
DTS

Sample time.

C-Models in Simplorer 19-87

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

19-88 C-Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

20
VHDL-AMS Models in Simplorer

VHDL-AMS (Very high-speed integrated circuit Hardware Description Language Analog Mixed
Signal) is a standardized language used for describing digital, analog, and mixed-signal systems.
The Institute of Electrical and Electronics Engineers (IEEE) standardized the VHDL-1076 language as a Hardware Description Language (HDL) for digital models. The VHDL standard from
1993 was extended in 1999 for the description of analog and mixed-signal models in the form of
the IEEE 1076.1 standard for VHDL-AMS (hereafter referred to simply as VHDL).
For detailed information on the VHDL-AMS language in Simplorer, refer to: "VHDL-AMS Language Fundamentals."
A VHDL-AMS tutorial is also provided in both pdf and html help format:
(pdf format).
(html help format).
In addition to the functionality provided by the VHDL-AMS Model Editor, Simplorer supports
the development and simulation of VHDL-AMS analog, digital, and mixed-signal models in the
following ways:

Existing VHDL-AMS models in ASCII text can be imported into a library or a subsheet on a
schematic.
VHDL-AMS models in libraries, as well as text or graphical subsheets, can be exported to
ASCII text files.
Schematics containing VHDL-AMS models can also be exported as netlists to VHDL ASCII
files.
VHDL-AMS models can instantiate Simplorer models as foreign models, allowing users to
take advantage of the large number and variety of highly optimized and fast Simplorer models.

VHDL-AMS Models in Simplorer 20-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Understanding VHDL-AMS Models


Simplorer provides several libraries of VHDL-AMS components developed according to IEEE
1076.1 (VHDL Analog and Mixed Signal Extensions Standard) and IEEE 1076 (VHDL standard).
These libraries are accessible via the Project Manager Components Tab.

The Basic_VHDLAMS library (Basic_VHDLAMS.asmd) contains basic circuit components,


blocks, and measurement devices, as well as fluidic, magnetic, mechanical, and thermal components. It also contains a number of time functions.
The Digital_Elements library (Digital_Elements.asmd) contains basic components commonly
used for simple digital circuits (A-to-D and D-to-A converters, counters, flip-flops, latches,
gates, etc.).
The Transformations library (Transformations.asmd) contains auxiliary components (called
OmniCasters) that easily connect different data types and natures.

The models provided are open and can be used to derive more advanced models by copying the
description to a user library and editing the text to modify the model. The files can be used and distributed if the copyright statement, included in each model description, is not removed. To access
the model description, right-click the component name in the Project Manager and select View
Component Help from the context menu.
The functionality of all VHDL-AMS models is a subset of that of the equivalent Simplorer models
available in the Basic_Elements library (Basic_Elements.asmd). VHDL-AMS models can be used
in parallel with Simplorer models.
The digital models operate with digital signals and can be characterized with rise time/fall time/
propagation delays. They do not have any conservative nodes but can be connected to analog quantities using OmniCasters (in the Transformations library).

Across and Through Quantities of Natures


VHDL-AMS models can support nature types for several physical domains. Nature types are properties of conservative nodes (also referred to as ports or terminals) of models. At least one specific

20-2 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

nature exists for each domain. An across and a through quantity is associated with each nature. The
following table links the across and through quantities for each Nature type:
Nature

Across

Through

ELECTRICAL

Voltage [V]

Current [A]

FLUIDIC

Pressure [Pa]

Flow Rate [m/s]

MAGNETIC

Magneto Motive Force [A] Magnetic Flux [Vs]

TRANSLATIONAL

Displacement [m]

Force [N]

TRANSLATIONAL_V

Velocity [m/s]

Force [N]

ROTATIONAL

Angle [rad]

Torque [Nm]

ROTATIONAL_V

Angular Velocity [rad/s]

Torque [Nm]

THERMAL

Temperature [K]

Heat Flow [J/s]

Circuit

The circuit graphic illustrates how across and through quantities are measured. The measuring
direction is marked by the red dot on the model symbol. The red dot is always at pin 1 of a model.

Across quantities: Value is calculated by subtracting the value at Pin2 from the value at Pin1.
Through quantities: Value is positive if the quantity flows into the model at the pin marked
with the red dot.

Packages and Models in Libraries


Packages are collections of re-usable declarations and definitions such as types, constants, functions, procedures, and natures.
Packages appear under green package folder symbols in the tree and have a green rectangle in front
of their names. Standardized packages from IEEE (such as math_real and textio) and proposed
packages from IEEE (such as electrical_systems and thermal_systems) are available in the Ieee
(Ieee.apkg) and Std (Std.apkg) libraries in the VHDL Model Editor Edit Model dialog box.
To use declarations from a package, the corresponding package must be included in the model
description, and the package must be available in an installed model library within the current Simplorer configuration. In the following example the resistor model (res) uses the ELECTRICAL
nature for its conservative pins. Consequently, the ELECTRICAL_SYSTEMS package from the
Ieee library needs to be included in the model description.
LIBRARY IEEE;
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
ENTITY res IS
PORT (QUANTITY r_nom : REAL := 1000;
TERMINAL p,m : ELECTRICAL);
END ENTITY res;

Entities and Architectures of VHDL-AMS Models


VHDL-AMS models consist of two parts: an ENTITY declaration and one or more ARCHITECTURE descriptions. The ENTITY describes the interface of the model and declares inputs, outVHDL-AMS Models in Simplorer 20-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

puts, constant value parameters, conservative pins, etc. The ARCHITECTURE defines the
behavior of the model, and several modeling styles may be used for this description such as behavioral, dataflow, structural, etc. It is possible to associate multiple architectures with an entity declaration, and only the selected architecture will be used during simulation.
ENTITY
Input ports

ARCHITECTURE 1
ARCHITECTURE 2
ARCHITECTURE 3

Inout ports

Output ports

The model description for a passive resistor model included with the system follows. Explanations
of the statements used in the model description are included.
VHDL-AMS Resistor Model Example
To view the model description, select Tools>Edit Configured Libraries>Models, and click to
select the model from the list in the Edit Libraries dialog box. The model description appears in the
Model text pane to the right of the list. The example resistor model has an interface with two electrical terminals and one non-conservative input for the static resistance value.
LIBRARY IEEE;
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
ENTITY R IS
PORT (QUANTITY R : RESISTANCE := 1.0e+3;
TERMINAL p,m : ELECTRICAL);
END ENTITY R;
ARCHITECTURE behav OF R IS
QUANTITY v ACROSS i THROUGH p TO m;
BEGIN
v == i*R;
END ARCHITECTURE behav;
ENTITY

Interface description of the model r.

PORT

Conservative and non-conservative pins of a circuit.


Here, there are two electrical TERMINALs that represent the plus
(+) and minus () pins of the model, and one non-conservative
QUANTITY input for the resistance value of the model.

TERMINAL

Conservative pin associated with a domain.


Here, there are two conservative pins p and m declared for the
ELECTRICAL domain.

20-4 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ARCHITECTURE

Defines the behavior behav of the model r.


QUANTITY voltage ACROSS current THROUGH p TO m;

This statement defines voltage as an ACROSS quantity and current


as a THROUGH quantity between the pins p and m for the model.
v == i * R;

This statement specifies the model behavior v = i*R in VHDLAMS equation form.

Creating and Editing VHDL-AMS Models


Simplorer includes the VHDL-AMS Model Editor to facilitate creating and editing VHDL-AMS
models. Refer to Using the VHDL-AMS Model Editor for details.

Placing and Connecting VHDL-AMS Models


VHDL-AMS models can be placed on a schematic in the same way that other components are
placed. To place a component, select a component in the Project Manager Components tree and
then drag the component onto the sheet (drag-and-drop).
Connections between VHDL-AMS components and other components on the schematic are made
in wire mode. To enter wire mode, choose Draw>Wire, or type CTRL+W. Wire mode can also be
activated by placing the cursor over a connection point (the cursor changes to the wire cursor) and
clicking. Place the cursor over a second point and click to make a connection to that point. Continue to click on the beginning and end points to make connections. Clicking while not on a connection point allows corners to be set to change the direction of the wire. To exit wire mode, press
ESC. Components can also be connected by overlapping their pins, or can be connected to a wire
by placing a components pin over the wire. Unconnected wires are shown as broken red lines.
Related Topics

Placing Components
Wiring Components

Using Transformation Models


Complex simulation models usually need simple interface models to connect different data types
and natures, so that the real subject of simulation can be investigated easily. VHDL-AMS models
need transformation models that perform data type conversions; and VHDL-AMS models from different domains need transformation models that connect conservative nodes of different natures.
OmniCasters are interface models that are used to interface analog quantities with digital signals,
or to connect digital signals of different data types.
A flexible OmniCaster model that performs conversions depending on the connected data types
as well as fixed OmniCaster models with predefined data types are available for use. The
flexible OmniCaster model will automatically use a fixed OmniCaster model based on the data
types of the pins connected to it. The fixed OmniCaster models have an ENTITY description

VHDL-AMS Models in Simplorer 20-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

according to the nature of the conversion and an ARCHITECTURE description that may use
function calls to perform the conversion.
The different data types considered for signals are REAL, INTEGER, BIT, BOOLEAN,
BIT_VECTOR, STD_LOGIC, and STD_LOGIC_VECTOR. The only data type considered for
analog quantities is REAL. Some transformations can be specified with propagation delay, rise
time, fall time, threshold, and output value parameters. The functions used for the type conversions
are available in the omnicaster_package.
Conservative nodes of different domains can be connected using a Domain-to-Domain (D2D)
model available in the Nature Transformations folder of the transformations.asmd library. It is
also possible to connect a conservative node to a non-conservative node using a C2NC connection
model. In this case, the across value from the conservative node is transferred to the non-conservative node.
Note

Unlike the OmniCasters that are described in VHDL-AMS, the D2D and C2NC are not
VHDL-AMS models. Consequently, if schematics that use D2D or C2NC models are
exported to an ASCII netlist, the exported description may not simulate in a third-party
VHDL-AMS simulator.

Defining Model Properties


Every VHDL-AMS model placed on the sheet has a Properties dialog where its parameters can be
modified, simulation languages and architectures can be selected. Unlike SML models VHDLAMS models do not use component dialogs for parameterization of the components. All parameters
are simply listed and changed in the Parameters tab.
To open the Properties dialog, do one of the following:

Double-click the component


Right-click on the component, and choose Properties
Choose Edit>Properties for the selected component

The number of parameters in the Parameters and Output/Display dialog varies depending on the
selected model. To enter a parameter value, click in the input field of the corresponding parameter
and enter a numerical value (with or without suffix), a variable, or an expression. Default values are
used if no other value is defined for the parameter
Property expressions may contain variables that are generic, quantity, or signal properties of
VHDL-AMS components, such as r1.r. Only properties defined in the model's entity are available
for this use, consistent with the VHDL-AMS language fundamentals. In previous versions of Simplorer, properties from a model architecture were available for use, but this is no longer the case.

20-6 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

VHDL-AMS Language Fundamentals


The VHDL-AMS language fundamentals described in this section provide a quick reference guide
to find a specific statement, or the syntax for a specific statement, needed to write VHDL-AMS
code.
See also information on the Web site of IEEE 1076.1 Working Group at
http://www.eda.org/vhdl-ams.

The VHDL-AMS language is case insensitive; upper case letters are equivalent to lower case letters. In this document, reserved words are in UPPER case and shown in BOLD.
Identifiers are simple names starting with a letter and may have letters and digits. The underscore
character is allowed but not as the first or last character of an identifier.
A comment starts with two consecutive hyphens, --, and continues until the end of the line.
The following table shows the syntax used in the documentation.
Syntax

Description

ENTITY

VHDL-AMS keyword

[expression]

optional entry

[name | string]

alternative selection

identifier{,}

repeated entries

=> <= :=

assignment operators

==

simultaneous statement

This chapter contains information on:

Design Units
Subprograms
Declarations
Concurrent Statements
Sequential Statements
Simultaneous Statements
Identifiers, Literals, and Expressions
Predefined Data Types
Predefined Attributes
Reserved Words

VHDL-AMS Models in Simplorer 20-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Design Units
The VHDL-AMS language allows the definition of models for analog, digital, and mixed signal
circuits and systems in a standardized language. Design units (also library units) are segments of
VHDL-AMS code that can be compiled separately and stored in a library.
An entity normally consists of five basic elements, or design units: entities, architectures, packages,
package bodies, and configurations. Entities and architectures are the only two design units that
must exist in any VHDL-AMS design description. Packages and configurations are optional.
Elements of a VHDL-AMS Model
Model Description
ENTITY
(interface description)
ARCHITECTURE
(body description)

ENTITY load IS
ENTITY (
PORT (
ARCHITECTURE nominal OF load IS
ARCHITECTURE switch OF load IS
ARCHITECTURE admitt OF load IS

BEGIN

END
Packages
PACKAGE Declaration

PACKAGE tutorial IS

END PACKAGE tutorial;


PACKAGE BODY
(constants, functions,
components, )

PACKAGE BODY tutorial IS

END PACKAGE BODY tutorial;

Configurations
CONFIGURATION
(instantiation and binding
information)

CONFIGURATION config1 OF load IS

END CONFIGURATION config1;

Entities and Architectures


Each VHDL-AMS design description consists of an ENTITY declaration and one or more architectures. The ENTITY declaration defines the inputs to and outputs from the model, and any
GENERIC parameters used by the different implementations. Each ARCHITECTURE defines a
different implementation or behavior of a given design unit.

20-8 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Entity Declaration
An entity declaration defines input to a model and outputs supported by the model, and
generic parameters used by the different implementations of the model.
ENTITY entity_name IS
GENERIC (generic_list); -- optional generic list
PORT (port_list); -- input/output signal ports
END [ENTITY] name;

generic_list

Specifies static information to be communicated to a model from


its environment for all architectures. These include timing
information (setup, hold, delay times), ambient information
(temperature), and other parameters.

port_list

Specifies dynamic information to be communicated between a


model and its environment for all architectures. A port can be
represented by a quantity, terminal, or signal. The mode of a port
defines the directions of the signals on that port, and is one of IN,
OUT, INOUT, BUFFER, or LINKAGE.

Port Modes

An IN port can be read but not updated within the module. An IN


port cannot appear on the left hand side of a signal assignment.
An OUT port can be updated but not read within the module. An
OUT port cannot appear on the right hand side of a signal
assignment.
An INOUT port is bidirectional and can be both read and updated,
with multiple update sources possible.
Signal objects can use the mode IN, OUT, and INOUT; quantity
objects can use IN and OUT whereas terminals have no direction
mode.
Ports of type BUFFER and LINKAGE are transformed to
INOUT types in Simplorer.

ENTITY spring_tr IS
GENERIC(s0: DISPLACEMENT:= 0.0); -- list of generic parameters
PORT(QUANTITY c: IN STIFFNESS:= 100.0; -- list of quantity ports
TERMINAL tr1, tr2 : TRANSLATIONAL_V; -- list of terminal ports
SIGNAL ctrl: IN BIT); -- list of signal ports
END ENTITY spring_tr;

VHDL-AMS Models in Simplorer 20-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Architecture
An architecture defines one particular implementation of a design unit (model behavior), at
some desired level of abstraction.
ARCHITECTURE architecture_name OF entity_name IS
declarations
BEGIN
concurrent/sequential/simultaneous statements
END [ARCHITECTURE][architecture_name]

declarations

Information used in the model description. Declarations include data


types, constants, signals, files, components, attributes, subprograms,
and others.

concurrent
statements

Digital statements that are executed asynchronously with respect to


each other. They describe a design unit at one or more levels of
modeling abstraction, including dataflow, structural, and/or behavior.

sequential statements Statements that are executed in the order in which they appear. They
define algorithms for the execution of a subprogram or process.
simultaneous
statements

Statements that are executed at the same time with respect to each
other. They describe analog Differential Algebraic Equations (DAE).

ARCHITECTURE behav of spring_tr IS


QUANTITY v ACROSS f THROUGH tr1 TO tr2; -- branch quantity declaration
QUANTITY s: DISPLACEMENT; -- parameter declaration
BEGIN
BREAK s => s0; -- value assignment
f == c*s; -- model equation
v == s'DOT; -- model equation
END ARCHITECTURE behav;

Packages
A VHDL-AMS package contains subprograms, constant definitions, and/or type definitions that
may be used in one or more design units. Each package comprises a package declaration part and a
package body. The declaration part represents the portion of the package that is visible outside of
that package.

20-10 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Package Declaration
Package declarations define the available types, constants, natures, subprograms, and attributes.
PACKAGE package_name IS
constant/type/subprogram/nature/attribute declarations
END package_name;

declarations

Information used in the model description. Declarations include data types,


constants, signals, files, components, attributes, subprograms, and others.

PACKAGE omnicaster_package IS
-- subprogram declarations
FUNCTION b2bl (b: BIT) RETURN BOOLEAN;
FUNCTION b2i (b: BIT; zv : INTEGER; ov : INTEGER) RETURN INTEGER;
END omnicaster_package;
PACKAGE misc IS
TYPE short_integer IS range -100 TO 100; -- type declaration
CONSTANT K : REAL := 1.3806503e-23; -- constant declaration
--subtype declarations
SUBTYPE TEMPERATURE IS REAL TOLERANCE "DEFAULT_TEMPERATURE";
SUBTYPE HEAT_FLOW
IS REAL TOLERANCE "DEFAULT_HEAT_FLOW";
-- nature declaration
NATURE THERMAL IS TEMPERATURE ACROSS HEAT_FLOW THROUGH THERM_REF REFERENCE;
END misc;

VHDL-AMS Models in Simplorer 20-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Package Body
The package body defines the subprograms along with any internally-used constants
and types.
PACKAGE BODY package_name IS
subprogram bodies
END package_name;

subprogram_bodies Specifies the subprograms declared in the package declaration.


PACKAGE BODY omnicaster_package IS
FUNCTION b2bl (b : BIT) RETURN BOOLEAN IS
BEGIN
IF (b = '1') THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END b2bl;
FUNCTION b2i (b : BIT; zv : INTEGER; ov : INTEGER) RETURN INTEGER IS
BEGIN
IF (b = '1') THEN
RETURN ov;
ELSE
RETURN zv;
END IF;
END b2i;
END omnicaster_package;

20-12 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Package Visibility
The LIBRARY statement is used to make specified libraries such as the IEEE library visible
in a model description. If the library file name is not consistent with VHDL-AMS naming
conventions, an alias needs to be defined. See "Alias for File Names."
A USE statement can precede the declaration of any entity or architecture which is to utilize
items from the package. If the USE statement precedes the ENTITY declaration, the package
is also visible to the architecture.
To make all items of a package visible to a design unit, precede the desired design unit with a
USE statement accompanied by the ALL keyword. To make single items of a package visible,
only the corresponding item is defined in the USE statement. This saves simulation
(compilation) time, since all visible items in a USE statement must be loaded before
simulation.
See also WORK Library on page 20-66.
LIBRARY library_name;
USE library_name.package_name.ALL; -- all items are visible
USE library_name.package_name.item_name; -- one item is visible

library_name

Library name, for example transformations. The extension .smd of


Simplorer libraries must be omitted.

package_name

Name of the package in a library, for example omnicaster_package.

item_name

Name of a type, subprogram, or constant in the package.

LIBRARY TRANSFORMATIONS; -- make library transformations.smd visible


LIBRARY VHDLAMS_TUTORIAL; -- make library vhdlams_turorial.smd visible
USE TRANSFORMATIONS.omnicaster_package.ALL; -- all information available
USE VHDLAMS_TUTORIAL.octal_conversions.int2oct; -- function int2oct
available

VHDL-AMS Standard Packages and Types


Several standard packages are installed along with Simplorer in the STD and IEEE libraries. These
libraries can be found in the Basic_VHDLAMS folder in the Project Manager. The VHDL-AMS
source code for most of the packages can be viewed in the VHDL Model Editor by opening the
Properties dialog of each package. The source code for the MATH_REAL, NUMERIC_STD and
NUMERIC_BIT packages are protected by an IEEE copyright and consequently cannot be viewed
in the VHDL Model Editor.
To use any of the packages, the LIBRARY statement and the USE statement need to be specified
as follows:
LIBRARY library_name;
USE library_name.package_name.ALL;

VHDL-AMS Models in Simplorer 20-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

STD Library
The STD library has two packages: STANDARD and TEXTIO.

The STANDARD package provides a number of types, subtypes, and functions. This package
is different from all other packages in that it is always visible and need not be explicitly
included within a model.
The TEXTIO package provides data types and subprograms that are required for reading and
writing ASCII files.

The TEXTIO package can be made visible within a model description in the following manner:
LIBRARY STD;
USE STD.TEXTIO.ALL;

The IEEE Library


The IEEE library houses a number of packages that can be classified into three categories:

Packages for the simulation of digital designs (Digital)


Packages for the simulation of multidomain systems (Physical Domains)
Packages for mathematical operations (Math)

Packages for the Simulation of Digital Designs


The following table lists the packages that are available for use in digital designs:
Package Name

Functionality

Usage

STD_LOGIC_1164

Defines the multi-value


logic data type
(STD_LOGIC) and
associated operations.

STD_LOGIC_ARITH

Synopsys package based USE IEEE.STD_LOGIC_ARITH.ALL;


on multi-value logic that
defines types and basic
arithmetic operations for
representing integers.

STD_LOGIC_SIGNED

Synopsys extension of the USE IEEE.STD_LOGIC_SIGNED.ALL;


STD_LOGIC_ARITH
package to handle multivalue logic values as
signed integers.

USE IEEE.STD_LOGIC_1164.ALL;

20-14 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Package Name

Functionality

Usage

STD_LOGIC_UNSIGNED Synopsys extension of the USE IEEE.STD_LOGIC_UNSIGNED.ALL;


STD_LOGIC_ARITH
library to handle multivalue logic values as
unsigned integers.
NUMERIC_STD

IEEE package based on USE IEEE.NUMERIC_STD.ALL;


multi-value logic that
defines types and basic
arithmetic operations for
representing integers.
This is similar to
STD_LOGIC_ARITH
and consequently should
not be used together.

NUMERIC_BIT

IEEE package based on


binary (BIT) data type
that defines types and
basic arithmetic
operations for
representing integers.

Note

USE IEEE.NUMERIC_BIT.ALL;

The definitions for signed and unsigned data types are available in the NUMERIC_STD
package, and in the Synopsys SIGNED and UNSIGNED packages. Consequently, the
Synopsys packages cannot be used with the NUMERIC_STD package in any VHDLAMS design.

Packages for the Simulation of Multidomain Systems


The following table lists the physical domain packages that are available for use in multidomain
simulations:
Domain

Usage

Electrical

USE IEEE.ELECTRICAL_SYSTEMS.ALL;

Mechanical

USE IEEE.MECHANICAL_SYSTEMS.ALL;

Translational
Rotational

VHDL-AMS Models in Simplorer 20-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Domain

Usage

Thermal

USE IEEE.THERMAL_SYSTEMS.ALL;

Fluidic

USE IEEE.FLUIDIC_SYSTEMS.ALL;

Radiant

USE IEEE.RADIANT_SYSTEMS.ALL;

The following table lists the common declarations and constants that are valid in all physical
domains:
Package Name

Usage

Energy Systems

USE IEEE.ENERGY_SYSTEMS.ALL;

Fundamental Constants

USE IEEE.FUNDAMENTAL_CONSTANTS.ALL;

Material Constants

USE IEEE.MATERIAL_CONSTANTS.ALL;

Packages for Mathematical Operations


Package Name
Math_Real (1076.2)

Usage
USE IEEE.MATH_REAL.ALL;

Subprograms
Subprograms define algorithms for calculating particular functions of a model. They can be used to
divide complex model descriptions into smaller sections.
There are two forms of subprograms: procedures and functions. A procedure call is a statement; a
function call is an expression and returns a value. A subprogram has two parts:

Declaration statements
Sequential statements defining the behavior

Subprograms can use constants, variables, and signals as parameters. The parameters that are used
within a subprogram are called the formal parameters, while the parameters passed into the function or procedure are called the actual parameters.
Note that a simultaneous procedural statement is different from a subprogram. A procedural statement is used to describe analog behavior that occurs sequentially (rather than be solved simultaneously).

20-16 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Procedures
A procedure defines a group of sequential statements that are executed when the procedure is
called. A procedure can return any number of values (or no values) via its parameter list. A
procedure call invokes the execution of the procedure body.
PROCEDURE procedure_name [(formal_parameters)] IS
declarations
BEGIN
sequential statements
END [PROCEDURE] [procedure_name];

procedure_name[actual_parameters] -- procedure call

formal_parameters

Specifies a list of parameters (constants, signals, or variables with the


mode in, out, or inout).

declarations

Declarations include data types, constants, signals, files, variables,


attributes, and subprograms.

sequential statements Statements that are executed in the order in which they appear, that define
algorithms for the execution of a subprogram or process.
-- declaration with formal parameters int and bin
PROCEDURE int2bin (VARIABLE int: IN INTEGER; VARIABLE bin: OUT BIT_VECTOR) IS
VARIABLE temp: INTEGER;
BEGIN -- start of sequential procedure statements
temp := int;
FOR i IN 0 TO (bin'LENGTH -1) LOOP
IF (temp mod 2 = 1) THEN
bin(i) := '1';
ELSE
bin(i) := '0';
END IF;
temp := temp/2;
END LOOP;
END int2bin; -- end of sequential procedure statements

PROCESS -- continued model description


VARIABLE in_var: INTEGER:=10;
VARIABLE out_vec: BIT_VECTOR (1 to 8);
BEGIN
-- procedure call with actual parameters int_var and out_vec
int2bin (in_var, out_vec);
WAIT;
END PROCESS;
VHDL-AMS Models in Simplorer 20-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Functions
A function defines a group of sequential statements that are executed when the function is called.
A function returns a single value. Unlike procedures, functions are primarily used in expressions
and only have inputs in their argument list. A function call invokes the execution of the function
body.
[PURE | IMPURE] function function_name RETURN type_name
declarations
BEGIN
sequential statements
END [FUNCTION] [function_name];

function_name[actual_parameter] -- funtion call

PURE | IMPURE

Pure functions return the same value each time they are called with the
same values as actual parameters (default). Impure functions can return a
different value each time they are called, even when multiple calls have the
same actual parameter values.

formal_parameters

Specifies a list of parameters (constants, signals, or variables with the


mode in, out, or inout).

type_name

Data type or data subtype name, for example BIT, INTEGER, REAL,
of the return value.

20-18 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

declarations

Declarations include data types, constants, signals, files, components,


attributes, subprograms, and other information used in the model
description.

sequential statements

Statements that are executed in the order in which they appear, that define
algorithms for the execution of a subprogram or process.

-- declaration with formal parameters i and length and data type of return
value
FUNCTION i2bv (i: INTEGER; length: INTEGER) RETURN BIT_VECTOR IS
VARIABLE bv: BIT_VECTOR(length-1 DOWNTO 0);
VARIABLE temp: INTEGER;
BEGIN -- start of sequential procedure statements
temp := i;
FOR j IN 0 TO (bv'LENGTH-1) LOOP
IF (temp mod 2 = 1) THEN
bv(j) := '1';
ELSE
bv(j) := '0';
END IF;
temp := temp/2;
END LOOP;
return bv;
END i2bv; -- end of sequential procedure statements

ARCHITECTURE bench OF entity_name IS


SIGNAL in_var: INTEGER;
SIGNAL out_vec: BIT_VECTOR (1 to 8);

BEGIN
in_var <= 10;
-- function call with actual parameters in_var and value 8
out_vec <= i2bv (in_var,8) AFTER 1ms;
END ARCHITECTURE bench;

Declarations
Declarations specify types, data objects, attributes, and components that can be used in design units. Declarations can be located in packages, entities, and architectures. The scope or visibility of a declaration depends on
where they are used.

VHDL-AMS Models in Simplorer 20-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

visible in all entities


and architectures
using the package

PACKAGE

visible in all
architectures
using the entity

declarations
ENTITY

ENTITY

ENTITY

declarations

visible only in
the architecture

ARCHITECTURE
ARCHITECTURE

ARCHITECTURE

ARCHITECTURE

declarations

VHDL-AMS data types can be classified as scalar, composite, access and file types. VHDL-AMS supports different kinds of data objects for each data type. These data objects include constants, signals, variables, files,
quantities, and terminals. VHDL-AMS includes a number of predefined data types, and allows user-defined
data types as needed. A TYPE statement is used to declare a new data type. A SUBTYPE statement is used to
constrain an existing type.

20-20 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

TYPE Declarations
A type declaration defines a new data type.

Scalar type declaration: Declares a type that can be used to create enumeration, integer,
physical, and floating point elements.
Composite type declaration: Declares a type for creating array or record elements.
File type declaration: Declares a type for creating file handles.

TYPE type_name IS scalar_type_definition; -- scalar type definition


TYPE type_name IS composite_type_definition; -- composite type definition
TYPE type_name IS FILE OF subtype_name; -- file type declaration

type_name

Data type or data subtype name, for example BIT, INTEGER, REAL,

TYPE scalar_int1 IS RANGE -5 TO 5;


TYPE scalar_int2 IS RANGE 31 DOWNTO 0;
TYPE scalar_bit IS ('0', '1');
TYPE scalar_enum IS (red, green, blue);
TYPE scalar_boolean IS (TRUE, FALSE);
TYPE composite1 IS ARRAY (0 TO 31) OF BIT;
TYPE composite2 IS ARRAY (natural RANGE <>) OF INTEGER;
TYPE composite3 IS RECORD
RE: REAL; IM: REAL;
END RECORD composite3;
TYPE composite4 IS ARRAY (INTEGER RANGE <>, INTEGER RANGE <>) OF REAL;
TYPE file_txt IS FILE OF INTEGER;

SUBTYPE Declaration
A subtype declaration defines a type that is derived from an existing type. TYPE creates a new
type while SUBTYPE creates a type that is a constraint of an existing type. It is possible to assign
values of objects belonging to subtypes to objects belonging to the base type.
SUBTYPE name IS type_name [constraint] [tolerance];

constraint

Specifies a range constraint for a scalar type with a RANGE


TO(DOWNTO) statement.

SUBTYPE electrical_units IS STRING (1 TO 20);


VARIABLE var_names: electrical_units := "voltage, current";
SUBTYPE small_int IS INTEGER RANGE 0 TO 10; -- subtype with constraint definition
VARIABLE little : small_int := 4;

VHDL-AMS Models in Simplorer 20-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

NATURE Declaration
A nature declaration defines a nature and its across and through quantities that can be accessed
through the model terminals. See also "Across and Through Quantities of Natures."
NATURE nature_name IS
across_type_name ACROSS through_type_name THROUGH reference_terminal reference;

nature_name

Name of a nature, for example ELECTRICAL, MECHANICAL,


THERMAL,

across_type_name
through_type_name

Specifies the branch types of the nature, which are used to define the type
of branch quantities. Only terminals can represent a nature.

reference_terminal

Specifies the ground (zero) of the across type of a nature.

NATURE ELECTRICAL IS -- nature declaration of an electrical system


voltage ACROSS
current THROUGH
electrical_ref REFERENCE;
NATURE THERMAL IS -- nature declaration of a thermal system
temperature ACROSS
heat_flow THROUGH
thermal_ref REFERENCE;

Data Object Declarations


A data object holds a value of a specified type. Every data object belongs to one of six different
classes:

CONSTANT
SIGNAL
VARIABLE
FILE
QUANTITY
TERMINAL

20-22 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

CONSTANT Declaration
A constant declaration assigns a value to an identifier of a given data type. The use of
constants can improve the readability of VHDL-AMS code. The value of a
CONSTANT object cannot be changed by any executable code after declaration.
CONSTANT constant_name: type_name [expression];

constant_name

List of constant names separated by a comma.

type_name

Data type or data subtype name, for example BIT, INTEGER,


REAL,

expression

Expression that performs an arithmetic or logical computation by


applying an operator to one or more operands (constant value).

CONSTANT
CONSTANT
CONSTANT
CONSTANT
CONSTANT
CONSTANT

Pi: REAL := 3.14159;


Half_Pi: REAL := Pi/2.0;
cycle_time: TIME := 11 ns;
N, N5: INTEGER := 5;
ctrl: BIT:= '1';
-- logic 1 constant
zero4: BIT_VECTOR(0 to 3) := "0000";

SIGNAL Declaration
A signal declaration defines an identifier as a signal object. A SIGNAL object holds a
list of values, including the previous value, current value, and a set of possible future
values that appear on the signal. A signal object has digital properties; this means that
any change in a signal causes an event which can start a process or value assignment
specified in the model description.
SIGNAL name_list: type_name [expression];

name_list

List of signal names separated by a comma.

type_name

Data type or data subtype name, for example BIT, INTEGER,


REAL,

expression

Expression that performs an arithmetic or logical computation by


applying an operator to one or more operands (default value).

SIGNAL a_bit : BIT := '0';


a_bit <= b_bit XOR '1';
SIGNAL clock : BIT := '0';
clock <= NOT clock AFTER 1 ms;
SIGNAL bool_sig : BOOLEAN := FALSE;
bool_sig <= TRUE WHEN clock = '1' ELSE FALSE;
SIGNAL gate_delay : TIME := 10 ns;

VHDL-AMS Models in Simplorer 20-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

VARIABLE Declaration
A variable declaration defines an identifier as a variable object. A variable can be of any scalar or
aggregate data type and is updated immediately when an assignment statement is executed.
Variables can be declared only within subprograms, procedural statements, or process statements.
VARIABLE variable_name: type_name [expression];

variable_name

List of variable names separated by a comma.

type_name

Data type or data subtype name, for example BIT, INTEGER, REAL,

expression

Expression that performs an arithmetic or logical computation by


applying an operator to one or more operands (default value).

clock <= NOT clock AFTER 10 us;


PROCESS (clock)
VARIABLE num_events : INTEGER := 0;
BEGIN
num_events := num_events + 1;
END PROCESS;

FILE Declaration
A file declaration defines an identifier as a file object.
FILE file_name: type_name [[OPEN file_open_kind] IS file_logical_name];

file_name

Name of the created file.

type_name

Data type name, for example TEXT,

file_open_kind

Specifies the access mode for the file object: READ_MODE,


WRITE_MODE, APPEND_MODE. These operation modes are defined in
the STD.TEXTIO package.

file_logical_name

Defines the file name. The name is a string in quotes and its syntax must
conform to the operating system where the VHDL-AMS model will be
simulated.

FILE cycle: TEXT OPEN READ_MODE IS "cyc_mph_manhattan_tab.txt";

WHILE NOT ENDFILE (cycle) LOOP


READLINE (cycle,buf);
END LOOP;

20-24 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

QUANTITY Declaration
A quantity declaration defines one or more identifiers as quantity objects. A quantity object is
specified by its type and a default value. Quantities can be declared in both entity and architecture
declaration placeholders. Quantities can be classified as PORT, FREE and BRANCH quantities
depending on where they are declared. PORT quantities appear in the ENTITY declaration,
BRANCH quantities appear in the ARCHITECTURE declaration and specify the across and
through values for terminals of a particular nature, and FREE quantities are declared as analog
values in the ARCHITECTURE declaration.
QUANTITY name_list : real_type_name [expression];
QUANTITY [across_aspect] [through_aspect] terminal_aspect;

name_list

List of quantities separated by a comma.

real_type_name

Real type or real subtype name, for example REAL, VOLTAGE,


TORQUE...

across_aspect

Identifier that serves as the across quantity for the specified terminals.

through_aspect

Identifier that serves as the through quantity for the specified terminals.

terminal_aspect

Positive and negative terminal names.

ARCHITECTURE admittance OF load IS


QUANTITY v ACROSS i THROUGH p TO m;
QUANTITY ctrl_ramp: REAL := 0.0;
QUANTITY ctrl_qty: REAL := 0.0;
BEGIN
--
END ARCHITECTURE admittance;

TERMINAL Declaration
A terminal declaration declares a terminal, and also the reference quantity and contribution
quantity of the terminal.
TERMINAL name_list: nature_name;

name_list

List of terminals separated by a comma.

nature_name

Name of the conserved physical domain.

TERMINAL terminal_e1 : ELECTRICAL; --Local Electrical Terminal


TERMINAL terminal_t1 : THERMAL; --Local Thermal Terminal

VHDL-AMS Models in Simplorer 20-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Other Declarations
ATTRIBUTE Declaration
An attribute declaration defines an attribute name and its type. An attribute specification assigns a
value to the attribute. See also Predefined Attributes.
ATTRIBUTE attribute_name: type_name; -- declaration
ATTRIBUTE attribute_name OF name: entity_class IS expression; -- specification

attribute_name

Name of the attribute.

type_name

Data type name, for example BIT, INTEGER, REAL,

name

Identifier of the existing object.

entity_class

Specifies the name of the entity class, for example TYPE, SIGNAL,
FILE,

expression

Expressions to perform an arithmetic or logical computation by applying


an operator to one or more operands.

ATTRIBUTE UNIT OF VOLTAGE: SUBTYPE IS "Volt"; -- attribute declaration


ATTRIBUTE SYMBOL OF RESISTANCE: SUBTYPE IS "OHM";

COMPONENT Declaration
A component declaration defines a components interface and is typically placed in an
ARCHITECTURE or PACKAGE declaration. The component or instances of the component are
related to a design entity in a library using a configuration.
COMPONENT component_name [IS]
[local_generic_clause]
[local_port_clause]
END COMPONENT [component_name];

component_name

Name of the component.

20-26 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

local_generic_clause

Specifies static information to be communicated to a model from its


environment in the form: variable_name : variable_type := value;

local_port_clause

Specifies dynamic information to be communicated to a model from its


environment in the form: variable_name : port_mode variable_type;

ENTITY inv4 IS
GENERIC (TP_LH, TP_HL: TIME);
PORT (I_4 : IN BIT_VECTOR(3 DOWNTO 0);
Y_4 : OUT BIT_VECTOR(3 DOWNTO 0));
END ENTITY inv4;
ARCHITECTURE inv4_struct OF inv4 IS
COMPONENT inv
GENERIC (TP_LH, TP_HL: TIME);
PORT (I1 : IN BIT;
Y1 : OUT BIT);
END COMPONENT;
SIGNAL INV_OUT : BIT_VECTOR(3 DOWNTO 0);
BEGIN
-- instantiation of the inv component
INV_1 : inv GENERIC MAP (TP_LH,TP_HL) PORT
INV_2 : inv GENERIC MAP (TP_LH,TP_HL) PORT
INV_3 : inv GENERIC MAP (TP_LH,TP_HL) PORT
INV_4 : inv GENERIC MAP (TP_LH,TP_HL) PORT
END inv4_struct;

MAP
MAP
MAP
MAP

(I_4(0),Y_4(0));
(I_4(1),Y_4(1));
(I_4(2),Y_4(2));
(I_4(3),Y_4(3));

Concurrent Statements
Concurrent statements are included within ARCHITECTURE bodies and within BLOCK statements, representing concurrent digital behavior within the modeled design unit. These statements
are executed in an asynchronous manner, with no defined order, modeling the overall behavior or
structure of a design.

Block Statement
Process Statement
Concurrent Procedure Call
Concurrent Assertion Statement
Concurrent Signal Assignment Statement
Component Instantiation Statement
Break Statement

VHDL-AMS Models in Simplorer 20-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

BLOCK Statement
A block statement groups related concurrent statements. The order of the concurrent statements
does not matter, because all statements are always executed together.
If a guard expression appears after the reserved word BLOCK, a boolean variable GUARD is
automatically defined and set to the boolean value of the guard expression. GUARD can then be
tested within the block, to perform selected signal assignments or other statements only when the
guard condition evaluates to TRUE.
[label_name:]
BLOCK [(guard expression)]
local declarations
BEGIN
concurrent statements
END BLOCK [label_name];

guard expression

Defines the value of the signal. The type of the expression must be
BOOLEAN.

local declarations

Declarations include data types, constants, signals, files, components,


attributes, subprograms, and other information used in the model
description.

concurrent statements Digital statements that are executed asynchronously with respect to each
other, that describe a design unit in one or more modeling styles such as
dataflow, structural, and/or behavior styles.
-- D Latch: Transfer D input to Q output when Enable = '1'
B1:
BLOCK (Enable = '1')
BEGIN
Q <= guarded D AFTER 5ns;
END BLOCK B1;

20-28 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

PROCESS Statement
A PROCESS statement contains sequential statements but is itself a concurrent statement within
an architecture. An independent sequential process represents the behavior of some portion of a
design. The body of a process is a list of sequential statements. See also Processes.
The sequential statements in the process are executed in order, commencing with the beginning of
simulation. After the last statement of a process has been executed, the process is repeated from the
first statement, and continues to repeat until suspended. Processes can be suspended with a WAIT
statement. The WAIT statement is a versatile statement that allows a process to be suspended for a
specific period of time, boolean condition to occur, or/and an event to occur on a signal. The
optional sensitivity list is equivalent to providing a WAIT ON statement and causes the process to
be suspended. A process cannot have both a sensitivity list as well as a WAIT ON statement. See
also WAIT Statement on page 20-34
[label_name:]
PROCESS [(sensitivity_list)]
local declarations
BEGIN
sequential statements
END PROCESS [label_name];

sensitivity_list

List of signal names separated by a comma. The list represents a set of


signals to which the WAIT statement within the process is sensitive.
If no sensitivity list is defined, a WAIT statement within the process must
be specified.

local declarations

Declarations declare data types, constants, signals, files, components,


attributes, subprograms, and other information used in the model
description.

sequential statements

Statements that are executed in the order in which they appear, that define
algorithms for the execution of a subprogram or process.

clock <= NOT clock AFTER 10 us;


PROCESS (clock) -- sensitivity list consists of clock
VARIABLE num_events : INTEGER := 0;
BEGIN
num_events := num_events + 1;
END PROCESS;

VHDL-AMS Models in Simplorer 20-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Concurrent Procedure Call Statement


A concurrent procedure call, which is used in an ARCHITECTURE or a BLOCK statement,
invokes an externally defined subprogram with parameters passed to it as necessary. See also
Procedures.
[label_name:]
procedure_name [actual_parameter_list];

actual_parameters

Values of these parameters are transferred to the procedure for the formal
parameters (the parameters specified in the procedure declaration).

-- procedure ReadMem procedure can be defined in a package and then used in


many places
ReadMem (DataIn, DataOut, RW, Clk);

Concurrent ASSERT Statement


A concurrent ASSERT statement checks a condition (occurrence of an event) and provides a
report if the condition is FALSE. A severity level can be specified to generate several types of
messages.
ASSERT (condition)
[REPORT string] [SEVERITY severity_level];

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition expression is FALSE (indicating the assertion failed),
the text specified in the string expression is displayed.

string

Defines the text string which appears in the message. String literals are onedimensional arrays of characters enclosed in double quotation marks ( ).

severity_level

Defines how the message appears and the effect on simulation.


NOTE: message output in the Simplorer info window.
WARNING: message output in a dialog and a request for user input to break or

continue simulation.
ERROR/FAILURE: message output in the Simplorer info window and
termination of simulation.
ASSERT (TS > 0.0)
REPORT "Sample Time must be specified" SEVERITY ERROR;
ASSERT (UL >= LL)
REPORT "Upper Limit must be greater than Lower limit" SEVERITY WARNING;
ASSERT (arg > 100.0)
REPORT "Invalid Function argument " & REAL'IMAGE(arg) & " at time " &
TIME'IMAGE(now) & "." SEVERITY INFO;

20-30 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Concurrent SIGNAL Assignment Statement


A concurrent signal assignment statement, one of the most common signal assignments, represents a
process that assigns values to signals and specifies logical relationship between different signals.
There is no significance to the order in which the assignments appear in the description. There are
two forms: conditional signal assignment and selected signal assignment statements. See also
SIGNAL Assignment Statement.
[label_name:]
target_signal
target_signal
target_signal
target_signal

target_signal

<=
<=
<=
<=

var; -- signal assignment;


var1 WHEN condition ELSE var2; -- conditional signal assignment
var2 WHEN condition var3 WHEN OTHERS; -- selected signal assignment
var4 AFTER 5ns; -- signal assignment with delay

Name of the signal which obtains the value.

conditional_signal_ass Special form of signal assignment that assigns values only if a sequence of
ignment
related conditions are true.
selected_signal_assign Special form of signal assignment that assigns values only if a sequence of
ment
related conditions are true but differs in that the input conditions specified
have no implied priority.
condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE).

ARCHITECTURE behav OF test IS


SIGNAL A: BIT :='1';
SIGNAL B: BIT :='0';
BEGIN
A <= B;
B <= '1'; -- value of B=1 value of A=1
END;

Component Instantiation Statement


The component instantiation statement instantiates (creates an instance of) predefined components
within an architecture. Each such component is first defined in the declaration section of that
architecture, and then instantiated one or more times in the body of the architecture. See also
WORK Library.
label_name: ENTITY [library_name.]entity_name [(architecture_name)]
[GENERIC MAP (generic_map_list)]
[PORT MAP (port_map_list)];

VHDL-AMS Models in Simplorer 20-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

generic_map_list

Specifies a list of generics (separated by a comma) which associate values


with the formal generics in the corresponding component declaration or
entity interface.

port_map_list

Specifies a list of ports (separated by a comma) which associate signals,


quantities, and/or terminals with the formal ports in the corresponding
component declaration or entity interface.

LIBRARY vhdlams_tutorial;
LIBRARY IEEE;
USE vhdlams_tutorial.res; -- model res of the tutorial_vhdlams library is declared
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
ENTITY bat_multi IS
GENERIC(
factor : REAL := 1.0;
v_init : VOLTAGE := 12.0);
PORT(
TERMINAL p,m : ELECTRICAL;
QUANTITY v_out : OUT VOLTAGE := 0.0);
END ENTITY bat_multi;
ARCHITECTURE struct OF bat_multi IS
CONSTANT ri: RESISTANCE := 1.0e-2;
CONSTANT fc: CAPACITANCE := 60.0;
CONSTANT rd: RESISTANCE := 4.0e-2;
CONSTANT sc: CAPACITANCE := 2.0e4;
TERMINAL t1,t2 : ELECTRICAL;
QUANTITY v ACROSS p TO m;
BEGIN
fc1: ENTITY WORK.cap(behav) -- instantiation of a component in the WORK lib
GENERIC MAP (c_nom => fc*factor, v_init => v_init)
PORT MAP (p => t1, m => m);
sc1: ENTITY WORK.cap(behav) -- instantiation of a component in the WORK lib
GENERIC MAP (c_nom => sc*factor, v_init => v_init)
PORT MAP (p => t2, m => m);
ri1: ENTITY res(behav) -- instantiation of a component declared in the entity
GENERIC MAP (r_nom => ri)
PORT MAP (p => p, m => t1);
rd1 : ENTITY res(behav) -- instantiation of a component declared in the entity
GENERIC MAP (r_nom => rd)
PORT MAP (p => t1, m => t2);
v_out == v;
END ARCHITECTURE struct;

20-32 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Concurrent BREAK Statement


A BREAK statement indicates explicitly the occurrence of discontinuities in a VHDLAMS description. The concurrent BREAK statement represents a process containing a
BREAK statement.
[label_name:]
BREAK [break_list] [sensitivity_clause] WHEN condition;

break_list

Specifies a list of break elements (separated by a comma) which


can cause a discontinuity.

sensitivity_clause

Specifies a list of signals to which the BREAK statement is


sensitive.

condition

Specifies an expression which evaluates to a BOOLEAN value


(TRUE or FALSE).

ARCHITECTURE behav OF LMT IS


SIGNAL lower_crossing : BOOLEAN := FALSE;
SIGNAL upper_crossing : BOOLEAN := FALSE;
BEGIN
BREAK ON lower_crossing;
BREAK ON upper_crossing;

END ARCHITECTURE;

Sequential Statements
Sequential statements appear in process statements and in subprograms (procedures and functions),
representing sequential behavior within the modeled design unit. These statements are executed in
the order in which they appear in the model.

WAIT Statement
ASSERT Statement
SIGNAL Assignment Statement
VARIABLE Assignment Statement
Procedure Call Statement
IF Statement
CASE Statement
LOOP Statement
NEXT Statement
EXIT Statement
RETURN Statement
NULL Statement
BREAK Statement
VHDL-AMS Models in Simplorer 20-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

WAIT Statement
A WAIT statement suspends subprogram execution until a signal changes, a condition becomes
TRUE, or a defined time period has elapsed. Combinations of these can also be used.
WAIT [ON sensitivity_list] [UNTIL condition] [FOR time_expression];

sensititvity_list

List of signals which can cause an event.

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE).

time_expression

Specifies a time expression which evaluates to a TIME value.

WAIT ON INPUT;
WAIT UNTIL ctrl > 1.5;
WAIT FOR TDELAY*unit_time;

ASSERT Statement
A sequential ASSERT statement checks a condition and provides a report if the condition is not
TRUE. A severity level can be specified to generate several types of messages.
ASSERT (condition)
[REPORT string] [SEVERITY severity_level];

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition expression is FALSE (indicating the assertion
failed), the text specified in the string expression is displayed.

20-34 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

string

Defines the text string which appears in the message. String literals are
one-dimensional arrays of characters enclosed in double quotation marks
( ).

severity_level

Defines how the message appears and the effect for simulation.
NOTE: message output in the Simplorer Message Manager window.
WARNING: message output in a dialog and a request for user input to
break or continue simulation.
ERROR/FAILURE: message output in the Simplorer Message Manager
window and termination of simulation.

ENTITY sequential_assert IS
END;
ARCHITECTURE behav OF sequential_assert IS
SIGNAL clk:bit;
BEGIN
clk<=not clk AFTER 1 ns;
PROCESS(clk)
variable a:integer := 0;
BEGIN
a:=a+1;
ASSERT a/=1 REPORT "a!=1" SEVERITY FAILURE;
ASSERT a/=2 REPORT "a!=2" SEVERITY WARNING;
ASSERT a/=3 REPORT "a!=3" SEVERITY ERROR;
ASSERT a<10 REPORT "a==" & INTEGER'IMAGE(a) SEVERITY NOTE;
END PROCESS;
END;

VHDL-AMS Models in Simplorer 20-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SIGNAL Assignment Statement


A signal assignment statement assigns a waveform to one signal driver (edits the event
queue). Signal assignments are always performed at the end of a process. See also
Concurrent SIGNAL Assignment Statement. and Signal Assignments with Delay.
[label_name:]
target_signal <= [delay_mechanism] source_signal

target_signal

Name of the signal which obtains the value.

delay_mechanism

Specifies a delay for signal assignment after one of the reserved


words: TRANPORT, REJECT, or INERTIAL.

source_signal

Name of the signal which provides the value.

SIGNAL A: BIT :='1';


SIGNAL B: BIT :='0';
PROCESS
BEGIN
A <= B;
B <= '1'; -- value of B=1 value of A=0
WAIT;
END PROCESS;

VARIABLE Assignment Statement


A variable assignment updates a process, procedure, or function variable with the value
of an expression. The update takes effect immediately, unlike signal assignments where
there is at least a delta delay for the update to be reflected.
[label_name:]
variable := expression;

variable_name

Name of the variable.

expression

Expression that performs an arithmetic or logical computation by


applying an operator to one or more operands.

clock <= NOT clock AFTER 10 us;


PROCESS (clock)
VARIABLE num_events : INTEGER := 0;
BEGIN
num_events := num_events + 1;
END PROCESS;

20-36 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Procedure Call Statement


A procedure call statement invokes an externally-defined subprogram in the same
manner as a concurrent procedure call. A sequential procedure call statement differs
from a concurrent procedure call in that it is placed in a process, procedure, or function,
and is executed in the order in which it appears. See also Subprograms.
[label_name:]
procedure_name [(actual_parameter)]

formal_parameters Specifies a list of parameters (constants, signals, or variables with


the mode in, out, or inout).
-- procedure call with actual parameters int_var and out_vec
int2bin (in_var, out_vec);

IF Statement
An IF THEN ELSE statement performs a sequence of statements depending on the defined
condition. ELSIF and ELSE clauses are optional.
[label_name:]
IF condition THEN
sequential statements
[{ELSIF condition THEN
sequential statements}]
[ELSE
sequential statements]
END IF [label_name];

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition expression is TRUE, the corresponding statements
after the condition are executed.

sequential statements Statements that are executed in the order in which they appear, that define
algorithms for the execution of a subprogram or process.
pwm_ctrl:
PROCESS (cond1,cond2)
BEGIN
IF (cond1) THEN
ctrl_sig <= 0.0;
ELSIF (cond2 AND (NOT cond1)) THEN
ctrl_sig <= 1.0;
END IF;
END PROCESS pwm_ctrl;

VHDL-AMS Models in Simplorer 20-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

CASE Statement
A CASE statement selects one of a number of alternative sequences of statements for
execution based on the value of an expression. The choices must be constants of the
same discrete type as the expression. Case choices can be expressions or ranges. Case
statements must also include all possible values of the control expression. The
OTHERS expression can be used to guarantee that all conditions are covered.)
[label_name:]
CASE control_expression IS
WHEN choice1 =>
sequential statements
WHEN choice2 =>
sequential statements
WHEN OTHERS =>
sequential statements
END CASE [LABEL];

control_expression Specifies a value that selects one statement sequence among the
list of alternatives. The expression must be of a discrete type, or of
a one-dimensional array.
choice

A choice specifies the value of the control expression for which


the alternative is chosen. Each choice in a case statement
alternative must be of the same type as the expression.

sequential
statements

Statements that are executed in the order in which they appear, that
define algorithms for the execution of a subprogram or process.

CASE J_K IS
WHEN "11" =>
state <= NOT state;
WHEN "10" =>
state <= '1';
WHEN "01" =>
state <= '0';
WHEN OTHERS =>
NULL;
END CASE;

20-38 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

LOOP Statements
The WHILE and FOR loop statements control the repetition of sequentially executed statements.
Loop termination statements allow termination of one iteration, loop, or procedure.
NEXT [WHEN condition]; -- end current loop iteration
EXIT [WHEN condition]; -- exit innermost loop entirely
[label_name:]
LOOP
sequential statements -- use exit statement to leave the loop
END LOOP [label];
[label_name:]
FOR variable IN start_val TO end_val LOOP
sequential statements
END LOOP [LABEL];
[label_name:]
WHILE condition LOOP
sequential statements
END LOOP [LABEL];

sequential statements Statements that are executed in the order in which they appear, that define
algorithms for the execution of a subprogram or process.

VHDL-AMS Models in Simplorer 20-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

variable/start_val/
end_val

Implicit index variables of the loop. Index variables need not be declared
separately.

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition is TRUE, the corresponding statements after the
condition are executed.

LOOP
input_something;
exit when end_file;
END LOOP;
FOR I IN 1 TO 10 LOOP
AA(I) := 0;
END LOOP;
WHILE NOT end_file LOOP
input_something;
END LOOP;
PROCESS
VARIABLE buf : LINE;
VARIABLE t_val_old, t_val_new, t_val, s_val : REAL := 0.0;
BEGIN
WHILE NOT ENDFILE(cyc) LOOP
READLINE(cyc,buf);
WAIT FOR 4ms;
END LOOP;
WAIT;
END PROCESS;

20-40 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

NEXT Statement
A NEXT statement causes the next iteration in a loop.
[label_name1:]
NEXT [label_name2] [when condition];

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition is TRUE, the next iteration in the loop is
executed.

NEXT;
NEXT outer_loop;
NEXT WHEN A>B;
NEXT this_loop WHEN C=D OR done; -- done is a BOOLEAN variable

EXIT Statement
An EXIT statement causes the immediate termination of the loop.
[label_name:]
EXIT [label2] [WHEN condition];
condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition is TRUE, the loop is terminated.

EXIT;
EXIT outer_loop;
EXIT when A>B;
EXIT this_loop WHEN C=D OR done; -- done is a BOOLEAN variable

RETURN Statement
A RETURN statement terminates a subprogram. A function definition requires a return statement
to specify the return value. In a procedure definition, a return statement is optional.
[label_name:]
RETURN [expressions];

expression

Expression that performs an arithmetic or logical computation by applying


an operator to one or more operands.

RETURN; -- from somewhere in a procedure


RETURN a+b; -- returned value in a function

VHDL-AMS Models in Simplorer 20-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

NULL Statement
A NULL statement explicitly states that no action is required. It is often used in CASE statements
because all choices must be covered, even if some of the choices are ignored.
[label_name:]
NULL;
CASE J_K IS
WHEN "11" =>
state <= NOT state;
WHEN "10" =>
state <= '1';
WHEN "01" =>
state <= '0';
WHEN OTHERS =>
NULL;
END CASE;

BREAK Statement
A BREAK statement indicates explicitly the occurrence of discontinuities in a VHDL-AMS
description. The sequential BREAK statement represents a process containing a BREAK
statement.
The execution of a BREAK statement notifies the analog solver that it must determine the
discontinuity augmentation set for the next analog solution point. It can also specify reset and
initial values. The effect is conditional if the statement includes a condition.
[label_name:]
BREAK [break_list] [when condition];

20-42 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

break_list

Specifies a list of break elements (separated by a comma) which can cause


a discontinuity.

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE).

LIBRARY IEEE;
USE IEEE.MATH_REAL.ALL;
ENTITY sequential_break1 IS
END ENTITY sequential_break1;
ARCHITECTURE behav OF sequential_break1 IS
SIGNAL xs1,xs2 : BOOLEAN := FALSE;
SIGNAL aVal : REAL := 0.0;
BEGIN
xs1 <= NOT xs1 AFTER 1
ms;
xs2 <= NOT xs2 AFTER 2.5 ms;
PROCESS (xs1, xs2)
BEGIN
BREAK aVal => 4.0 WHEN xs2;
BREAK aVal => 2.0 WHEN xs1;
END PROCESS;
END ARCHITECTURE behav;

Simultaneous Statements
Simultaneous statements appear in the architecture body of a model and can be placed in the same
parts of a VHDL-AMS description as concurrent statements. Simultaneous statements are used to
express Differential Algebraic Equations (DAE) that together with implicit equations describe the
analog behavior of a model. The five types of simultaneous statements available are:

Simple Simultaneous Statement


Simultaneous IF Statement
Simultaneous CASE Statement
Simultaneous PROCEDURAL Statement
Simultaneous NULL Statement

VHDL-AMS Models in Simplorer 20-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simple Simultaneous Statement


A simple simultaneous statement specifies expressions that constrain the values of quantities by
the analog solver.
[label_name:]
expression == expression;

expressions
TERMINAL
QUANTITY
QUANTITY
power ==

Expressions to perform an arithmetic or logical computation by applying


an operator to one or more operands.

plus, minus : ELECTRICAL;


voltage ACROSS current THROUGH plus TO minus;
power : REAL;
voltage * current; -- power calculation

Simultaneous IF Statement
A simultaneous IF statement specifies analog behavior of a system based on a set of conditions. A
simultaneous IF statement differs from a sequential IF statement in that the simultaneous
statement syntax is IF-USE-END USE while the sequential statement syntax is
IF-THEN-END IF.
[label_name:]
IF condition USE
simultaneous_statements
[{ ELSIF condition USE
simultaneous_statements }]
[ ELSE
simultaneous_statements ]
END USE [label_name];

condition

Specifies an expression which evaluates to a BOOLEAN value (TRUE or


FALSE). If the condition expression is TRUE, the corresponding
statements after the condition are executed.

simultaneous
statements

Statements that are executed at the same time with respect to each other,
that describe Analog Differential Algebraic Equations (DAE).

IF (sw_on) AND (CTRL > 0.0)) USE


v == 0.0;
ELSE
i == 0.0;
END USE;

20-44 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simultaneous CASE Statement


A simultaneous CASE statement specifies analog behavior by selecting one of a number of
alternatives based on the value of an expression. A simultaneous CASE statement differs from a
sequential CASE statement in that the simultaneous statement syntax is CASE-USE-END
CASE while the sequential statement syntax is CASE-IS-END CASE.
[label_name:]
CASE control_expression USE
WHEN choices =>
simultaneous_statements
{ when choices =>
simultaneous_statements}
END CASE [LABEL];

control_expression

Specifies a value that select one statement sequence among the list of
alternatives. The expression must be of a discrete type, or of a onedimensional array.

VHDL-AMS Models in Simplorer 20-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

choice

A choice specifies the value of the control expression for which the
alternative is chosen. Each choice in a case statement alternative must be
of the same type as the expression.

simultaneous
statements

Statements that are executed at the same time with respect to each other,
that describe Analog Differential Algebraic Equations (DAE).

LIBRARY IEEE;
USE IEEE.MATH_REAL.ALL;
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
ENTITY simultaneous_case IS
END ENTITY simultaneous_case;
ARCHITECTURE behav OF simultaneous_case IS
TERMINAL n1, n2
: ELECTRICAL;
QUANTITY vin ACROSS iin THROUGH n1 TO electrical_ref;
QUANTITY vout ACROSS iout THROUGH n2 TO electrical_ref;
CONSTANT Amp : REAL := 1.0;
CONSTANT a
: REAL := 1.0E3;
CONSTANT f
: REAL := 1.0E3;
SIGNAL
clk : INTEGER := 0;
BEGIN
clk <= clk+1 AFTER 1ms;
vout == vin'SLEW(1.0e38,-1.0e38);
CASE clk USE
WHEN 0 => vin == Amp*1.0*sin(2.0*math_pi*f*15.0*NOW);
WHEN 1 => vin == Amp*2.0*sin(2.0*math_pi*f*15.0*NOW);
WHEN 2 => vin == Amp*3.0*sin(2.0*math_pi*f*15.0*NOW);
WHEN 3 => vin == Amp*4.0*sin(2.0*math_pi*f*15.0*NOW);
WHEN 4 => vin == Amp*5.0*sin(2.0*math_pi*f*15.0*NOW);
WHEN others => vin == Amp*6.0*sin(2.0*math_pi*f*15.0*NOW);
END CASE;
END ARCHITECTURE simple;

20-46 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simultaneous PROCEDURAL Statement


A simultaneous procedural statement provides a sequential notation for expressing Differential
and Algebraic Equations. Procedural statements are included within the architecture of a model
and are not invoked with a calling mechanism.
[label_name:]
PROCEDURAL [IS]
declarations
BEGIN
sequential_statements
END PROCEDURAL [label_name];

declarations

Declarations include data types, constants, signals, files, variables,


attributes, subprograms, and other information used in the model
description.

sequential statements Statements that are executed in the order in which they appear, that define
algorithms for the execution of a subprogram or process.
ENTITY fktarccos IS
GENERIC (TS : REAL := 0.0);
PORT (QUANTITY INPUT : IN REAL;
QUANTITY VAL : OUT REAL);
END ENTITY fktarccos;
ARCHITECTURE behav OF fktarccos IS
QUANTITY temp_val : REAL := 0.0;
BEGIN
PROCEDURAL
BEGIN
IF (INPUT>-1.0) AND (INPUT<1.0) THEN
temp_val := arccos(INPUT);
ELSIF (INPUT = -1.0) THEN
temp_val := MATH_PI;
ELSE
temp_val := 0.0;
END IF;
END PROCEDURAL;
VAL == temp_val'ZOH(TS);
END behav;

VHDL-AMS Models in Simplorer 20-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simultaneous NULL Statement


A simultaneous NULL statement specifies explicitly that no action needs to be
performed.
[label_name:]
NULL;
LIBRARY IEEE;
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
ENTITY two_port IS
GENERIC
(param : REAL := 1.0;
mod_type : INTEGER := 0);
-- RESISTOR(0); CAPACITOR(1);
-- INDUCTOR(2)
PORT
(TERMINAL p,m : ELECTRICAL);
END ENTITY two_port;
ARCHITECTURE behav OF two_port IS
QUANTITY v ACROSS i THROUGH p TO m;
BEGIN
CASE mod_type USE
WHEN 0 => v == i*param;
WHEN 1 => i == param*v'dot;
WHEN 2 => v == param*i'dot;
WHEN OTHERS => NULL;
END CASE;
END ARCHITECTURE behav;

Identifiers, Literals, and Expressions


Identifiers and literals are operands representing values of constants, variables, functions and so on
in expressions. Expressions perform arithmetic or logic computations by applying an operator to
one or more operands.

Identifiers
Literals
Expressions

20-48 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Identifiers
An identifier is the name of a constant, variable, function, signal, entity, port, subprogram, or
parameter and returns that objects value to an operand.
Identifiers in VHDL-AMS must begin with a letter, and can comprise any combination of letters,
digits, and underscores. Identifiers must not end with an underscore and must not include two
successive underscore character. Also no space is allowed within an identifier since a space is a
separator.
An indexed identifier is the name of one element of an array variable or signal. The expression
must return a value within the arrays index range. The value returned to an operator is the
specified array element.
letter { [underscore] letter_or_digit } -- identifier
letter { [underscore] letter_or_digit } (expressions) -- indexed identifier
Voltage1, power_dissipated, product_of_sums
voltage(2), current(3+1)

VHDL-AMS Models in Simplorer 20-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Literals
A literal (constant) operand can be a numeric, a character, an enumeration, or a string literal.
There are two forms of numeric literals: integer and real literals. Integer literals represent a whole
number. Real literals can represent fractional numbers and always include a decimal point
preceded and followed by at least one digit.
Both types of numeric literals can use exponential notation and can expressed in a base. A decimal
literal is written in base 10 and a based literal is written in a base from 2 to 16 and is composed of
the base number, a number sign (#), the value in the given base, and another number sign (#).
base#digits# -- base must be a decimal number
2#101# -- decimal 5
16#AA#
16#f.1f#E+2 -- floating, exponent is decimal

Character literals are single characters enclosed in single quotation marks, for example 'a'.
Character literals are used both as values for operators and in defining enumerated types, such as
CHARACTER and BIT.
Enumeration literals are values of enumerated types. The two kinds of enumeration literals are
character literals and identifiers. Character literals are described earlier. Enumeration identifiers
are those listed in an enumeration type definition. If two enumerated types use the same literals,
those literals are overloaded.

20-50 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

TYPE ENUM_1 IS (AAA, BBB, 'A', 'B', ZZZ);


TYPE ENUM_2 IS (CCC, DDD, 'C', 'D', ZZZ);
AAA -- Enumeration identifier of type ENUM_1
'B' -- Character literal of type ENUM_1
CCC -- Enumeration identifier of type ENUM_2
'D' -- Character literal of type ENUM_2
ENUM_1'(ZZZ) -- Qualified because overloaded

String literals are one-dimensional arrays of characters enclosed in double quotation marks ( ).
The two kinds are:

Character strings, which are sequences of characters in double quotation marks, for example,
ABCD.
Bit strings, which are similar to character strings but represent binary (B), octal (O), or
hexadecimal (X) values. For example, B1101. The digits in a bit string literal value can be
separated with underscores (_) for readability.

x"ffe"
-- 12-bit hexadecimal value, digits 0 to 9 and A to F
-- each value represents four BITs in the generated bit vector (array)
o"777"
-- 9-bit octal value, digits 0 to 7
-- each octal digit represents three BITs in the generated bit vector (array)
b"1111_1101_1101"
-- 12-bit binary value, digits 0 or 1, each bit in the string represents
-- one BIT in the generated bit vector (array)

VHDL-AMS Models in Simplorer 20-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Arithmetic and Logical Expressions


Expressions in VHDL-AMS are similar to those of most high-level languages. Data elements must
be of the same type, or subtypes of the same base type. Expressions perform arithmetic or logical
computations by applying an operator to one or more operands. Operators specify the computation
to perform, operands are the data for the computation.
Logical

Predefined operators for types BIT and BOOLEAN.

Relational

AND | OR | NAND | NOR | XOR | XNOR | NOT


Predefined operators for all types except files.
= | /=

Predefined operators for scalar and discrete array types.


< | <= | > | >=

Shift

Relational operators include tests for equality (=), inequality (/=), and
ordering of operands (<, <=, >, >=). The operands of each relational
operator must be of the same type. The result type of each relational
operator is the predefined type BOOLEAN.
sll | srl
Shift left/right logical.
sla | sra

Shift left/right arithmethic.

rol | ror

Rotate left/right logical.

Operators for any one-dimensional array type whose element type is either
of the predefined types BIT or BOOLEAN (left operant) and predefined
type INTEGER (right operand). The result type of each shift operator is the
same as the left operand.

20-52 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Adding

Predefined operators for any numeric type.


+|

Predefined operator for any one-dimensional array type.


&

For each of these adding operators, the operands and the result are of
the same type.
Predefined for any integer and any floating point type.

Multiplying

Concatenate, a & b makes one array

*|/

Predefined for any integer type.


mod | rem a mod b takes sign of b, a rem b takes sign of a

Miscellaneous

For each of these multiplying operators, the operands and the result
are of the same type.
Predefined for any numeric type.

abs

absolute value

**

a** is a

The exponential operator ** is predefined for each integer type and


for each floating point type.

Predefined Data Types


The following table shows predefined types from the package STANDARD. The data type names
are not technically reserved words but they represent a common standard. To avoid misunderstandings, do not re-define them. The standard package file is provided on the tutorial CD.
Data Type
BIT

Values
'1', '0'

Example
Q <= '1';

BIT_VECTOR Array of bits.

DataOut <= "00010101";

BOOLEAN

TRUE, FALSE

EQ <= True;

INTEGER

-2, -1, 0, 1, 2, 3, 4

Count <= Count + 2;

REAL

1.0, -1.0E5

V1 = V2 / 5.3

TIME

1 ua, 7 ns, 100 ps

Q <= '1' after 6 ns;

CHARACTER

'a', 'b', '2', '$'

CharData <= 'X';

STRING

Array of characters.

Msg <= "MEM: " & Addr

VHDL-AMS Models in Simplorer 20-53

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Predefined Type Declarations


TYPE INTEGER IS RANGE -2147483647 TO -2147483648;
TYPE BOOLEAN IS (FALSE,TRUE);
TYPE BIT IS ('0','1');
TYPE CHARACTER IS ( character_set_used_by_the_system );
TYPE SEVERITY_LEVEL IS (note,warning,error,failure);
TYPE REAL IS RANGE -9.9e99 TO 9.9e99;
TYPE TIME IS RANGE -9.9e99 TO 9.9e99
UNITS fs;
ps = 1000 fs;
ns = 1000 ps;
us = 1000 ns;
ms = 1000 us;
sec= 1000 ms;
min=
60 sec;
hr =
60 min;
END UNITS;
TYPE DOMAIN_TYPE IS (QUIESCENT_DOMAIN, TIME_DOMAIN, FREQUENCY_DOMAIN);
TYPE STRING IS ARRAY( 1 TO 2147483647 ) OF CHARACTER;
TYPE BIT_VECTOR IS ARRAY( 0 TO 2147483647 ) OF BIT;

Predefined Attributes
An object attribute returns information about a signal or data type. Predefined attributes denote values, functions, types, and ranges associated with various kinds of named entities.
The syntax of an attribute is some named entity followed by an apostrophe and one of the following
attribute names. A parameter list is used with some attributes. The following abbreviations are used
in the tables:

Q represents a quantity
S represents a signal
X represents a signal or variable
T represents a type
A represents an array or constrained array type
t represents an expression for time
e represent a static expression

20-54 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Quantity Attributes
Q'DOT
-- value of the derivative with respect to time of Q at the time the attribute
-- is evaluated
Q'INTEG
-- value of the time integral of Q from time 0 to the time the attribute is evaluated
Q'DELAYED[(t) ]
-- value of quantity Q delayed by t; if t is omitted, it defaults to 0.0
Q'ABOVE(e)
-- true if Q-e is sufficiently larger than 0.0, false if Q-e is sufficiently smaller
-- than 0.0. This attribute always returns a boolean signal (TRUE/FALSE).
Q'ZOH(e[,INITIAL_DELAY])
-- constant value of Q at the sample times INITIAL_DELAY+k*e until the next sample
-- time, with e as sample frequency and INITIAL_DELAY as the time of the first sampling
-- (k is any non-negative integer); if INITIAL_DELAY is omitted, it defaults to 0.0
Q'LTF(NUM,DEN)
-- Laplace transfer function of Q with NUM as the numerator and NEN as
-- denominator polynomials
Q'ZTF(NUM,DEN,e[,INITIAL_DELAY])
-- Z transfer function of Q with NUM as the numerator and NEN as denominator
-- polynomials, with e as sample frequency and INITIAL_DELAY as the time of the
-- first sampling; if INITIAL_DELAY is omitted, it defaults to 0.0
S'RAMP[(TRISE[,TFALL])]
-- quantity which follows the corresponding value of S with delay of rise time and
-- fall time; if TRISE or TFALL is greater than 0.0, the corresponding value change
-- is linear from the current value of S to its new value, whenever S has an event
S'SLEW[(RISING_SLOPE[,FALLING_SLOPE])]
-- quantity which follows the corresponding value
-- slope; if RISING_SLOPE is less than REAL'HIGH,
-- greater than REAL'LOW, the corresponding value
-- value of S to its new value, whenever S has an

of S with rising slope and falling


or if the value or FALLING_SLOPE is
change is linear from the current
event

Q'SLEW[(MAX_RISING_SLOPE[,MAX_FALLING_SLOPE])]
-- quantity which follows the corresponding value of Q, but its derivative time
-- is limited by MAX_RISING_SLOPE and MAX_FALLING_SLOPE

VHDL-AMS Models in Simplorer 20-55

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Signal Attributes
S'DELAYED[(t)] -- value of signal S at time now-t; if t is omitted, it
defaults to 0.0
S'STABLE -- true if no event is occurring on signal S
S'STABLE(t) -- true if no event has occurred on signal S for t time units
S'QUIET -- true if signal S is quiet (no event this simulation cycle)
S'QUIET(t) -- true if signal S has been quiet for t time units
S'TRANSACTION -- bit value which toggles each time when signal S changes
S'EVENT -- true if an event has occurred on signal S in the current cycle
S'ACTIVE -- true if signal S is active in the current cycle
S'LAST_EVENT -- time since the last event on signal S
S'LAST_ACTIVE -- time since signal S was last active
S'LAST_VALUE -- value of signal S prior to latest change
S'DRIVING -- false if the current driver of signal S is a null transaction
S'DRIVING_VALUE --current driving value of signal S

Data Type Bounds


T'BASE -- base type of data type T
T'LEFT -- left bound of data type T (largest if downto)
T'RIGHT -- right bound of data type T (smallest if downto)
T'HIGH -- upper bound of data type T (may differ from left bound)
T'LOW -- lower bound of data type T
T'ASCENDING -- true if range of T defined with to

Enumeration Data Types


T'IMAGE(X) -- string representation of X that is of discrete type T
T'VALUE(X) -- value of discrete type T converted from the string X
T'POS(X) -- integer position number of value of X of discrete type T
T'VAL(X) -- value of discrete type T at position number X
T'SUCC(X) -- value of discrete type T at position number X-1
T'PRED(X) -- value of discrete type T at position number X+1
T'LEFTOF(X) -- value of discrete type T at position left of X
T'RIGHTOF(X) is the value of discrete type T at position right of X

20-56 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Array Indexes for an Array A


For multi-dimensional array, Nth index must be indicated in the attribute specifier. N can be
omitted for a one-dimensional array.
A'LEFT -- leftmost subscript of array A or constrained array type
A'LEFT(N) -- leftmost subscript of dimension N of array A
A'RIGHT -- rightmost subscript of array A or constrained array type
A'RIGHT(N) -- rightmost subscript of dimension N of array A
A'HIGH -- highest subscript of array A or constrained array type
A'HIGH(N) -- highest subscript of dimension N of array A
A'LOW -- lowest subscript of array A or constrained array type
A'LOW(N) -- lowest subscript of dimension N of array A
A'RANGE -- range A'LEFT to A'RIGHT or A'LEFT downto A'RIGHT
A'RANGE(N) -- RANGE of dimension N of array A
A'REVERSE_RANGE -- range of array A with to and downto reversed
A'REVERSE_RANGE(N) -- REVERSE_RANGE of dimension N of array A
A'LENGTH -- integer value of the number of elements in array A
A'LENGTH(N) -- number of elements of dimension N of array A
A'ASCENDING -- boolean True if range of array A is defined with to
A'ASCENDING(N) -- boolean True if dimension N of array A is defined with to

Reserved Words
The following words are reserved for the VHDL-AMS language, so they cannot be used as identifiers. Reserved words are printed in bold in this document.
Word

Description

ABS

Operator, absolute value of right operand.

ACCESS

Declares a type for creating access objects, pointers.

ACROSS

Declares the across quantity of a particular NATURE type.

AFTER

Defines a delay value (time after NOW) in signal assignment statements.

ALIAS

Defines an alternate name for an object.

ALL

Makes all items in a package visible, refers to all names of a class, or refers
to all instances of a component.

AND

Operator, logical AND of left and right operands.

ARCHITECTURE

Primary design unit. Defines an architecture.

ARRAY

Declares an array data type containing a collection of elements that are all of
the same type (array, vector, or matrix).

VHDL-AMS Models in Simplorer 20-57

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Word

Description

ASSERT

Checks a condition (occurrence of an event) and provides a report if the


condition is not TRUE.

ATTRIBUTE

Defines an attribute name and its type.

BEGIN

Defines the begin of a BLOCK, ENTITY, ARCHITECTURE, IF, or


PROCESS statement.

BLOCK

Starts the description of a block structure.

BODY

Starts the description of various subprograms that are declared by the


package bodys associated package declaration.

BUFFER

Port mode. Indicates a port which can be used for both input and output, and
it can have only one source.

BUS

Signal mode. Defines a bus that floats to a user-specified value when all of
its drivers are turned off.

CASE

Sequential statement. Executes one of several sequences of statements


within a PROCESS, PROCEDURE, or FUNCTION structure, depending
on the value of a single expression.

COMPONENT

Starts a component declaration.

CONFIGURATION *

Primary design unit. Defines a configuration for an ENTITY.

CONSTANT

Declares an identifier name for a constant value (read only).

DISCONNECT

** Signal driver condition. Defines the time delay to disconnect the guarded
feature of a signal which is part of a guarded signal statement.

DOWNTO

Defines a descending range in a RANGE statement or other statement


which includes a range.

ELSE

Defines the final alternative in an IF or WHEN statement.

ELSIF

Defines an interim alternative in an IF statement.

END

Defines the end of an ENTITY, ARCHITECTURE, CONFIGURATION,


PACKAGE, PACKAGE body, or PROCESS statement.

ENTITY

Primary design unit. Declares the input and output ports of a design.

EXIT

Sequential statement. Causes the immediate termination of a LOOP.

FILE

Declares a type for creating file handles and an identifier as a file object.

FOR

Identifies a parameter specification in a LOOP statement or time expression


in a WAIT statement.

FUNCTION

Defines a group of sequential statements that are executed when the function
is called.

20-58 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Word

Description

GENERATE

Copies a set of concurrent statements, or executes a set of concurrent


statements selectively if a specified condition is met.

GENERIC

Specifies static information to be communicated to a model from its


environment for all architectures.

GROUP

** Defines a group template or specific group that can get an attribute.

GUARDED

Limits the execution of a SIGNAL statement. Causes a WAIT until a signal


changes from FALSE to TRUE.

IF

Sequential statement. Performs a sequence of statements dependent on a


defined condition.

IMPURE

Declares a function that is assumed to have side effects (return a different


value given the same actual parameters).

IN

Port mode. Indicates a port which can be used for input.

INERTIAL

Clause in delay mechanism, followed from a time. Signals smaller than


delay time are suppressed.

INOUT

Port mode. Indicates a port which can be used for both input and output.

IS

Used as a connective in various statements.

LABEL

Defines a label name in attribute statements.

LIBRARY

Designates a simple library name to identify libraries from which design


units can be referenced.

LINKAGE

Port mode. Indicates a port which can be used for both input and output, and
it can only correspond to a signal.

LITERAL

Entity class. Specifies an ENTITY in ATTRIBUTE statements.

LOOP

Sequential statement. Executes a series of sequential statements multiple


times.

MAP

Associates values of constants or ports within a structure to constants and


ports outside the structure.

MOD

Operator, left operand modulo right operand.

NAND

Operator, logical NAND of left and right operands.

NATURE

Defines the ACROSS and THROUGH types of an object with a particular


energy domain (nature).

NEW

NEXT

** Creates an object of a specified type and returns an access value that refers
to the created object.
Sequential statement. Cause the next iteration in a LOOP.

VHDL-AMS Models in Simplorer 20-59

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Word
NOISE

Description
** Declares the source aspect of a noise source quantity (serves as a source in a
frequency domain model) in a quantity declaration.

NOR

Operator, logical NOR of left and right operands.

NOT

Operator, complement of right operand.

NULL

Sequential statement. Specifies explicitly that no action is needed.

OF

Used as a connective in various statements.

ON

Used as a connective in various statements.

OPEN

Designates the initial file characteristic or indicates a port that is not


connected to any signal.

OR

Operator, logical OR of left and right operands.

OTHERS

Defines all remaining elements for example in a CASE statement, a selected


assignment, and ATTRIBUTE specification.

OUT

Port mode. Indicates a PORT which can be used for output.

PACKAGE

Primary design unit. Defines a package and package body.

PORT

Specifies dynamic information to be communicated to a model from its


environment for all architectures.

POSTPONED

Declares a PROCESS as a postponed process. Postponed processes do not


execute until the final simulation cycle at the currently modeled time.

PROCEDURE

Starts the description of a group of sequential statements that are to be


executed when the procedure is called.

PROCESS

Starts the description of a group of sequential statements and is considered to


be a single concurrent statement within a VHDL-AMS architecture.

PURE

Declares a FUNCTION that is assumed to have no side effects.

QUANTITY

Declares a PORT in an ENTITY declaration or ACROSS, THROUGH,


and REFERENCE types in a NATURE declaration.

RANGE

Defines a range constraint for a scalar type.

RECORD

Defines a record type and its corresponding element types.

REFERENCE

Declares the reference quantity of a particular NATURE type.

REGISTER

Signal mode. Defines a storage register that retains its last driven value when
all of its drivers are turned off.

REJECT

Clause in delay mechanism, followed from a time. Signals smaller than


reject time are suppressed.

REM

Operator, remainder of left operand divided by right operand.

20-60 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Word

Description

REPORT

Defines a text string that is displayed when the condition in an ASSERT


statement is not TRUE.

RETURN

Sequential statement. Terminates a subprogram (PROCEDURE or


FUNCTION) and returns control to the calling object.

ROL

Operator, left operand rotated left by right operand.

ROR

Operator, left operand rotated right by right operand.

SELECT

Selects and assigns a value to a target signal from among a list of


alternatives, based on the value of a given expression.

SEVERITY

Defines the type of the message in an ASSERT statement.

SHARED

Declares shared objects.

SIGNAL

Declares an identifier as a signal object.

SLA

Operator, left operand shifted left arithmetic by right operand.

SLL

Operator, left operand shifted left logical by right operand.

SPECTRUM

Declares the source aspect of a spectral source quantity (serves as a source in


a noise domain model) in a QUANTITY declaration.

SRA

Operator, left operand shifted right arithmetic by right operand.

SRL

Operator, left operand shifted right logical by right operand.

SUBNATURE

Declares a nature that is a subnature of an existing NATURE.

SUBTYPE

Declares a type that is a subtype of an existing TYPE.

TERMINAL

Declares a terminal object of a particular NATURE.

THEN

Defines the first choice in an IF statement when the condition is TRUE.

THROUGH

Declares the through quantity of a particular NATURE type.

TO

Defines an ascending range in a RANGE statement or other statement


which includes a range.

TOLERANCE

Declares a tolerance that can be applied to scalar quantities.

TRANSPORT

Clause in delay mechanism, followed from a time. Defines a non-inertial


delay in a signal assignment statement.

TYPE

Declares a type.

UNAFFECTED

Indicates in a conditional or selected signal assignment when the signal is


not to be given a new value.

UNITS

Declares physical types.

UNTIL

Defines a condition to terminate a WAIT statement.


VHDL-AMS Models in Simplorer 20-61

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Word

Description

USE

Makes a package available to this design unit.

VARIABLE

Declares an identifier as a variable object.

WAIT

Suspends temporarily a process until a specified time has passed, a specified


condition is met, or an event occurs which affects one or more signals.

WHEN

Defines a condition during which an EXIT or NEXT statement will be


executed or defines a choice (or choices) within a CASE statement.

WHILE

Defines a condition during which a LOOP will be executed.

WITH

Defines an expression in a selected signal assignment statement.

XNOR

Operator, logical exclusive NOR of left and right operands.

XOR

Operator, logical exclusive OR of left and right operands.

*
**

Partially supported in Simplorer 8.0.


Not supported in Simplorer 8.0.

Modeling Aspects in Simplorer


Processes
A process statement defines an independent sequential process and is considered to be a single concurrent statement within a VHDL-AMS architecture.
Process statements contain sequential statements but are themselves concurrent statements. They
are the primary means of defining sequential statements. A process statement can include all declarations and sequential statements
.
ARCHITECTURE
PROCESS
declarations
PROCESS
sequential
statements
declarations
PROCESS
ENDsequential
PROCESS statements
declarations
ENDsequential
PROCESS statements
END PROCESS

Concurrent statements

20-62 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Quantities, Signals, and Variables


Description

Direction

Assignment

Quantities

Analog objects

IN OUT

== =>

Signals

Digital objects

IN OUT INOUT

<=

Variables

Auxiliary objects to store intermediate values None

:=

Signal Assignments with Delay


VHDL-AMS offers several variants to perform signal assignments. The following example shows
three delay forms:
ENTITY sequential_sig_assign IS
PORT(SIGNAL output: out bit);
END;
ARCHITECTURE behav OF sequential_sig_assign IS
SIGNAL sig_s,sig_t,sig_i,sig_r : bit;
BEGIN
sig_s <= '1' AFTER 1
ms, '0' AFTER 5 ms,
'1' AFTER 10 ms, '0' AFTER 13 ms,
'1' AFTER 18 ms, '0' AFTER 20 ms,
'1' AFTER 25 ms, '0' AFTER 26 ms;
PROCESS (sig_s)
BEGIN
sig_t <= TRANSPORT sig_s AFTER 3 ms; -- signal assignment 1:1
sig_i <= INERTIAL sig_s AFTER 3 ms;
-- signal assignment without signals smaller than delay time are supressed
sig_r <= REJECT 2 ms INERTIAL sig_s AFTER 3 ms;
-- signal assignment without signals smaller than reject time are suppressed
END PROCESS;
END;

The following figure shows the results of the previous modeling code. The signal sig_s is delayed
and assigned to signals in three different ways:

The signal sig_t represents sig_s with a delay of 3ms.


The signal sig_i represents sig_s with a delay of 3ms without signal changes occurring in an
interval smaller than delay time.
The signal sig_r represents sig_s with a delay of 3ms without signal changes occurring in an

VHDL-AMS Models in Simplorer 20-63

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

interval smaller than reject time.


sig_s

sig_t

sig_i

sig_r

Data Exchange in Mixed-Signal Models


Mixed-signal models use analog and digital statements in their model description. Mixed-signal
assignments should be avoided when other modeling variants can be used. Compiler errors or simulator instabilities can occur when data assignments are not performed in the correct way.
The following sections show examples of assignments from digital to analog values and analog to
digital values. In the examples, quantity_name stands for an analog value, signal_name for a digital
value.

Signal to Quantity Assignment (Digital to Analog)


The first example shows a value assigned in the correct syntax but without any support for the
solver to find a good solution.
quantity_name == signal_name; syntax correct but solver problems can occur

To improve the solver stability, use a 'RAMP or 'SLEW attribute or a BREAK statement. The 'RAMP
and 'SLEW attributes, as well as the BREAK statement, force a synchronization on the minimum
simulator time step HMIN and thus minimize the error deviation of the solver.
The following examples show value assignments in connection with variants to define rise/fall time
and positive/negative slew rate of a digital signal. The rise and fall time as well as positive and negative slew rate should be chosen so as to avoid infinite values of the first derivative for these quantities since this can cause simulator instabilities.
quantity_name == signal_name'RAMP(1.0e-9, 2.0e-9); -- define rise and fall time
quantity_name == signal_name'SLEW(100.0, 200.0); -- limit pos and neg slew rate

20-64 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following examples show value assignments dependent on events applied to a signal.
BREAK ON signal_name; -- assignment when event on signal_name
BREAK quantity_name'DOT => 1000.0 ON signal_name
BREAK qv => -qv when not quantity_'Above(0.0);
quantity_name==signal_name;

Quantity to Signal Assignment (Analog to DIgital)


The first example shows an incorrect way of using a value assignment. The statement is performed
only during initialization, and the signal value is unchanged during rest of simulation. Signal
assignments are characterized by events, and in this case quantities do not create any events.
signal_name <= quantity_name; -- only at init step, wrong assignment

The following example shows a value assignment if the quantity crosses a threshold value of 3.0.
The signal value is of type BOOLEAN since the 'ABOVE attribute returns a TRUE or FALSE. In
the next process, the actual value of the quantity is assigned to the signal. The next value assignment follows only after the quantity crosses the threshold again.
signal_name <= quantity_name'ABOVE(3.0); -- value of signal_name is true or false
PROCESS(signal_name)
BEGIN
signal_name <= quantity_name; -- value of signal_name is actual value + maximum hmin
END;

The following example shows a value assignment at each time interval specified as delay:
clock <= NOT clock AFTER 1ms; -- generates an event at each time step defined as delay
PROCESS(clock)
BEGIN
signal_name <= quantity_name;
END;

Solvability
The analog solver needs a specific set of equations when it evaluates the statements in the model.

The number of equations specified in the model must be equal to the sum of the number of free
quantities, through quantities, and port quantities of mode OUT.
All free quantities and port quantities of mode OUT must appear in a simultaneous equation
within the architecture of the model.

VHDL-AMS Models in Simplorer 20-65

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The following example uses two relevant quantities: I (port quantity of mode OUT) and ct through
quantity. Both quantities occur in the equations of the model.
LIBRARY IEEE;
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
ENTITY AM IS
PORT (QUANTITY I : OUT REAL; -- port quantity of mode out
TERMINAL p,m : ELECTRICAL);
END ENTITY AM;
ARCHITECTURE behav OF AM IS
QUANTITY v ACROSS ct THROUGH p TO m; -- through quantity ct
BEGIN
I == ct; -- first equation with port and through quantity
v == 0.0; -- second equation
END behav;

The digital solver needs a minimum simulation step HMIN that is less than or equal to the least delay
specified with an AFTER statement.

WORK Library
Packages and models of a library are always compiled in the current WORK library. All packages
and models of that library are visible to other models of the same library and can be instantiated as
components in these models. If a model that instantiates models of the WORK library is copied to
another library, the WORK library of this other library is used. That means, the same instantiation
uses different models, because the WORK library was changed.
Library 1

WORK

Package
R
C
RC
LIBRARY WORK;
USE WORK.ALL;

ARCHITECTURE behav OF RC IS

R1: ENTITY WORK.R(behav)


--R from library 1 is used
C2: ENTITY WORK.C(behav)
--C from library 1 is used

Library 2

WORK

Package
R
C
RC
LIBRARY WORK;
USE WORK.ALL;

ARCHITECTURE behav OF RC IS

R1: ENTITY WORK.R(behav)


--R from library 2 is used
C2: ENTITY WORK.C(behav)
--C from library 2 is used

Models defined in VHDL-AMS text subsheets that are placed on a model sheet are also compiled
in the current sheets WORK library. All models of these subsheets are visible to other subsheets of
the same sheet at any hierarchy level.
Entity names defined in subsheets must be unique within the entire sheet, because an entity with a
duplicate name will overwrite the previously defined one.

20-66 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

The VHDL-AMS working directory of Simplorer is


\Ansoft\Simplorer8\CPL\VHDLA\VHDL_WORK\.
To make certain that the correct model is used, delete the subdirectories in this folder from time to
time.

Alias for File Names


A file alias name can be defined for a library name in Simplorer. Choose Tools>Manage Library
Aliases. Create a new file alias and define alias name and path of the corresponding file. To use
files with names that do not conform to VHDL-AMS identifier rules, such as a file name with
spaces, specify a file alias.

Values on Sheet
In the Simplorer Schematic, parameter values for VHDL-AMS models are entered in component
dialogs. Values can be assigned to each parameter corresponding to the inputs defined in the model
entity. If no value is entered, the default value specified in the model is used.
Note

The syntax of user-defined values must conform to the SML conventions. VHDL-AMS
attributes and syntax cannot be used.

Each value assigned to a parameter is from type REAL. The following table lists possible value
assignments for VHDL-AMS data types and their effects.
Name Value

Default

Data Type

inp1

-1

-1.0

REAL

inp2

var1

0.0

REAL

inp3

ctrl

'1'

BIT

inp4

inp3'left

BIT

Object

Description

SIGNAL

All values are possible. If no default


QUANTITY value is specified, name'LEFT is used
(-1.7e-308).
SIGNAL
SIGNAL

GENERIC

Values between 0 and 2 are possible,


otherwise an error message occurs
during simulation.
if inp<1 then use value 0
if inp>=1 the use value 1

inp5

2.5

10

INTEGER

SIGNAL

inp6

var2

INTEGER

GENERIC

inp7

'H'

STD_LOGI SIGNAL
C

inp8

var3

'0'

STD_LOGI SIGNAL
C

All values are possible. If inp is not


integer value, the integer part of the
value is used.
Values between 0 and 8 are possible,
otherwise an error message occurs
during simulation.

VHDL-AMS Models in Simplorer 20-67

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

In addition to value specifications in the model dialog, OmniCaster models can be used to perform
value assignments. OmniCasters convert different data types correctly if a conversion is possible,
otherwise they reject a connection between the parameters.

Vector Inputs on Sheet


Vector inputs appear in the component input dialog as parameters with index. Values for dynamic
vectors can only be assigned with a wire.
ENTITY DAC IS
GENERIC (MIN:
MAX:
PORT (
SIGNAL INPUT:
QUANTITY VAL:
END ENTITY DAC;

REAL := -1.0;
REAL := 1.0);
IN BIT_VECTOR(3 DOWNTO 0):=(OTHERS =>'0');
OUT REAL := 0.0);

20-68 VHDL-AMS Models in Simplorer

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

21
Simplorer Modeling Language

The Simplorer Modeling Language (SML) is the general internal description language used in Simplorer. Using the Schematic editor, components are positioned on the sheet and connected to form a
graphical representation of a model. The SML description is automatically generated from this
graphical model.
Using the SML text editor, the model description in SML notation can be edited, and its syntax
checked for validity.
The current version of the SML description language used by Simplorer is SML v2.0. Using the
Tools>Import Simulation Models command, you can convert SML files created in previous versions of Simplorer into the 2.0 format.
This chapter explains the common SML statements. Complete parameter lists of internal Simplorer
models are listed with the corresponding models.
This chapter contains information on:

Common SML Conventions


SML Model Descriptions
Structural Models
Configuration Controls

Simplorer Modeling Language 21-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Common SML Conventions


This section gives an overview of the following conventions used in SML descriptions.

Comments
Names
Separators
Continuation Sign
Keywords, Pre-Defined Names, and Constants
Nodes
Model Attributes

21-2 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Comments
In SML source code comments can be inserted to:

Document the text (author, date, etc.)


Provide general description of a modeling task
Remove temporary text lines.

Simplorer supports two types of comments:

Single Line Comments: Text after a double slash "//" is interpreted as comment up to the line
end.
Multi-Line Comments: The symbols "/*" and "*/" separate comments from the other text. All
characters within these marks are ignored by the simulator.

Example:
SMLDEF MacroRC
{
/* electrical pins */
PORT ELECTRICAL : N1;
PORT ELECTRICAL : N2;
/* parameter pins */
PORT REAL in RESISTANCE[Ohm] : ValueR = 1k; // value of the
resistance
PORT REAL in CAPACITANCE[F] : ValueC = 1u; // value of the
capacitance
/* Output values - unused
PORT REAL out : VR = R1.V;
PORT REAL out : VC = C1.V;
*/
INTERN
INTERN

R
C

R1
C1

N1:=N2,
N1:=N2,

N2:=GND ( R := ValueR ) ;
N2:=N1 ( C := ValueC ) ;

Simplorer Modeling Language 21-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Names
SML supports the following kinds of names.

File Names
Define Names
Type Names
Instance Names

File Names
File names specify a file name and path in a definition.
Note

File names must be surrounded by quotation marks.

"

[a-zA-Z]:\

All characters
except for
\n * ? " : . \

"
.

\\
.\

All characters
except for
\n * ? " : . \

Define Name and Value


A define name will be replaced by a define value set in a preprocessor instruction without attention
to the context. The syntax rules of the context are true.

[a-zA-Z]

[0-9]

[]

[a-zA-Z]

[]
_

Type Names
Type names specify a model (element) type, e.g. R, GS, ST, EXP, or definition names of userdefined C models, structural models, and models of sub-simulators. Type names must be clear. You
cannot use an type name twice unless other parameters (source, index, simulator) make the definition clear. The names may consist of letters, digits and underscores and can have a maximum of 50
characters.
Note

All names are case sensitive. The first character must always be a letter or underscore.

The following are not allowed as type names:


21-4 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SML notation keywords


Names of standard mathematical functions
Names of variable types (e.g. real)

[a-zA-Z]

[0-9]

[]

[a-zA-Z]

[]
_

Instance Names
Instance names specify a model (element) in a modelling level, e.g. circuit components, blocks,
states, time functions, characteristics, standard variables, subsheets, and macros. Instance names in
a modelling level must be clear. You cannot use an instance name twice in the same modelling
level. The names may consist of letters, digits and underscores and can have a maximum of 50
characters.
Note

All names are case sensitive. The first character must always be a letter or underscore.

The following are not allowed as instance names:

SML notation keywords


Names of standard mathematical functions
Names of variable types (e.g. real)

[a-zA-Z]

[0-9]

[]

[a-zA-Z]

[]
_

Simplorer Modeling Language 21-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Separators
Except for file names, which are surrounded by quotation marks, blank spaces, tabs, and carriage
returns will be considered as separators. File names can be contain blank spaces. In some cases special separators are defined.

Comma
Separator between nonconservative nodes, dimension statements of multidimensional quantities, and index statements for access to multidimensional nodes.

Assignment ( := )
Separator between name and value of a nonconservative node respectively separator between
left and right side of an equation.

Semicolon
Separator between model instances.

Brackets
( ) Start and end of a nonconservative node list, parameters of math functions, or for grouping
of math operations.
{ } Start and end of a model definition or a group of similar elements.
[ ] Start and end of a dimension statement of multidimensional quantities or the index list for
access to multidimensional nodes.

Continuation Sign
If an input must be carried over to the next line, use the back slash ( \ ) as a continuation sign.

Keywords, Pre-defined Functions and Operators, Constants


Keywords
INTERN, MODEL, SMLDEF, *MODELDEF, UMODEL, COUPL, SIMCTRL, SIMCFG,
OUTCTRL, OUTCFG, RESULT, RUN
Note

SMLDEF has replaced MODELDEF in Simplorer 8. However, the MODELDEF keyword


is still recognized to preserve backward compatibility with Simplorer 7.

Pre-defined mathematical functions


sin, cos, tan, sinh, cosh, tanh, asin, acos, atan, squ, sqrt, log, ln, gel50, gel16, gel, rad, grd,
mod360, mod60, abs, int, frac, integ, re, im, arg, gety

Pre-defined mathematical operators


arithmetic operators ( + - * / ^ ), logic operators ( AND, NOT, OR, NAND ), comparison operators ( <, >, =, <=, >=, <> )

Mathematical constants

21-6 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

PI, NULL, TRUE, FALSE

Nodes
Conservative Nodes
Instance Name

Nonconservative Nodes
,
(

Value string
Parameter name

:=

Model Attributes
,
Attribute key

Attribute type

Value string
Parameter name

:=

Attribute key:

SRC: and DST:

Attribute types with


SRC:

DLL: Name of DLL file, which contains the model (UMODEL).

Attribute types with


DST:

SIM: Name of the external subsimulator, which calculates the models


and, for immanent models, those also provide.

DB: Name of data base source file, which contains the model text
(MODEL, COUPL) or model DLL (UMODEL).

Name of internal subsimulators for equation calculation (FML models).


MODEL TFR1P2W TFR1P2W1 N1_A:=N0002, N1_B:=GND, N2_A:=N0005,
N2_B:=N0006 (LM:=0.1 ,LS1:=1m ,LS2:=1m ,RFE:=1.0e+018 ,RCU1:=1u
,RCU2:=1u ,KTR:=1 ) SRC: DB(LIB:="Basic Elements\Basic Elements");
UMODEL VOL_CONST VOL_CONST1 H1:=N0002
SRC: DLL( File:="Hydraulic.dll") ;

( VOL:=100u ,B:=700meg )

INTERN EQU {variable1 := A+B ; } DST: SIM(Type:=SFML, Sequ:=INIT);


Simplorer Modeling Language 21-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SML Model Descriptions


The essential parts of an SML model description are:

Preprocessor instructions (# statements)


Structural models (subsheets)
Model instances
Simulator configurations
Output configurations

Keywords separate the SML source code into different sections. Within a section every line ends
with a semicolon. For easier legibility, spaces can be inserted and lines indented in the lines of
code.

Preprocessor Instructions
Preprocessor instructions begin with a number sign (#) and must be ended with a newline character (enter). You can arrange as many as you like in any order.
Instruction

Description

#DEFINE

Inserts equivalent names.

#UNDEF

Removes the equivalent name.

#INCLUDE

Includes an SML file.

#IFDEF

Includes SML statements dependent on #DEFINE instructions.

#IFNDEF

Includes SML statements dependent on #DEFINE instructions.

#ELSE

Includes SML statements dependent on #DEFINE instructions.

#ENDIF

Closes an #IFDEF/#IFNDEF instruction.

#SET

Sets initial values in a simulation description.

#EXTSIM

Includes models of external subsimulators.

#ENDEXTSIM

Closes an #EXTSIM instruction.

#INCLUDE Instruction
The #INCLUDE instruction includes the defined SML file at the position of the instruction and
forces the compiler to continue the process with the include file. This file contains a part of the

21-8 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

model description, which can consist of any SML text, as SML source code, model definitions,
source code of models of external simulators, definitions or comments,.
File name

#INCLUDE

File name:

File name that must be enclosed in quotation marks.

#INCLUDE "Models\my submodel.sml"


Thus parts of models can be used in several problems. The include instruction can be nested and is
limited only to the maximum number of open files allowed by the operating system. However, an
SML file cannot be included recursively.
SML components or models are arranged according to the sequence of the include assignments.
This sequence of components is important in the block diagram and for formulas and value assignments in the state graph, where the sequence of processing can be decisive for the whole system.

#SET Instruction
The #SET instruction defines values of initial parameters and states (initial values of capacitors,
inductors, integrators) before the simulation start, independent of the assignments in the SML
description. You can set the values in a separate file or at the beginning of the SML source text. A
separate file must be included with the #INCLUDE command in the model description.
Instance name1

#SET

Parameter name

Value

Instance name2

Instance name1:

Name of the model, which has initial parameters.

Instance name2:

Additional instance names of structural models if the model with initial


parameters is placed in a sub structure. To set initial parameters in
structural models all instance names must named before the parameter
name beginning from the outside inwards.

Parameter name:

Name of the initial parameter.

Value:

Value of the initial parameter. Numerical value with or without unit


suffix.

#SET

C1.V0

-6.59909u

#SET

Sym1.N0 9894.02

#SET

State1.Z 1

#SET

Sheet1.Sheet2.Lr1.I0 1.4121e-3

Simplorer Modeling Language 21-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Thus a simulation can be started with values of a steady-state condition. If an initial value is
defined with a #SET instruction twice, the last assignment is used.

#DEFINE Instruction
The #DEFINE instruction assigns the defined value to a name, independent of the assignments in
the SML file. All following parameters with the define name are set to the value in the #DEFINE
instruction. A define name can also be used in an #IFDEF and #IFNDEF instruction as condition.
You can place the definitions at the beginning of the SML source text or in a separate file. A separate file must be included with the #INCLUDE command in the model description.
#DEFINE

Define name
Define value

Define name:

Name of an user-defined parameter of which value will be replaced


(no parameter names of models possible).

Define value:

Character string which replaces the value of the parameter in the


model description.

#DEFINE INIT
#DEFINE Initvalue 100
An empty character string as define value removes the value of the define name in the model
description. In an #IFDEF and #IFNDEF condition, however, the define name can be used.

#UNDEF Instruction
The #UNDEF instruction removes the definition of the defined name. All following values of the
define name will not be replaced. The define name will be considered of #IFDEF and #IFNDEF
conditions as undefined. You can place the definitions at the beginning of the SML source text or in
a separate file. A separate file must be included with the #INCLUDE command in the source text.
#UNDEF

Define name:

Define name

Name of an user-defined parameter which was defined in an #DEFINE


instruction.

#UNDEF MIT_INIT
#UNDEF Init_value

#IF Compile Instruction


The #IFDEF and #IFNDEF instructions controls the compilation of a SML file, dependent on existing (with #DEFINE created) or not existing define names. If the define name exists (#IFDEF), or
the define name not exists (#IFNDEF), the compiler continues the process directly after the statement to the next #ENDIF - or #ELSE - instruction. If no condition is true, the compilation is interrupted to the next #ENDIF - instruction. You can place the definitions at the beginning of the SML
21-10 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

source text or in a separate file. A separate file must be included with the #INCLUDE command in
the source text.
#IFDEF

Define name

SML 2.0 Statement

#IFNDEF

SML 2.0 Statement

#ELSE

Define name:

#ENDIF

Name, which is test of #IFDEF or #IFNDEF instructions.

#IFDEF MIT_INIT
#SET C1.U0 -6.59909
#ENDIF

#EXTSIM Instruction
The instructions #EXTSIM and #ENDEXTSIM includes directions and model descriptions of an
external subsimulator (e.g.SimVHDL). These directions and model descriptions will be write in a
separate text file and transferred to the compiler of the external subsimulator. The models defined
in an #EXTSIM instruction can be used with COUPL in the SML description.
#EXTSIM

Simulator name

Language name

Model description
#ENDEXTSIM

Simulator name:

Name of the external registered subsimulator of the Simplorer simulator


SIM2000 corresponding to the entry in the registration file Register.CFG.

Language name:

Name of the registered language name of the external subsimulator (e.g.


"VHDLA" for subsimulator SimVHDL) corresponding to the entry in the
registration file Register.CFG.

Model description:

Model description in the syntax of the external subsimulator.

Simplorer Modeling Language 21-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

#EXTSIM (VHDLSim,VHDLA)
entity RC is
end;
architecture behav of RC is
terminal k1,k2,gnd: electrical;

begin
vout==1.0; --direct voltage
i_r==u_r/1000.0;
i_c==1.0e-6 * u_c'dot;
end;
#ENDEXTSIM

Model Instances
The structure of a simulation description is defined in general by:

different components (circuit components, blocks, states, equations, macros, C models, )


the nodes (conservative, non-conservative) of the components
component parameters.

A definition for a component consist of the model instance, the component type and instance name,
followed by the conservative nodes and nonconservative nodes (parameters), which must be separated by at least one blank space. In some cases additional attributes can be defined.
Types of model instances in the SML:

INTERN
MODEL
UMODEL
COUPL

INTERN Model Instance


The INTERN model instance is used for internal simulator models, which are provided of the
BASIC ELEMENTS model library. The keyword INTERN can be omitted. Internal models in the
Basics library are:

Circuit components to model electrical circuits.


Block diagrams to model control and cybernetic systems consisting of different blocks with
typical transfer behaviors.
State graphs to model discontinuous processes as event oriented, based on Petri Net theory.
This type of model divides a system into: significant states and events, transfers from one state
to the other.

21-12 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Time functions to provide time behavior for different components. The time functions can be
divided into predefined and user-defined time functions.
Characteristic functions to model nonlinear characteristics in the form of y=f(x).

Internal models can be divided into models with fixed behavior and models with user-defined
behavior.

Models with Fixed Behavior


Models with fixed behavior have a defined number of conservative and nonconservative nodes.
Type name

Instance name
List of
conservative
nodes

INTERN

List of nonconservative
nodes

INTERN

Keyword for internal simulator models.

Type name:

Name of the internal model, e.g. RNL, IPULSE, ASM.

Instance name:

User-defined name for using the model.

Conservative nodes:

List of conservative nodes (if existing) separated by a comma.

Nonconservative
nodes:

List of nonconservative nodes (if existing) separated by a comma.

N1:=N0001, N2:=N0002 ( CH := XY_R1_CH.VAL );


INTERN RNL R1
INTERN XY XY_R1_CH ( FILE := "Sheet2__R1.mdx" );
INTERN E
E1
N1:=GND, N2:=N0001 ( EMF := 1 ,PARTDERIV := 1 );

Models with User-Defined Behavior


Models with user-defined behavior have a different number of conservative and nonconservative
nodes. Internal components with user-defined behavior are initial conditions assignments, equations, states, and equation blocks.
Type name
INTERN
Instance name
List of
conservative
nodes

List of nonconservative
nodes

;
Attributes

INTERN

Keyword for internal simulator models.

Type name

Name of the internal model, e.g. EQU, STATE, EQUBL.

Instance name

User-defined name for using the model.


Simplorer Modeling Language 21-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Conservative nodes

List of conservative nodes (if existing) separated by a comma. Only for


the block equations (EQUBL) used.

Nonconservative
nodes

List of nonconservative nodes (if existing) separated by a comma.

Attributes

Attribute statements (SRC: and DST:). Only for equations (EQU) used.

INTERN EQU {variable1 := A+B ; } DST: SIM(Type:=SFML, Sequ:=INIT);


INTERN EQU {variable2 := t*100 ;}
INTERN EQU {variable3 := sin(A) ;} DST: SIM(Type:=SSGM, Sequ:=PRE );
INTERN EQU {variable4 := cos(B) ;} DST: SIM(Type:=SSGM, Sequ:=POST );
INTERN STATE
STATE1 {
MARK: 0;
CATI:C:=10;
SET:D:=D+1;
}
INTERN EQUBL EQUBL1
( TS := 0, INPUT[0] := E1.EMF )
{
PORT real out : VAL[2] = 0;
Z := SQU(E1.EMF);
VAL[0] := INPUT[0]+Z;
VAL[1] := Z;
}

Initial Condition Assignments and Equations


Each system variable provided by Simplorer can be used within an expression on the right side.
Thus it is possible to establish any context between system variables.
Initial Value Assignment
The initial value assignment is a list of value assignments to variables and constants, which are calculated only once at the simulation start. The process sequence is equal to the sequence of input.
INTERN EQU {A := PI ; B:= 0.5 } DST: SIM(Type:=SFML,
Sequ:=INIT);
Equations
The equation assignment is a list of value assignments to variables and constants, which are calculated at each valid step in the sequence of input.

before all other modules


INTERN EQU {variable1 := t*100; variable2 := t*200 ;}

before the state graph analysis is processed.

21-14 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

INTERN EQU {variable3 := sin(A);} DST: SIM(Type:=SSGM,


Sequ:=PRE );

after the state graph analysis is completed.


INTERN EQU {variable4 := cos(B);} DST: SIM(Type:=SSGM,
Sequ:=POST );

Defining Actions in States


Through actions a state graph model influences either the rest of the simulation model or the simulation parameters. The function is defined by the action type.
See also Using Action in States
INTERN

STATE

STATE1 {
MARK: 0;
CATI:C:=10;
SET:D:=D+1;
}

MODEL Instance
The MODEL model instance is used for user-defined structural models (all kind of macros), which
are included in a model library or defined with a SMLDEF statement.
MODEL

Type name
;

Instance name
List of
conservative
nodes

List of nonconservative
nodes

Attributes

MODEL

Keyword for internal simulator models.

Type name:

Name of the model in the model library.

Instance name:

User-defined name for using the model.

Conservative nodes:

List of conservative nodes (if existing) separated by a comma.

Nonconservative
nodes:

List of nonconservative nodes (if existing) separated by a comma.

Attributes:

The SRC attribute defines the source model library and identifier. Both
can be omitted, the simulation speed, however, is slacked because of that.

MODEL TFR1P2W TFR1P2W1 N1_A:=N0002, N1_B:=GND, N2_A:=N0005, N2_B:=N0006


(LM:=0.1 ,LS1:=1m ,LS2:=1m ,RFE:=1.0e+018 ,RCU1:=1u ,RCU2:=1u ,KTR:=1 ) SRC:
DB(LIB:="Basic Elements\Basic Elements");

Simplorer Modeling Language 21-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

UMODEL Instance
The UMODEL model instance is used for user-defined C models, which are included in a model
library.
UMODEL

Type name
Instance name

Attributes
List of
conservative
nodes

List of nonconservative
nodes

UMODEL

Keyword for internal simulator models.

Type name:

Name of the model in the model library.

Instance name:

User-defined name for using the model.

Conservative nodes:

List of conservative nodes (if existing) separated by a comma.

Nonconservative
nodes:

List of nonconservative nodes (if existing) separated by a comma.

Attributes:

The SRC attribute defines the DLL file of the model.

UMODEL VOL_CONST VOL_CONST1 H1:=N0002 ( VOL:=100u ,B:=700meg )


SRC: DLL( LIB:="Multiphysics\Hydraulic") ;

COUPL Instance
The COUPL model instance is used for models of external simulators.
COUPL

Type name
Instance name

Attributes
List of
conservative
nodes

List of nonconservative
nodes

COUPL

Keyword for internal simulator models.

Type name:

Name of the model in the model library.

Instance name:

User-defined name for using the model.

Conservative nodes:

List of conservative nodes (if existing) separated by a comma.

Nonconservative
nodes:

List of non-conservative nodes (if existing) separated by a comma.

21-16 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Attributes:

The SRC attribute defines the .dll file of the model.

COUPL MCCPL MathCAD1B


( ValueExchange:=SINGLE,
MathCadSheet:="C:\Ansoft\Simplorer70\MCAD\Bsp_outis2in1.mcd",
IN_MCD:={ in1, in0 }, OUT_MCD:={ out1, out0}
) DST: SIM(Type:=MATHCAD );

Simplorer Modeling Language 21-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Structural Models (Subsheets)


Structural models consist of the model definition, with header and model description. The ports in
the header must match in number and type according to their utilization in the model call with the
MODEL instance.
// Model definition
SMLDEF Name
{

Header of structural model


Model description of structural model
}
//Model Usage
MODEL model_name
(parameters)

instance_name

conservative_nodes

Header Information of Structural Models


The header of structural models (subsheets) contain type, direction, and name of ports. There are
two types of ports: electrical and real. In addition, the header may contain the assignment of default
values for the variables defined in the port list.

Conservative nodes - Pins


PORT

Port type

Port name

,
Non-conservetive nodes - Parameters

PORT
Port type

Port direction

Physical
type

Unit

Port name

Default value
Signal name

Port type:

For conservative nodes: ELECTRICAL, FLUIDIC, MAGNETIC,


TRANSLATIONAL, TRANSLATION_V, ROTATIONAL,
ROTATIONAL_V, THERMAL
For nonconservative nodes: REAL, FILE, STRING
Default port type = REAL

21-18 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Port direction:

Direction of data exchange over the nodes = { IN | OUT | INOUT };


Default = IN: The port direction is supported only for real ports
(nonconservative nodes).

Physical type

Specifies a special data type for non-conservative nodes ( i.e.


RESISTANCE, CAPACITANCE, ANGLE, ... )

Unit

The value transferred by this parameter will be automatically converted to


this unit/subunit of the given physical type (i.e. Ohm, kOhm, MOhm for
RESISTANCE). The default unit is always the SI unit for the given
physical type.

Port name:

Definition name of the node. The syntax rules for type names are valid.

Default value

Default value for non-conservative nodes with IN as port direction. This


value will be used, if this parameter is not used in the model instance call.
The initial value must be a number or arithmetical expression, which is
calculable without access to other quantities.

Signal name

Name of the signal which is connected to a non-conservative nodes with


IN or INOUT as port direction. This name must be a name of a variable or
model parameter inside the structure definition. It cannot be used as default
value.

PORT
PORT
PORT
PORT
PORT
PORT

electrical : T1;
translational : T2;
real in : Value = 2k;
real in RESISTANCE[kOhm] : R_value = 2;
real out : R1_I = R1.I;
real inout : count = count_var;

Model Description of Structural Models


After the header, the actual model description is defined. All model instances (INTERN, MODEL,
UMODEL, COUPL) may be used as model text. The description is enclosed in braces { }.
Structural models itself can be used within a SMLDEF (MODELDEF) section with the MODEL
instance. However, structural models must not be called recursively.

Usage of Structural Models


With the MODEL instance a structural model can be included in the SML description.
After the compiler has found the definition of the specified structural model/macro and checked for
completeness of the parameter lists, it replaces the call with the contents of the structural model.
Finally, the compiler creates a flat representation of the entire system resolving all structural models/macros. This way, the formal nodes and parameters are substituted for the actual or default ones,
respectively.

Simplorer Modeling Language 21-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Also, all other nominators used in the macro are replaced. Therefore, it is impossible to get outputs
or references that directly access topology elements or nominators inside the macro model. They
have to be made accessible to the outside through the pins or the parameter list.
// Definition of structural model
SMLDEF Macro2
{
PORT electrical : T1;
PORT electrical : T2;
PORT real in : Value = 2k;
PORT real out : R1_I = R1.I;
INTERN C
C1
N1:=N0002, N2:=T2 ( C := 1u ,V0 := 0 ) ;
INTERN R
R1
N1:=T1, N2:=N0002 ( R := Value ) ;
}
//Model description
INTERN E E1
N1:=GND, N2:=N0001 ( EMF := 1 ,PARTDERIV := 1
INTERN R
R1
N1:=N0001, N2:=N0002 ( R := 1k ) ;
INTERN EQU { R := 1k ;}
//Usage of structural model
MODEL Macro2 Subsheet1 T1:=GND,T2:=N0002 ( Value:=R );

);

21-20 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Configuration Controls
SML has two different configuration controls: SIMCTL for simulator configurations and OUTCTL
for configuration of output devices.
Note

The configuration settings described in this section are made via Simplorers user
interface menus and dialog boxes.

Simulator Configurations
Simulation control parameters define the process control of the simulation. These parameters must
be handled very carefully, because varying them improperly may result in unpredictable numeric
effects.
See also Analysis Types for Simulation

SIMCTL
SIMCFG

Instance name

{
;

Type name
Instance name

List of nonconservative
nodes

Instance name:

Name of the simulator control instance.

Type name:

Name of the used simulator.

Instance name:

Instance of the used simulator.

Nonconservative
nodes:

List of nonconservative nodes (simulation parameters) separated by a


comma.

//Simulator Configuration
SIMCTL SimCtl1 {
SIMCFG SIMPLORER_TR Simplorer1 ( Tend := 40m, Hmin := 10u, Hmax := 1m,
Theta := 23 );
SIMCFG SECM SECM1 ( Solver := 1, LDF := 1, Iteratmax := 40, IEmax :=
0.001, VEmax := 0.001 );
}

Related Topics
Standard Analysis Setup Options
Solution Options

Simplorer Modeling Language 21-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Output Configurations
During the simulation a large amount of data will be produced. These data can be displayed directly
on the screen or saved in files through output specifications.

Online Graphic Output


To display the simulation results during the simulation, specify a View Display (VIEW) as
the output destination.

Output in Files
To evaluate data with other tools, specify the Simplorer database (SDB) as the output destination. For all output channels, the simulator creates an SDB file. The file name is
formed automatically from the name of the SML file and the extension SDB.

Every output destination can be assigned any system quantities from the electrical circuit, the block
diagram, the state graph and formulas, functions and variables. It is also possible to define a system
quantity for several output destinations.
OUTCTL
OUTCFG

Instance name1

{
;

Type name2
Instance name2

RESULT

List of nonconservative
nodes2
List of nonconservative
nodes3

Type name3

Instance name3

Instance name 1

Name of the output control instance.

Type name 2

Name of the used output device = { VIEWTOOL | SimplorerDB }.

Instance name 2

Instance of the used output device.

Nonconservative
nodes 2

List of nonconservative nodes (parameters of the output device)


separated by a comma.

Type name 3

Name of the used result format= { VIEW | SDB }.

Instance name 3

Instance of the used result format.

Nonconservative
nodes 3

List of nonconservative nodes (output quantities) separated by a


comma.

21-22 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

//Output Configuration
OUTCTL OutCtl1{
OUTCFG VIEWTOOL Out1 ( Xmin := 0, Xmax := Tend, Ymin := -400, Ymax :=
400 );
RESULT SDB SDB_0( E1.EMF );
RESULT SDB SDB_1( STEP1.VAL );
RESULT VIEW VANALOG_2 ( E1.EMF, Type:=ANALOG );
RESULT VIEW VANALOG_3 ( C1.I, Type:=ANALOG );
OUTCFG SimplorerDB DB1 ( Xmin := 0, Xmax := Tend, Reduce := 0, StepNo :=
2, StepWidth := 10u );

}
Related Topic
Generating Reports and Postprocessing

Simplorer Modeling Language 21-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

21-24 Simplorer Modeling Language

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

22
Scripting

This section explains how to record, run, pause, resume, stop and troubleshoot scripts. You can also
create and edit Simplorer scripts using a text editor.
For information on how to create, edit and use scripts in Simplorer see:
(html help format).
(pdf format).
You can also access help for the scripting commands via the menu bar:

Click Help>Scripting Contents


Click Help>Scripting Index
Click Help>Search Scripting

Scripting 22-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Working with Scripts


The following sections describe how to record and control the running of scripts.
Recording a Script to a File
Recording a Script to a Project
Stopping Script Recording
Running a Script
Pausing and Resuming a Script
Stopping a Script
Running VBScripts in 64-bit Windows Installations
Running Scripts when Different Versions of Simplorer are Installed

Recording a Script to a File


Once you start to record a script, your subsequent actions are added to the script. Each interface
command has one or more associated script commands that are recorded to the script. The script is
recorded to a text file in .vbs (VBScript) file format.
1.

On the Tools menu, click Record Script to File.


The Save As dialog box appears.

2.

Use the file browser to locate the folder in which you want to save the script, such as:
C:\work\SimplorerProjects\Scripts
Then double-click the folders name.

3.

Type the name of the script in the File name text box, and then click Save.
The script is saved in the folder you selected by the file name filename.vbs.

4.

Perform the steps that you want to record.

5.

When you have finished recording the script, click Stop Script Recording on the Tools menu.

Recording a Script to a Project


Once you start to record a script, your subsequent actions are added to the script. Each interface
command has one or more associated script commands that are recorded to the script. The script is
recorded to the project library.
1.

On the Tools menu, click Record Script to Project.


The Save Script to Project dialog box appears.

2.

Enter a name for the script, and click OK to close the dialog and begin recording.

3.

Perform the steps that you want to record.

4.

When you have finished recording the script, click Stop Script Recording on the Tools menu.
The script you recorded is saved to the current projects scripts library. Refer to Managing
Library Contents for information on working with libraries.

22-2 Scripting

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Working with Project Scripts

Note

You can edit scripts stored in a project by right-clicking the desired script in the Definitions>Scripts folder in the Project Manager window; then selecting Edit Script from the
context menu. The script will open in the Script Editor.
You can execute a project script, by right-clicking the desired script in the Definitions>Scripts folder in the Project Manager window; then selecting Run Script from the
context menu.
Project scripts are stored in the project scripts library. Refer to Managing Library
Contents for information on working with libraries.

Stopping Script Recording


On the Tools menu, click Stop Script Recording.
Simplorer stops recording to the script.

Running a Script
To run a script from Simplorer:
1.

Click Tools>Run Script.


The Open dialog box appears.

2.
3.

Use the file browser to locate the folder in which you saved the script, and then double-click
the folders name.
Type the name of the script in the File name text box, or click its name, and then click Open.
Simplorer executes the script.
To supply script arguments when running from Tools>Run Script, use the Script arguments
edit field at the bottom of the file selection dialog. You can access the script arguments using
the AnsoftScriptHost.arguments collection from vbscript. This is a standard COM collection.

To run a script from a command line, use:


-runscriptandexit or -runscript
You can give -scriptargs parameter to the script and specify arguments.
If you run the script from a DOS prompt as a .vbs file (that is, you don't launch Simplorer, but just
launch vbs directly, or use wscript.exe or cscript.exe), the arguments will be in the WSH.arguments
collection, not the AnsoftScriptHost.arguments collection. To handle this, you can write this:
on error resume next
dim args
Set args = AnsoftScript.arguments
if(IsEmpty(args)) then
Set args = WSH.arguments
End if
on error goto 0
Scripting 22-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

'At this point, args has the arguments no matter if you are
running
'under windows script host or Ansoft script host
msgbox "Count is " & args.Count
for i = 0 to args.Count - 1
msgbox args(i)
next
Related Topics
Running VBScripts in 64-bit Windows Installations
Running Scripts when Different Versions of Simplorer are Installed

Running VBScripts in 64-bit Windows Installations


The VBScript interpreter (cscript.exe/wscript.exe) comes in two versions on a 64-bit version of
Windows: a 32-bit version and a 64-bit version. The 32-bit version can create and use 32-bit COM
components only. The 64-bit version can create and use only 64-bit COM components. By default,
.vbs files are associated with the 64-bit version.
Simplorer scripting executables are 32-bit and must be created through the 32-bit VBScript interpreter.
You can find the 32-bit version of the VBScript interpreter in the <windows>\SysWOW64 folder.
Launching this version should give you access to all 32-bit COM components. In the scripting
examples provided with Simplorer (located in <installdir>\Examples\Applications\Scripting),
there are BAT files that run the WScript appropriate to the operating system.
In general, a VBScript can be run on either 32-bit or 64-bit Windows operating systems by using
the following BAT file template (all on one line):
if exist %WINDIR%\SysWOW64 (%WINDIR%\SysWOW64\wscript.exe
<yourScriptFile>.vbs) else (%WINDIR%\System32\wscript.exe
<yourScriptFile>.vbs)

Running Scripts when Different Versions of Simplorer are Installed


CreateObject will use the latest version of the object unless a specific version is requested in
the argument to the function. Some object names have internal versioning and need to be changed
from one version to the next. For example, here are some specifics for Simplorer 10.0, and 11.0:
Versioning considerations for Simplorer 10
Simplorer Desktop: AnsoftSimplorer.SimplorerScript.10.0 (AnsoftSimplorer.SimplorerScript will cause this version to be used if Simplorer 10.0 is the latest
version installed)
Results access: Simplorer10.SdbCtrl
Math functions:

Simplorer10.MathMod

22-4 Scripting

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Versioning considerations for Simplorer 11


Simplorer Desktop: AnsoftSimplorer.SimplorerScript.11.0 (AnsoftSimplorer.SimplorerScript will cause this version to be used if Simplorer 11.0 is the latest
version installed)
Results access: Simplorer11.SdbCtrl
Math functions:

Simplorer11.MathMod

Pausing and Resuming a Script


To pause a script during its execution:

Click Tools>Pause Script.

To resume a script after pausing it:

Click Tools>Resume Script.

Stopping a Script
ClickTools>Stop Script.
Simplorer stops executing the script that has been paused.

Troubleshooting Scripts
The following procedures may be used to enable vbs scripts on Windows XP systems that block
vbs scripts from running.
Use either - not both - of the following procedures:

DEP Setting
Change Boot Parameter

DEP Setting
1.

Right -click My Computer and select Properties on the context menu to open the System
Properties dialog box.

2.

Select the Advanced tab and click the Settings button on the Performance panel.
The Performance Options dialog box displays.

3.

On the Data Execution Prevention tab, ensure that Turn on DEP for essential Windows
programs and services only is selected.

4.

Click Apply and then close the Performance Options and System Properties dialog boxes.

5.

Restart Windows for the new setting to take effect.

Change Boot Parameter


Warning

1.

Changing Windows boot parameters using the following procedure may cause
your system to stop working.
Back up your system boot.ini file before proceeding.

Right -click My Computer and select Properties on the context menu to open the System
Scripting 22-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Properties dialog box.


2.

Select the Advanced tab and click the Settings button on the Startup and Recovery panel.
The Startup and recovery dialog box displays.

3.

On the System startup panel, click the Edit button to open boot.ini in Notepad.
Example:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional" /fastdetect /NoExecute=OptIn

22-6 Scripting

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

4.

Below the [operating systems] line, the various Windows boot options are listed.
Copy the line that matches what you normally use for booting, and paste the line immediately
below that line to maintain a backup of the original boot configuration.
Example:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional" /fastdetect /NoExecute=OptIn

5.

Edit the newly-copied line to identify the new boot configuration as a backup of the original.
Example:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional Backup" /fastdetect /NoExecute=OptIn

6.

Edit the original line to change the NoExecute option from OptIn to AlwaysOff.
Example:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional" /fastdetect /NoExecute=AllwaysOff
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows
XP Professional Backup" /fastdetect /NoExecute=OptIn

7.

Save the boot.ini file. If an error appears indicating that the file is read-only, you need to edit
the file's properties to remove the read-only flag.

8.

Once the boot.ini file is saved, reboot the computer.

9.

When prompted for the boot configuration you wish to use, choose the same boot configuration name you used previously (as this is the one that now contains the AllwaysOff stateScripting 22-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ment). If you never received a prompt previously, the default option should represent the boot
configuration with the AllwaysOff flag.
Note

If the machine is unable to boot with the new configuration, it is possible that the
file was edited improperly. You should reboot the computer and select the backup
option.
Once the computer boots properly, carefully follow the steps above to properly edit
this file.
If you still are unable to run vbs scripts, contact Ansoft Technical Support.

22-8 Scripting

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

23
Simplorer Design Conventions

The following sections describe the conventions that you need to use when working with Simplorer
designs.

Names of Components and Variables


Parameter Qualifiers
Parameter Types
Predefined Variables
Predefined Constants
Equations, Expressions, and Variables
Standard Mathematical Functions
Unit Suffixes of Numeric Data
SI Units
Unit Handling
Unit Types

Simplorer Design Conventions 23-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Names of Components and Variables


User-defined names can be given to components, blocks, states, time functions, characteristics,
nodes, ports, and standard variables. Names may contain any combination of uppercase and lowercase letters (A-Z, a-z), the numerals 0 through 9, and underscores and can have a maximum of 50
characters.
Note

In general, user-defined names are case-sensitive. However, names of components


and variables of VHDL-AMS models are case-insensitive and all uppercase letters
are converted to lowercase.
Do not duplicate names (e.g., R1 and r1). Duplicate instance names result in netlist
errors when attempting to compile a circuit prior to analysis.
The first character of a name must always be a letter.
Vowel mutations (e.g., umlauts) are not allowed.
Spaces are not allowed.

The following predefined variable types are not allowed for names:

SML notation keywords.


Simulation parameters.
System variables.

Related Topics
Predefined Variables

23-2 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Parameter Qualifiers
Components are characterized by various physical quantities. A resistor, for example, is represented by current (I) and voltage (V) in the simulation. System variables may be accessed by reading (to use the actual quantity in an expression or to create an output) or writing (to influence
quantities). Use the following syntax to access component variables:
ComponentName.Qualifier
Computations and outputs require access to system variables. The form and number of the qualifier
depend on the corresponding component.
Note

All qualifiers are case sensitive and must use capital letters (for example, R.V, not R.v).

Qualifier Lists
The following tables display the most common Simplorer qualifiers. The System Ouputs table lists
qualifiers that are read-only. The Component Parameters table lists qualifiers that can be both read
and written.

Simplorer Design Conventions23-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

System Outputs
Notation

Description

ComponentName.V

component voltage, node potential (read)

ComponentName.I

component current (read)

ComponentName.dV

derivative of the component voltage (read)

ComponentName.dI

derivative of the component current (read)

ComponentName.VAL

block/time function/characteristic output signal (read)

ComponentName.ST

yields the currently valid marking status of a state


true-1-marked-active
false-0-unmarked-inactive

ComponentName.P

component pressure, node pressure

ComponentName.Q

component flow rate

ComponentName.C

component hydraulic capacitance

ComponentName.CHARGE

component charge

ComponentName.MMF

component magnetomotive force

ComponentName.FLUX

component magnetic flux

ComponentName.S

component displacement

ComponentName.F

component force

ComponentName.V

component velocity

ComponentName.PHI

component angle

ComponentName.TORQUE

component torque

ComponentName.OMEGA

component angular velocity

ComponentName.T

component temperature

ComponentName.H

component heat flow

Component Parameters
Notation

Description

ComponentName.EMF

component electromotive force

ComponentName.R

component resistance (read/write)

ComponentName.C

component capacitance (read/write)

ComponentName.L

component inductance (read/write)

23-4 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Notation

Description

ComponentName.G

component conductivity (read/write)

ComponentName.I0

component initial current (read/write only at simulation start)

ComponentName.V0

component initial voltage (read/write only at simulation start)

ComponentName.CTRL

control signal (read/write)

ComponentName.UL

upper limit (read/write)

ComponentName.LL

lower limit (read/write)

ComponentName.FREQU

frequency of a function (read/write)

ComponentName.TPERIO

cycle duration of a function (read/write)

ComponentName.AMPL

amplitude of a function (read/write)

ComponentName.INPUT

block input signal (read/write)

ComponentName.TS

sampling time of the block sampling function (read/write)

ComponentName.QUANT

control quantity (read/write)

ComponentName.CH

component characteristic (read/write)

ComponentName.FILE

file name (read/write)

ComponentName.VALUE

source pressure, flow rate, magnetomotive force, magnetic flux,


displacement, force, velocity, angle, torque, angular velocity,
temperature, heat flow

ComponentName.K

component hydraulic conductance

ComponentName.VOL

component fluid volume

ComponentName.B

component bulk modulus

ComponentName.P0

component initial pressure (read/write only at simulation start)

ComponentName.RHO

component fluid density

ComponentName.DIA

component diameter

ComponentName.LEN

component length

ComponentName.Q0

component initial flow rate (read/write only at simulation start)

ComponentName.K

component magnetic resistance

ComponentName.W

component number of turns

ComponentName.FLUX0

component initial magnetic flux (read/write only at simulation


start)

ComponentName.C

component spring rate

ComponentName.DAMPING component damping coefficient


Simplorer Design Conventions23-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Notation

Description

ComponentName.M

component mass

ComponentName.S0

component initial position (read/write only at simulation start)

ComponentName.V0

component initial velocity (read/write only at simulation start)

ComponentName.SUL

component upper position limit

ComponentName.SLL

component lower position limit

ComponentName.J

component moment of inertia

ComponentName.PHI0

component initial angle (read/write only at simulation start)

ComponentName.OMEGA0

component initial angular velocity (read/write only at simulation


start)

ComponentName.PHIUL

component upper angle limit

ComponentName.PHILL

component lower angle limit

ComponentName.K

component thermal resistance

ComponentName.C_TH

component thermal capacitance

ComponentName.T0

component initial temperature (read/write only at simulation start)

23-6 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Parameter Types
The following table summarizes the parameter types used in Simplorer.
Type

Description

Common Type

General parameters All expressions are


and quantities
interpreted with their actual
value to define a parameter.
Example:

(Name.X)

Value Utilization

E1.EMF

Accepted Value Format


All numerical values (constant with
or without unit suffix), simulation
parameters, variables, component
parameters, mathematical, or logical
expressions. A logical expression
provides only the value 1 (TRUE)
or 0 (FALSE).
Examples:
10k, 5K, -1E-3, 0.003, 20MEG
Tend, Hmin, SECM.ITERAT
var1, var2, _var3, var_4, Var_4
R23.I, C17.V, E4.EMF,
GZ1.VAL
10*t+var1-INTEG(var2)
delay>=2.5m*var1

Control Type
(Name.CTRL)

Control input of
switching devices.

The expression value tests if


>0, <0, or = 0.

Example:
S1.CTRL

See also Common Type.

All numerical values (constant with


or without unit suffix), variables,
component parameters, mathematical,
or logical expressions. A logical
expression provides only the value 1
(TRUE) or 0 (FALSE).
Examples:
See Common Type.

Initial Value Type General initial


parameters and
(Name.X0)
quantities.
Example:
IM1.IA10

Initial values are set only once All numerical values (constant with
at simulation start.
or without unit suffix), simulation
parameters, variables, component
parameters, mathematical, or logical
See also Common Type.
expressions. A logical expression
provides only the value 1 (TRUE)
or 0 (FALSE).
Examples:
See Common Type.

Simplorer Design Conventions23-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Type

Description

Value Utilization

Accepted Value Format

Logical
Expression Type

Parameters for
switching
conditions.

Logical expressions are


interpreted as TRUE if the
provided value is 1.
Otherwise, the value is
FALSE.

Boolean expressions.

All quantities are interpreted


with their actual value to
define a parameter.

The type accepts only voltage and


current of voltmeters, ammeters, or
wattmeters. The values cannot be
assigned by a variable.

Example:
TRANS1.TRC
Quantity Type
(Name.QUANT)

Control quantity of
controlled sources.
Examples:
ExNL.CTRL

VM1.V, AM2.I, WM3.V,


WM3.I

EPOLY.CTRL

(Name.CH)

(V1.EMF >=0), (AM1.I = -3),


(RHYD1.Q < 2.4)

Examples:

IxNL.CTRL

Characteristic
Type

Examples:

Characteristics of
For a given X value, the Y
non-linear elements. value is determined. The
LOOKUP function provides
Examples:
characteristic values in
RNL.CH
equations.
EINL.CH

The type accepts only the output


value of a characteristic component.
The values cannot be assigned by a
variable.
Examples:
EQUL1.VAL, XY1.VAL

File Type
(Name.FILE)

File name for


dataset-based
characteristics.
Example:
XY1.FILE

For a given X value, the Y


value is selected.

The type accepts only a name


referring to an .mdx file (.xls 4.0, .csv,
.txt, .mdb). The value cannot be
assigned by a variable.
Example:
C:\release\diode.mdx

Note

This table does not apply to user-defined models (UMODEL) if users choose to integrate
values directly.

23-8 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Predefined Variables
The simulator uses intrinsic variables for internal computation. All predefined variables are case
insensitive.

Warning

Do not use predefined variables for names (including port names) in a model
description. If these variables are used in a model description, unexpected effects or
an error message result.

System constants (read) F, TIME, H, PI, TRUE, FALSE, SECM.ITERAT,


FSTEP
General simulation
TEND, HMIN, HMAX, TEMP, FSTART, FEND
parameters (read/write)

Simplorer Design Conventions23-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Pre-defined Constants
The simulator provides natural and mathematical constants that can be used in mathematical
expressions within component dialog boxes or SML descriptions.
The following table shows the available constants and their corresponding symbols:
Constant

Legacy Name1 Value

pi

MATH_PI

mathE

MATH_E

e0

PHYS_E

Unit

Description

3.1415926535898

[/]

Pi

2.718281828
8.85419

Symbol

[/]

Euler number

10-12

CJm

Permittivity of vacuum

-06

Tm/J

Permeability of vacuum

J/K

Boltzmann constant

kB

Elementary charge

u0

PHYS_MU0

1.25664 10

boltz

PHYS_K

1.38066 10-23
10-19

elecq

PHYS_Q

1.60217733

c0

PHYS_C

299792458

m/s

Speed of light

g0

PHYS_G

9.80665

m/s

Acceleration due to gravity

planck

PHYS_H

6.6260755 10-34

Js

Planck constant

abs0

PHYS_T0

-273.15

Absolute Zero

eta

N/A

376.730313461

Ohm

Impedance of vacuum

1. For backward compatibility, #defines of these names will be replaced by their values during
translation of a model definition - unless the #define line is still present in the model definition.

23-10 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Equations, Expressions, and Variables


Equations consist of operands and operators. An operand can be any number or variable name. An
operator compares or assigns a value.
In expressions you can create and use variables as often as you want. A variable is defined when
the variable name is used in an expression or for a parameter value within a component dialog box.
You do not need to define the variable in a specific assignment unless you want it to have a defined
initial value. For example, in the following equation:
Z:=Y+X

X, Y, and Z are the operands


:= and + are the operators.

If operands are complex numbers (for example, in an AC simulation), the comparison operators
(<, >, <=, >=) consider only the real part.

Operators
Assignment operators :=

Assignment

##

Delay operator combined with the action type DEL

$$

Schedule operator combined with the action type SCHED

Arithmetic operators *

Multiplication

Division

Addition

Subtraction

**

Power 7**4 = 74 = 2401

Comparison operators <


without
>
synchronization
!=

Less than
Greater than
Not equal to

Comparison operators This operator type forces the simulator to synchronize on the condition
with synchronization with the minimum step width.
<=

Less than or equal to

>=

Greater than or equal to

==

Equal to (compares two values for equality)

Logic operators (must &&


use a space before and ||
after the operator)
!

Logical AND (conjunction)


Logical OR (disjunction)
Logical NOT (negation)

Simplorer Design Conventions23-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

For backward compatibility the operators: AND, OR, NOT, <>, ><, = are still
recognized in pure SML text.

23-12 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Standard Mathematical Functions


Mathematical functions consist of the function name and one or two arguments. An argument can
be any number or variable name. A mathematical function applies the function, which it represents,
to the argument(s).
r:=FCT(x,y),r:=FCT(z)
In the example above:

x, y, and z are arguments.


z is a complex number.
FCT is the function name.
r is the result.

If the argument(s) are complex numbers (for example in an AC simulation), the functions RAD,
DEG, DEGEL, INT, REM, and LOOKUP consider only the real part.
Warning

Note

When entering these functions, do not leave spaces between the function arguments
and the open parenthesis mark. For example: SIN(x) not SIN (x).

For backward compatibility, the functions ARCSIN, ARCCOS, ARCTAN, SQU,


LOOKUP, INTEG, ROOT(x), RAD, DEG, and MOD(x) are still recognized in pure SML
text.

The following tables list the standard mathematical functions included in Simplorer:

Simplorer Design Conventions23-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Trigonometric Functions
Note

When defining arguments for trigonometric functions, you must consider poles to
avoid potential errors during a simulation.

Notation

Description

Example

SIN(x)

Sine, x[rad]

SIN(PI/6)=0.5

COS(x)

Cosine, x[rad]

COS(2PI/3)=-0.5

TAN(x)

Tangent, x[rad]

TAN(PI/4)=1

ASIN(x)

Arc sine [rad]

ASIN(0.5)=0.524=PI/6

ACOS(x)

Arc cosine [rad]

ACOS(0.5)=1.0471=PI/3

ATAN(x)

Arc tangent [rad]

ATAN(1)=0.785=PI/4

ATAN2(x,y)

Arc tangent2 [rad]

ATAN2=ATAN(y/x)

r=0 if x=0 and y=0; r

ATAN2(.25,1)=
ATAN(4)=1.325

SINH(x)

Hyperbolic sine

SINH(1)=1.175201

COSH(x)

Hyperbolic cosine

COSH(1)=1.54308

TANH(x)

Hyperbolic tangent

TANH(1)=0.761594

ASINH

Hyperbolic Arcsine

ASINH(1.175201)=1

ACOSH

Hyperbolic Arccosine

ACOSH(1.54308)=1

ATANH

Hyperbolic Arctangent

ATANH(0.761594)=1

23-14 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Arithmetic Functions
Notation

Description

Example

SQR(x)

Square.

SQR(16)=16=256

SQRT(x)

Square root.

SQRT(9)=9=3

ROOT(x,y)

n-th Root.

ROOT(27,3)=27=3

SDT(x[,y]), y=0

Integration of a variable from the


function call until to the simulation
end. y=integration method

SDT(var1)=var1 dt

DDT(x)

Derivative of a variable in time

DDT(var1)=dvar1/dt

MAX(x1,x2)

Returns the greater of two values

MAX(1,5)=5

MIN(x1,x2)

Returns the lesser of two values

MIN(1,5)=1

Integration methods:
0=Euler (explicit)
1=Euler (implicit)
2=Trapezoidal (implicit)
3=Auto mode (setting taken from
transient options dialog box)

Simplorer Design Conventions23-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Notation

Description

Example

MOD(x,y)

Modulus.

MOD(370,60)=10

LOOKUP(x,y)

Access function to a characteristic.

LOOKUP(XY1.VAL,5)=
Y value of the characteristic XY1
for the X value 5

x=Characteristic
name
y=X value
NOZ(x,y)

Not zero. Ensures that the minimum noz(x, 1e-13) = x if abs(x) > 1e-13
absolute value of x is restricted to the
= 1e-13 if abs(x) < 1e-13
absolute value specified by y. Default
and x is >=0
for y if not specified is 1e-12. This
= -1e-13 if abs(x) < 1e-13
function is useful in avoiding divideand x is <0
by-zero conditions introduced either
by normal expressions or the partial If y is negative, then the absolute
value of y is used.
derivative of these expressions.
noz(x, -1e-13) = x
For example:
if abs(x) > 1e-13
1/(VM1.V) would better be written
= 1e-13 if abs(x) < 1e-13 and x
as 1/(noz(VM1.V)) to avoid
is >=0
division by zero when VM1.V is zero.
sqrt(x.V) would be better written
as sqrt(noz(x.V)) if a partial
derivative of the expression is to be
considered because the partial
derivative of sqrt(x.V) with
respect to x.V is
1/2*(sqrt(x.V)).

= -1e-13 if abs(x) < 1e-13 and x


is <0

Exponential Functions
Notation

Description

Example

EXP(x)

Exponential function.

EXP(5)=e5=148.41

LN(x)

Natural logarithm.

LN(3)=loge3=1.099

LOG(x[,y]); y=10

Common logarithm.

LOG(7,4)=log47=1.403

23-16 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Complex Functions
Notation

Description

Example

ABS(x)

Absolute value.

ABS(-8.5)=|-8.5|=8.5

RE(z)

Real part

RE(z)=5

IM(z)

Imaginary part

IM(z)=3

ARG(z)

Argument of a complex number in


radians.

ARG(z)=0.53

For example, given:


z=a+bi=r(cos+isin)=rei
z=5+3i=5.83(cos30.96+isin30.96)

Conversion Functions
Notation

Description

ANG_RAD(x)

Conversion from degrees to radians. ANG_RAD(30)=PI/6=0.524

ANG_DEG(x)

Conversion from radians to degrees. ANG_DEG(PI/2)=90

DEGEL(x[,y]); y=1 Conversion from degrees electrical


to seconds with respect to Hz.

Example

DEGEL(180,50)=10ms

Rounding Functions
Notation

Description

Example

SGN(x)

Sign dependent value (-1, 0, 1).

INT(x)

Integer part of a value.

INT(2.5)=2

REM(x)

Fractional part (remainder) of a


value.

REM(2.5)=0.5

SGN(3)=1; SIGN(0)=0;
r=0 if z=0, 1 if Re(z)>0 or (Re(z)=0 SIGN(-3)=-1
and Im(z)>0), -1 otherwise.

Simplorer Design Conventions23-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Conditional Functions
Notation

Description

IF (condition1)

If-Else function to perform


IF (t>=1)
operations dependent on conditions. { var:=1; }

{ var:=1; }

Example

The ELSE IF and ELSE statements


can be omitted.

[ ELSE IF
(condition2)
{ var:=2; }

[ELSE IF (t>=2)
{ var:=2; }
ELSE
{ var:=3; }

ELSE

{ var:=3; } ]
The implicit IF statement is an
True-expression, expression and can only be used on
False-expression) the right side of an equation or in
value expressions.

IF (condition,

Related Topics
Predefined Constants
Operators
Equation Calculator

Unit Suffixes of Numeric Data


Numeric data can be entered in component dialog boxes and in Simplorers editors, using the following unit extensions:
Suffix

Value

SML

Examples

12

E12

TER

5e12, 5t, 5ter

giga

10

E9

GIG

1.4e9, 1.4g, 1.4gig

mega

106

E6

MEG

-1.4E6, -0.3meg, -0.3MEG

kilo

103

tera

10

E3

KIL

1000, 1e3, 1k, 1kil

-3

E-3

MIL

0.0105, 1.05E-2, 10.5M, 10.5MIL

micro

-6

10

E-6

MIC

0.000005, 5e-6, 5u, 5mic

nano

10-9

milli

pico
femto

10

E-9

NAN

40E-9, 40n, 40nan

-12

E-12

PIC

100E-12, 100P, 100PIC

-15

E-15

FEM

9E-15, 9F, 9FEM

10
10

23-18 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note

The comma is reserved for separating parameters in lists.


The period (dot) is reserved as a decimal point.
M is interpreted as 10-3, not as 106.

Simplorer Design Conventions23-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SI Units
All units used in Simplorer are derived from the SI system of units.
Quantity

Unit Name

Symbol

Length

Meters

Mass

Kilograms

kg

Time

Seconds

Electrical current intensity

Amperes

Temperature

Kelvins

Voltage (derived SI unit)

Volts

However, the unit handling feature of Simplorer allows you to use non-SI units for designs. Non-SI
units are automatically converted to the expected SI units.
Related Topics
Unit Handling
Unit Types

23-20 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Handling
The unit handling feature of Simplorer allows you to enter component parameter values in multiples of standard SI units such as millivolts, nanoamperes, and kilometers, as well as in non-SI units
such as pounds-per-square-inch, degrees Fahrenheit, and feet. This eliminates the need for errorprone unit conversions and reduces the time needed to calculate component parameters.
Each component parameter that is a physical quantity can be assigned an expected unit of measure,
which is the unit of measure for the parameter value used during simulation.
Note

Simplorer internal models have predefined expected units for each physical
parameter.
The parameters of user-defined models such as C-Models can be assigned expected
units when the user-defined models are created.

Each parameter also is provided with a set of additional units that can be applied to the same physical quantity.
For example, Simplorers force source component has an expected unit of Newtons and an associated set of additional units that includes milli-Newtons, PoundsForce, and dynes.
When an instance of a component such as the force source is placed on a schematic, its parameter
values can be edited in its Properties dialog box. The units associated with the parameters also can
be changed. The units are located in combo boxes next to the text fields containing each parameter's value. Changing the unit for a parameter is as simple as selecting a new unit in the combo box
for the parameter's unit.
When the component is simulated, Simplorer automatically converts quantities expressed in the
newly chosen units to equivalent quantities of the expected units. Thus, you can express component
parameters in units from different systems of measurement without affecting the accuracy of the
simulation results.

Simplorer Design Conventions23-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Types
The following table lists the supported unit types for all ANSYS Electromagnetics products. Simplorer supports a subset of the unit types shown in this list. To confirm that a particular unit is supported in Simplorer, consult the default-value pull-down menus for the various unit specifications
listed in the Default Units Tab of the General Options dialog.

Unit Type

String Representation

Description

Acceleration

m_per_s2

Meter per second-squared

Acceleration

cm_per_s2

Centimeter per second-squared

Acceleration

in_per_s2

Inch per second-squared

Acceleration

mm_per_s2

Milli-Meter per second-squared

Admittance

Sie

Siemens

Admittance

megSie

Mega-Siemens

Admittance

uSie

Micro-Siemens

Admittance

mSie

Milli-Siemens

Admittance

kSie

Kilo-Siemens

Admittance

mho

Mhos

AIGB

F_per_ghalfs_per_m

(Farad per gram) root second per meter

AIGB

Fs2_per_ghalf_per_m

(Farad second squared per gram) root per meter

AmountOfSubstance

mol

Mol

AmountOfSubstance

umol

Micro-Mol

AmountOfSubstance

nmol

Nano-Mol

AmountOfSubstance

mmol

Milli-Mol

AmountOfSubstance

kmol

Kilo-Mol

Angle

rad

Radian

Angle

deg

Degree

Angle

degsec

Second

Angle

degmin

Minute

AngleCoefficient

per_rad

Per radian

AngleCoefficient

V_per_V_per_deg

Volt per Volt per degree

AngleCoefficient

per_deg

Per degree

23-22 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

AngleCoefficient

V_per_V_per_rad

Volt per Volt per radian

AngularAcceleration

rad_per_s2

Radian per square-second

AngularAcceleration

deg_per_s2

Degrees per square-second

AngularAcceleration

per_s2

Revolutions per square-second

AngularDamping

Nms_per_rad

Newton-meter-second per radian

AngularDamping

dNms_per_rad

Deci-Newton-meter-second per radian

AngularDamping

kNms_per_rad

Kilo-Newton-meter-second per radian

AngularJerk

rad_per_sec2

Radian per second-cubed

AngularJerk

deg_per_sec2

Degrees per second-cubed

AngularMomentum

kgm2_per_sec

Kilo-gram square-meter per second

AngularMomentum

nms

Newton-meter-second

AngularSpeed

deg_per_sec

Degrees per second

AngularSpeed

deg_per_min

Degrees per minute

AngularSpeed

deg_per_hr

Degrees per hour

AngularSpeed

rad_per_sec

Radians per second

AngularSpeed

rad_per_min

Radians per minute

AngularSpeed

rad_per_hr

Radians per hour

AngularSpeed

rpm

Revolutions per minute

AngularSpeed

rev_per_min

Revolutions per minute

AngularSpeed

rev_per_sec

Revolutions per second

AngularSpeed

per_second

Revolutions per second

AngularStiffness

nm_per_rad

Newton-meter per radian

AngularStiffness

nm_per_deg

Newton-meter per degree

AngularWindage

nms2_per_rad2

Newton-meter second squared per radian squared

AngularWindage

kgm2_per_rad2

Kilogram meter squared per radian squared

Area

m2

Square-Meter

Area

km2

Square-Kilometer

Area

ft2

Square foot

Area

in2

Square Inch

Area

mm2

Square-Millimeter
Simplorer Design Conventions23-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Area

cm2

Square-Centimeter

Area

um2

Micro-meter squared

AreaCoefficient

per_m2

Per square-meter

AreaCoefficient

per_cm2

Per square-centimeter

ArealFlowRate

m2_per_s

Square-meter per second

ArealFlowRate

m2_per_min

Square-meter per minute

ArealFlowRate

m2_per_hour

Square-meter per hour

AreaPerPower

m2_per_W

Square-meter per Watt

AreaPerPower

m2_per_Js

Square-meter per Joule-second

AreaPerVoltage

m2_per_V

Square-meter per volt

AreaPerVoltage

Am2_per_W

Ampere-square-meter per Watt

AreaPerVoltage

Am2_per_kW

Ampere-square-meter per Kilowatt

AreaPerVoltage

m2_per_kV

Square-meter per Kilovolt

AreaPerVoltageTemperature

m2_per_Vkel

Square-meter per Volt-Kelvin

AreaPerVoltageTemperature

Am2_per_Wkel

Ampere-square-meter per Watt-Kelvin

BIGB

F_per_ghalfs_per_Vm

(Farad per gram) root second per Volt-meter

BIGB

Fs2_per_ghalf_per_Vm

(Farad second squared per gram) root per Voltmeter

Capacitance

fF

Femto-Farad

Capacitance

farad

Farad

Capacitance

pf

Pico-Farad

Capacitance

uf

Micro-Farad

Capacitance

nf

Nano-Farad

Capacitance

mf

Milli-Farad

CapacitancePerArea

F_per_m2

Farad per square-meter

CapacitancePerArea

nF_per_m2

Nano-Farad per square-meter

CapacitancePerArea

uF_per_m2

Micro-Farad per square-meter

CapacitancePerArea

F_per_cm2

Farad per square-cent-meter

CapacitancePerArea

mF_per_m2

Milli-Farad per square-meter

CapacitancePerAreaPerVoltage F_per_Vm2

Farad per Volt and square-meter

23-24 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

CapacitancePerAreaPerVoltage mF_per_Vm2

Milli-Farad per Volt-square-meter

CapacitancePerAreaPerVoltage pF_per_Vm2

Pico-Farad per Volt-square-meter

CapacitancePerAreaPerVoltage nF_per_Vm2

Nano-Farad per Volt-square-meter

CapacitancePerAreaPerVoltage uF_per_Vm2

Micro-Farad per Volt-square-meter

CapacitancePerLength

F_per_m

Farad per meter

CapacitancePerLength

pF_per_m

Pico-Farad per meter

CapacitancePerLength

nF_per_m

Nano-Farad per meter

CapacitancePerLength

mF_per_m

Milli-Farad per meter

CapacitancePerLength

uF_per_m

Micro-Farad per meter

CapacitanceTemperatureCoeff F_per_Kel

Farad per Kelvin

CapacitanceTemperatureCoeff pF_per_Cel

Pico-Farad per degree Celsius

CapacitanceTemperatureCoeff pF_per_Kel

Pico-Farad per Kelvin

CapacitanceTemperatureCoeff mF_per_Cel

Milli-Farad per degree Celsius

CapacitanceTemperatureCoeff pF_per_Fah

Pico=Farad per degree Farenheit

CapacitanceTemperatureCoeff nF_per_Kel

Nano-Farad per Kelvin

CapacitanceTemperatureCoeff mF_per_Kel

Milli-Farad per Kelvin

CapacitanceTemperatureCoeff F_per_Cel

Farad per degree Celsius

CapacitanceTemperatureCoeff mF_per_Fah

Milli-Farad per degree Farenheit

CapacitanceTemperatureCoeff nF_per_Cel

Nano-Farad per degree Celsius

CapacitanceTemperatureCoeff F_per_Fah

Farad per degree Farenheit

CapacitanceTemperatureCoeff uF_per_Kel

Micro-Farad per Kelvin

CapacitanceTemperatureCoeff nF_per_Fah

Nano-Farad per degree Farenheit

CapacitanceTemperatureCoeff uF_per_Cel

Micro-Farad per degree Celsius

CapacitanceTemperatureCoeff uF_per_Fah

Micro-Farad per degree Farenheit

Charge

Charge

Coulomb

Charge

Ahour

Ampere hour

Charge

uC

Micro-Coulomb

Charge

mC

Milli-Coulomb

Charge

nC

Nano-Coulomb

Charge

kC

Kilo-Coulomb
Simplorer Design Conventions23-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Charge

As

Ampere second

Compliance

m_per_N

Meter per Newton

Compliance

in_per_lbf

Inch per pound-force

Compliance

cm_per_N

Centi-meter per Newton

Conductance

fSie

Femto-Siemen

Conductance

nSie

Nano-Siemen

Conductance

pSie

Pico-Siemen

Conductance

Sie

Siemens

Conductance

megSie

Mega-Siemens

Conductance

uSie

Micro-Siemens

Conductance

mSie

Milli-Siemens

Conductance

kSie

Kilo-Siemens

Conductance

mho

Mhos

Conductance

perohm

Reciprocal Ohm

Conductance

ApV

Ampere per Volt

ConductancePerLength

S_per_m

Siemens per meter

ConductancePerLength

mS_per_m

Milli-Siemens per meter

ConductancePerLength

kS_per_m

Kilo-Siemens per meter

ConductancePerLength

uS_per_m

Micro-Siemens per meter

ConductancePerLength

cS_per_m

Centi-Siemens per meter

Current

Ampere

Current

fA

Femto-Ampere

Current

kA

Kilo-Ampere

Current

mA

Milli-Ampere

Current

nA

Nano-Ampere

Current

pA

pico-Ampere

Current

uA

MIcro-Ampere

Current

Ampere

Current

ua

Micro-Ampere

Current

na

Nano-Ampere

23-26 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Current

ma

Milli-Ampere

Current

ka

Kilo-Ampere

Current

C_per_s

Coulomb per second

CurrentChangeRate

A_per_s

Ampere per second

CurrentChangeRate

A_per_hour

Ampere per hour

CurrentChangeRate

mA_per_s

Milli-Ampere per second

CurrentChangeRate

kA_per_s

Kilo-Ampere per second

CurrentChangeRate

uA_per_s

Micro-Ampere per second

CurrentChangeRate

A_per_min

Ampere per minute

CurrentDensity

A_per_m2

Ampere per square-meter

CurrentDensity

uA_per_m2

Micro-Ampere per square-meter

CurrentDensity

mA_per_cm2

Milli-Ampere per square-centi-meter

CurrentDensity

mA_per_m2

Milli-Ampere per square-meter

CurrentDensity

A_per_cm2

Ampere per square-centi-meter

CurrentDensity

uA_per_cm2

Micro-Ampere per square-centi-meter

CurrentGain

A_per_A

Ampere per Ampere

CurrentGain

A_per_mA

Ampere per Milli-Ampere

CurrentGain

mA_per_A

Milli-Ampere per Ampere

CurrentLengthPerVoltage

Am_per_V

Ampere-meter per Volt

CurrentLengthPerVoltage

mAm_per_V

Milli-Ampere-meter per Volt

CurrentLengthPerVoltage

uAm_per_V

Micro-Ampere-meter per Volt

CurrentPerCharge

A_per_C

Ampere per Coulomb

CurrentPerCharge

A_per_Ahour

Ampere per Ampere-hour

CurrentPerCharge

A_per_As

Ampere per Ampere-second

CurrentPerIrradiance

A_per_W_per_m2

Ampere per Watt per meter-squared

CurrentPerIrradiance

kA_per_W_per_m2

Kilo-Ampere per Watt per meter-squared

CurrentPerIrradiance

uA_per_W_per_m2

Micro-Ampere per Watt per meter-squared

CurrentPerIrradiance

mA_per_W_per_m2

Milli-Ampere per Watt per meter-squared

CurrentPerLength

A_per_m

Ampere per meter

CurrentPerLength

mA_per_m

Milli-Ampere per meter


Simplorer Design Conventions23-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

CurrentPerLength

kA_per_m

Kilo-Ampere per meter

CurrentPerLength

uA_per_m

Micro-Ampere per meter

CurrentPerTemperature2_half

A_per_Kel2half

Ampere per Kelvin to the power of 2.5

CurrentPerTemperatureCubed

A_per_Kel3

Ampere per Kelvin-cubed

CurrentPerTemperatureDiffCub A_per_diff_Kel3
ed

Ampere per Kelvin-cubed

CurrentPerTemperatureDiffCub A_per_Cel3
ed

Ampere per degree Celsius cubed

CurrentSquaredTime

A2s

Ampere-squared second

CurrentSquaredTime

mA2s

Milli-Ampere-squared second

CurrentTemperatureCoeff

A_per_Kel

Ampere per Kelvin

CurrentTemperatureCoeff

A_per_Cel

Ampere per degree Celsius

CurrentTemperatureCoeff

mA_per_Kel

Milli-Ampere per Kelvin

CurrentTemperatureCoeff

mA_per_Fah

Milli-Ampere per degree Farenheit

CurrentTemperatureCoeff

kA_per_Kel

Kilo-Ampere per Kelvin

CurrentTemperatureCoeff

A_per_Fah

Ampere per degree Farenheit

CurrentTemperatureCoeff

uA_per_Kel

Micro-Ampere per Kelvin

CurrentTemperatureCoeff

uA_per_Cel

Micro-Ampere per degree Celsius

CurrentTemperatureCoeff

mA_per_Cel

Milli-Ampere per degree Celsius

Damping

Ns_per_m

Newton second per meter

Damping

kNs_per_m

Kilo-Newton second per meter

Damping

mNs_per_m

Milli-Newton second per meter

Damping

cNs_per_m

Centi-Newton second per meter

Damping

dNs_per_m

Deci-Newton second per meter

Density

kg_per_m3

Kilogram per Cubic-Meter

Density

g_per_cm3

Gram per Cubic-Centimeter

Density

kg_per_l

Kilo-Gram per Liter

Density

kg_per_dm3

Kilo-gram per cubic-deci-meter

Density

g_per_l

Gram per Liter

Displacement

meter

Meter

23-28 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Displacement

mm

Millimeter

Displacement

km

Kilometer

Displacement

cm

Centimeter

Displacement

um

Micrometer

Displacement

nm

Nanometer

Displacement

micron

Microns

Displacement

dm

Decimeter

Displacement

pm

Picometer

Displacement

fm

Femtometer

Displacement

mil

Milli-inch

Displacement

in

Inch

Displacement

ft

Foot (am.)

Displacement

yd

Yard (am.)

Displacement

mile

Mile (am.)

Displacement

mileTerr

Terrestrial mile

Displacement

mileNaut

Nautical mile

Displacement

lightyear

Light year

ElectricFieldStrength

V_per_meter

Volt per meter

ElectricFieldStrength

v_per_meter

Volt per meter

ElectricFieldStrength

v_per_cm

Volt per centimeter

ElectricFlux

Coulomb

ElectricFlux

uC

Micro-Coulomb

ElectricFlux

nC

Nano-Coulomb

ElectricFlux

mC

Milli-Coulomb

ElectricFlux

As

Ampere-second

ElectricFluxDensity

C_per_m2

Coulomb per square-meter

ElectricFluxDensity

nC_per_m2

Nano-Coulomb per square-meter

ElectricFluxDensity

uC_per_m2

Micro-Coulomb per square-meter

ElectricFluxDensity

mC_per_m2

Milli-Coulomb per square-meter

Energy

Joule
Simplorer Design Conventions23-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Energy

Whour

Watt-hour

Energy

kJ

Kilo-Joule

Energy

eV

Electron-Volt

Energy

GJ

Giga-Joule

Energy

kWhour

kilo-Watt-hours

Energy

erg

Erg

Energy

Ws

Watt-second

Energy

megJ

Mega-Joule

Energy

uJ

Micro-Joule

Energy

mJ

Milli-Joule

EnergyDensity

J_per_m3

joules per meter cubed

EnergyDensity

kJ_per_m3

kilo joules per meter cubed

FluidicCapacitance

m3_per_Pa

Cubic-meter per Pascal

FluidicCapacitance

cm3_per_Pa

Centi-meter-cubed per Pascal

FluidicConductance

m3_per_Pas

Cubic-meter per Pascal-second

FluidicConductance

cm3_per_Pas

Cubic-centi-meter per Pascal-second

FluidicResistance

Pas_per_m3

Pascal-second per cubic-meter

FluidicResistance

Ns_per_m5

Newton-second per meter to the power of 5

Flux

Wb

Weber

Flux

weber

Weber

Flux

vh

Volt-hour

Flux

mx

Maxwell

Flux

vs

Volt-second

Force

fNewton

Femto-Newton

Force

pNewton

Pico-Newton

Force

nNewton

Nano-Newton

Force

uNewton

Micro-Newton

Force

mNewton

Milli-Newton

Force

kNewton

Kilo-Newton

Force

megNewton

Mega-Newton

23-30 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Force

gNewton

Giga-Newton

Force

PoundsForce

Pounds-force

Force

newton

Newton

Force

megnewton

Mega-Newton

Force

unewton

Micro-Newton

Force

mnewton

Milli-Newton

Force

dyne

Dyne

Force

knewton

Kilo-Newton

Force

kp

Kilo-pound

Force

poundsForce

Pound-force

Frequency

GHz

Gigahertz

Frequency

rps

Revolutions per second

Frequency

thz

Tera-Hertz

Frequency

Hz

Hertz

Frequency

kHz

Kilo-Hertz

Frequency

milliHz

Milli-Hertz

Frequency

MHz

Mega-Hertz

Frequency

per_sec

Per second

HeatFlow

Watt

HeatFlow

J_per_s

Joule per second

Illuminance

lx

Lux

Illuminance

klx

Kilo-Lux

Illuminance

meglx

Mega-Lux

Illuminance

lm_per_in2

Lumen per square-inch

Illuminance

W_per_m2

Watt per square-meter

Illuminance

W_per_cm2

Watt per square-centimeter

Illuminance

lm_per_cm2

Lumen per square-centimeter

Illuminance

lm_per_m2

Lumen per square-meter

Impedance

Ohm

Ohm

Impedance

megohm

Mega-Ohm
Simplorer Design Conventions23-31

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Impedance

mOhm

Milli-Ohm

Impedance

kOhm

Kilo-Ohm

Impedance

uOhm

Micro-Ohm

Impedance

Gohm

Giga-Ohm

Inductance

fH

Femto henri

Inductance

Henry

Inductance

mH

Milli-Henry

Inductance

nH

Nano-Henry

Inductance

pH

Pico-Henry

Inductance

uH

Micro-Henry

Inductance

Henry

Inductance

uh

Micro-Henry

Inductance

nh

Nano-Henry

Inductance

mh

Milli-Henry

InductancePerLength

H_per_m

Henry per meter

InductancePerLength

pH_per_m

Pico-Henry per meter

InductancePerLength

nH_per_m

Nano-Henry per meter

InductancePerLength

mH_per_m

Milli-Henry per meter

InductancePerLength

uH_per_m

Micro-Henry per meter

Inertance

Pas2_per_m3

Pascal square-second per cubic-meter

Inertance

Ns2_per_m5

Newton square second per meter to power 5

Inertance

kg_per_m4

Kilo-gram per meter to the power of 4

Irradiance

irrad_W_per_m2

Watt per meter-squared

Irradiance

megW_per_m2

Mega-Watt per meter-squared

Irradiance

mW_per_m2

Milli-Watt per meter-squared

Irradiance

irrad_W_per_cm2

Watt per cent-meter-squared

Irradiance

kW_per_m2

Kilo-Watt per meter-squared

Irradiance

uW_per_m2

Micro-Watt per meter-squared

Irradiance

W_per_in2

Watt per inch-squared

Jerk

m_per_s3

Meter per second cubed

23-32 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Jerk

cm_per_s3

Centi-Meter per second cubed

Jerk

nm_per_s3

Nano-Meter per second cubed

Jerk

in_per_s3

Inch per second-cubed

Jerk

um_per_s3

Micro-Meter per second cubed

Jerk

mm_per_s3

Milli-Meter per second cubed

Length

cm

Centimeter

Length

uin

Micro-inch

Length

meter

Meter

Length

mm

Milli-Meter

Length

km

Kilo-Meter

Length

cm

Centi-Meter

Length

um

Micro-Meter

Length

nm

Nano-Meter

Length

micron

Microns

Length

dm

Deci-Meter

Length

pm

Pico-Meter

Length

fm

Femto-Meter

Length

mil

Milli-inch

Length

in

Inch

Length

ft

Foot (am.)

Length

yd

Yard (am.)

Length

mile

Mile (am.)

Length

mileTerr

Terrestrial mile

Length

mileNaut

Nautical mile

Length

lightyear

Light year

Length2PerVoltage2

m2_per_V2

Meter-squared per Volt-squared

LengthCoefficient

per_m

Per meter

LengthCoefficient

V_per_V_per_m

Volt per Volt per meter

LengthCoefficient

per_km

Per kilo-meter

LengthCoefficient

per_um

Per micro-meter
Simplorer Design Conventions23-33

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

LengthCoefficient

per_in

Per inch

LengthCoefficient

per_cm

Per centi-meter

LengthCoefficient

V_per_V_per_in

Volt per Volt per inch

LengthCoefficient

per_mm

Per milli-meter

LengthPerVoltage

m_per_V

Meter per Volt

LengthPerVoltage

mm_per_V

Milli-Meter per Volt

LengthPerVoltage

km_per_V

Kilo-Meter per Volt

LengthPerVoltage

um_per_V

Micro-Meter per Volt

LengthPerVoltage

dm_per_V

Deci-Meter per Volt

LengthPerVoltage

cm_per_V

Centi-Meter per Volt

LengthPerVoltageRoot

m_per_Vhalf

Meter per Volt-root

LengthPerVoltageRoot

dm_per_Vhalf

Deci-Meter per Volt-root

LengthPerVoltageRoot

mm_per_Vhalf

Milli-Meter per Volt-root

LengthPerVoltageRoot

um_per_Vhalf

Micro-Meter per Volt-root

LengthPerVoltageRoot

km_per_Vhalf

Kilo-Meter per Volt-root

LengthPerVoltageRoot

cm_per_Vhalf

Centi-Meter per Volt-root

LuminousFlux

lm

Lumen

LuminousFlux

gm2_per_s3

Kilo-gram meter-squared per second-cubed

LuminousFlux

klm

Kilo-Lumen

LuminousFlux

mlm

Milli-Lumen

LuminousFlux

meglm

Mega-Lumen

LuminousIntensity

Cd

Candela

LuminousIntensity

GCd

Giga-Candela

LuminousIntensity

kCd

Kilo-Candela

LuminousIntensity

mCd

Milli-Candela

LuminousIntensity

megCd

Mega-Candela

MagFieldStrength

Oe

Oersted

MagFieldStrength

kOe

Kilo-Oersted

MagFieldStrength

A_per_meter

Ampere per meter

MagFieldStrength

kA_per_meter

Kilo-Ampere per meter

23-34 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

MagFieldStrength

A_per_meter

Ampere per meter

MagFieldStrength

oersted

Oersted

MagInduction

uGauss

Micro-Gauss

MagInduction

mGauss

Milli-Gauss

MagInduction

kGauss

Kilo-Gauss

MagInduction

uTesla

Micro-Tesla

MagInduction

mTesla

Milli-Tesla

MagInduction

kTesla

Kilo-Tesla

MagInduction

tesla

Tesla

MagInduction

gauss

Gauss

MagneticReluctance

A_per_Wb

Ampere per Weber

MagneticReluctance

A_per_Vs

Ampere per Volt-second

MassFlowRate

kg_per_s

Kilogram per second

MassFlowRate

g_per_s

Gram per second

MMF

Ampere

MMF

ua

Micro-Ampere

MMF

na

Nano-Ampere

MMF

ma

Milli-Ampere

MMF

ka

Kilo-Ampere

MolarDensity

mol_per_m3

Mol per cubic-meter

MolarDensity

mol_per_dm3

Mol per cubic-deci-meter

MolarDensity

mol_per_cm3

Mol per cubic-centi-meter

MolarDensity

mol_per_l

Mol per liter

MolarEnergy

J_per_mol

Joule per mole

MolarEnergy

megJ_per_mol

Mega-Joule per mole

MolarEnergy

mJ_per_mol

Milli-Joule per mole

MolarEnergy

uJ_per_mol

Micro-Joule per mole

MolarEnergy

kJ_per_mol

Kilo-Joule per mole

MolarEnergy

gJ_per_mol

Giga-Joule per mole

MolarVelocity

mol_per_s

Mole per second


Simplorer Design Conventions23-35

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

MolarVelocity

cmol_per_s

Centi-Mole per second

MolarVelocity

mmol_per_s

Milli-Mole per second

MolarVelocity

kmol_per_s

Kilo-Mole per second

MolarVelocity

umol_per_s

Micro-Mole per second

MolarViscosity

Pas_per_mol

Pascal second per Mol

MomentInertia

kgm2

Kilo-gram square-meter

MomentInertia

lbin2

Pound inch-squared

MomentInertia

lbft2

Pound foot-squared

Momentum

kgm_per_s

Kilo-gram meter per second

Momentum

gm_per_s

Gram meter per second

NoiseSpectrum

dBc/Hz

Percentage

percent

Per cent

PercentagePerTime

percent_per_s

Percent per second

PercentagePerTime

per_day

Per day

PercentagePerTime

percent_per_min

Percent per minute

PercentagePerTime

per_hour

Per hour

PercentagePerTime

percent_per_day

Percent per day

PercentagePerTime

percent_per_hour

Percent per hour

PercentagePerTime

per_min

Per minute

PercentagePerTime

per_s

Per second

Permeance

Vs_per_A

Volt-second per Ampere

Permeance

Wb_per_A

Weber per Ampere

Power

dBm

Power

dBW

Decibel watt

Power

fW

Femto-Watt

Power

pW

Pico-Watt

Power

nW

nano-Watt

Power

HP

Horsepower

Power

Btu_per_hr

British thermal unit per hour

Power

Watt

23-36 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Power

megW

Mega-Watt

Power

uW

Micro-Watt

Power

mW

Milli-Watt

Power

VA

Volt_Amps

Power

kW

Kilo-Watt

Power

gW

Giga-Watt

Power

J_per_s

Joule per second

Pressure

kn_per_meter_sq

Kilo-Newton per meter squared

Pressure

megn_per_meter_sq

Mega-Newton per meter squared

Pressure

gn_per_meter_sq

Giga-Newton per meter squared

Pressure

psi

Pounds per square inch

Pressure

kpsi

Kilo-pounds per square inch

Pressure

megpsi

Mega-pounds per square inch

Pressure

gpsi

Giga-pounds per square inch

Pressure

pascal

Pascal

Pressure

hPascal

Hekto-Pascal

Pressure

gPascal

Giga-Pascal

Pressure

techAtm

Technical atmosphere

Pressure

kPascal

Kilo-Pascal

Pressure

mbar

Milli-bar

Pressure

stAtm

Standard atmosphere

Pressure

mPascal

Milli-Pascal

Pressure

n_per_meter_sq

Newton per square-meter

Pressure

megPascal

Mega-Pascal

Pressure

uPascal

Micro-Pascal

Pressure

torr

Torr

Pressure

bar

Bar

Pressure

cPascal

Centi-Pascal

Pressure

mmHg

Milli-meter mercury

Pressure

dPascal

Deci-Pascal
Simplorer Design Conventions23-37

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Pressure

mmh2o

Milli-meter water-column

PressureChangeRate

Pa_per_s

Pascal per second

PressureChangeRate

torr_per_hour

Torr per hour

PressureChangeRate

mmH2O_per_s

Milli-meter water-column per second

PressureChangeRate

psi_per_s

PSI per second

PressureChangeRate

techatm_per_hour

Technical atmosphere per hour

PressureChangeRate

bar_per_hour

Bar per hour

PressureChangeRate

statm_per_s

Standard atmosphere per second

PressureChangeRate

mbar_per_s

Milli-Bar per second

PressureChangeRate

mmH2O_per_hour

Milli-meter water column per hour

PressureChangeRate

Pa_per_hour

Pascal per hour

PressureChangeRate

psi_per_hour

PSI per hour

PressureChangeRate

mmH2O_per_min

Milli-meter water column per minute

PressureChangeRate

techatm_per_min

Technical atmosphere per minute

PressureChangeRate

statm_per_hour

Standard atmosphere per hour

PressureChangeRate

torr_per_s

Torr per second

PressureChangeRate

mbar_per_hour

Milli-bar per hour

PressureChangeRate

techatm_per_s

Technical atmosphere per second

PressureChangeRate

bar_per_s

Bar per second

PressureChangeRate

statm_per_min

Standard atmosphere per minute

PressureChangeRate

torr_per_min

Torr per Minute

PressureChangeRate

Pa_per_min

Pascal per minute

PressureChangeRate

bar_per_min

Bar per minute

PressureChangeRate

mbar_per_min

Milli-bar per minute

PressureChangeRate

psi_per_min

PSI per minute

PressureCoefficient

per_Pa

Per Pascal

PressureCoefficient

per_statm

Per standard atmosphere

PressureCoefficient

per_psi

Per Pounds per square inch

PressureCoefficient

per_mmH2O

Per Milli-meter water-column

PressureCoefficient

per_mbar

Per Milli-bar

23-38 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

PressureCoefficient

V_per_Vper_Pa

Volt per Volt per Pascal

PressureCoefficient

per_mmHg

Per Milli-meter mercury

PressureCoefficient

per_techatm

Per technical atmosphere

PressureCoefficient

per_bar

Per bar

Ratio

db

Decibel

Ratio

bel

Bel

Reactance

Ohm

Ohm

Reactance

megohm

Mega-Ohm

Reactance

mOhm

Milli-Ohm

Reactance

kOhm

Kilo-Ohm

Reactance

uOhm

Micro-Ohm

Reactance

Gohm

Giga-Ohm

ReciprocalPower

per_W

One over Watt

ReciprocalPower

per_megW

One over Mega-Watt

ReciprocalPower

per_Js

One over Joule-second

ReciprocalPower

per_mW

One over Milli-Watt

ReciprocalPower

per_kW

One over Kilo-Watt

ReciprocalPower

per_gW

One over Giga-Watt

ReciprocalResistanceCharge

per_OhmC

One over Ohm-coulomb

ReciprocalResistanceCharge

per_OhmAs

One over Ohm-Ampere-second

ReciprocalResistanceCharge

per_OhmAhour

One over Ohm-Ampere-hour

ReciprocalResistanceTime

per_Ohms

One over Ohm-second

ReciprocalResistanceTime

per_Ohmmin

One over Ohm-minute

ReciprocalResistanceTime

per_Ohmhour

One over Ohm-hour

Resistance

ohm

Ohm

Resistance

Ohm

Ohm

Resistance

megohm

Mega-Ohm

Resistance

mOhm

Milli-Ohm

Resistance

kOhm

Kilo-Ohm

Resistance

uOhm

Micro-Ohm
Simplorer Design Conventions23-39

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Resistance

Gohm

Giga-Ohm

ResistancePerCharge

Ohm_per_C

Ohm per Coulomb

ResistancePerCharge

Ohm_per_Ahour

Ohm per Ampere-hour

ResistancePerCharge

megOhm_per_C

Mega-Ohm per Coulomb

ResistancePerCharge

nOhm_per_C

Nano-Ohm per Coulomb

ResistancePerCharge

mOhm_per_C

Milli-Ohm per Coulomb

ResistancePerCharge

uOhm_per_C

Micro-Ohm per Coulomb

ResistancePerCharge

kOhm_per_C

Kilo-Ohm per Coulomb

ResistancePerCharge

Ohm_per_As

Ohm per Ampere-second

ResistancePerCharge

gOhm_per_C

Giga-Ohm per Coulomb

ResistancePerLength

Ohm_per_m

Ohm per meter

ResistancePerLength

megOhm_per_m

Mega-Ohm per meter

ResistancePerLength

mOhm_per_m

Milli-Ohm per meter

ResistancePerLength

uOhm_per_m

Micro-Ohm per meter

ResistancePerLength

kOhm_per_m

Kilo-Ohm per meter

ResistancePerLength

Ohm_per_um

Ohm per micro-meter

ResistanceTemperatureCoeff

Ohm_per_Kel

Ohm per Kelvin

ResistanceTemperatureCoeff

mOhm_per_Kel

Milli-Ohm per Kelvin

ResistanceTemperatureCoeff

kOhm_per_Kel

Kilo-Ohm per Kelvin

ResistanceTemperatureCoeff

Ohm_per_Cel

Ohm per degree Celsius

Resistivity

Ohmm

Ohm Meter

Resistivity

Ohmcm

Ohm Centi-Meter

Resistivity

Ohmum

Ohm micro-meter

Resistivity

Ohmmm2_per_mm

Ohm Square-Milli-Meter per Meter

SpecificHeatCapacity

J_per_Kelkg

Joule per Kelvin and Kilo-gram

SpecificHeatCapacity

mJ_per_Kelkg

Milli-Joule per Kelvin and Kilo-gram

SpecificHeatCapacity

kJ_per_Kelkg

Kilo-Joule per Kelvin and Kilo-gram

Speed

mm_per_sec

Milli-meter per second

Speed

cm_per_sec

Centi-meter per second

Speed

m_per_sec

Meter per second

23-40 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Speed

m_per_hr

Meters per hour

Speed

inches_per_sec

Inches per second

Speed

feet_per_sec

Feet per second

Speed

feet_per_min

Feet per minute

Speed

miles_per_min

Miles per minute

Speed

miles_per_sec

Miles per second

Speed

km_per_min

Kilo-meters per minute

Speed

km_per_sec

Kilo-meters per second

Speed

m_per_sec

Meter per second

Speed

km_per_hour

Kilometer per hour

Speed

miles_per_hour

Miles per hour

Stiffness

N_per_m

Newton per meter

Stiffness

lbf_per_in

Pound-force per inch

Stiffness

N_per_cm

Newton per centi-meter

Stiffness

kN_per_m

Kilo-Newton per Meter

SurfaceChargeDensity

surf_charge_C_per_m2

Coulomb per meter-squared

SurfaceChargeDensity

surf_charge_nC_per_m2

Nano-Coulomb per meter-squared

SurfaceChargeDensity

kC_per_m2

Micro-Coulomb per meter-squared

SurfaceChargeDensity

As_per_m2

Ampere-second per meter-squared

SurfaceChargeDensity

surf_charge_mC_per_m2 Milli-Coulomb per meter-squared

SurfaceMobility

m2_per_Vs

Square-meter per Volt-second

SurfaceMobility

cm2_per_Vs

Square-centi-meter per Volt-second

SurfaceMobilityPerVoltage

m2_per_V2s

Square-meter per Volt-second per Volt

SurfaceMobilityPerVoltage

cm2_per_V2s

Square-centi-meter per Volt-second per Volt

Susceptance

Sie

Siemens

Susceptance

megSie

Mega-Siemens

Susceptance

uSie

Micro-Siemens

Susceptance

mSie

Milli-Siemens

Susceptance

kSie

Kilo-Siemens

Susceptance

mho

Mhos
Simplorer Design Conventions23-41

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Temperature

kel

Kelvin

Temperature

mkel

Milli-Kelvin

Temperature

cel

Degree Celsius

Temperature

dkel

Deci-Kelvin

Temperature

fah

Degree Farenheit

Temperature

ckel

Centi-Kelvin

TemperatureAreaPerPower

kelm2_per_w

Kelvin square-meter per Watt

TemperatureAreaPerPower

celm2_per_w

Degree Celsius square-meter per Watt

TemperatureCoefficient

per_Kel

Per Kelvin

TemperatureCoefficient

percent_per_Cel

Percent per degree Celsius

TemperatureCoefficient

per_Cel

Per degree Celsius

TemperatureCoefficient

percent_per_Fah

Percent per degree Farenheit

TemperatureCoefficient

per_Fah

Per degree Farenheit

TemperatureCoefficient

percent_per_Kel

Percentage per Kelvin

TemperatureCoefficient2

per_Kel2

Per Kelvin-squared

TemperatureCoefficient2

per_Fah2

Per degree Fahrenheit squared

TemperatureCoefficient2

per_Cel2

Per degree Celsius squared

TemperatureDifference

keldiff

Kelvin

TemperatureDifference

mkeldiff

Milli-Kelvin

TemperatureDifference

celdiff

Celsius

ThermalCapacitance

J_per_Kel

Joule per Kelvin

ThermalCapacitance

Ws_per_Kel

Watt-second per Kelvin

ThermalConductance

W_per_Kel

Watt per Kelvin

ThermalConductance

kW_per_Cel

Kilo-Watt per degree Celsius

ThermalConductance

mW_per_Kel

Milli-Watt per Kelvin

ThermalConductance

kW_per_Kel

Kilo-Watt per Kelvin

ThermalConductance

mW_per_Cel

Milli-Watt per degree Celsius

ThermalConductance

W_per_Cel

Watt per degree Celsius

ThermalConductivity

W_per_Kelm

Watt per Kelvin Meter

ThermalConductivity

mW_per_Kelm

Milli-Watt per Kelvin Meter

23-42 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

ThermalConvection

w_per_m2kel

Watt per square-meter Kelvin

ThermalConvection

w_per_cm2kel

Watt per square centi-meter Kelvin

ThermalRadiationCoeff

W_per_Kel4

Watt per Kelvin to the power of 4

ThermalRadiationCoeff

kW_per_Kel4

Kilo-Watt per Kelvin to the power of 4

ThermalRadiationCoeff

mW_per_Kel4

Milli-Watt per Kelvin to the power of 4

ThermalRadiationConstant

W_per_m2Kel4

Watt per square meter Kelvin to the power of 4

ThermalRadiationConstant

W_per_cm2Kel4

W per square centi-meter Kelvin to the Power of 4

ThermalResistance

Kel_per_W

Kelvin per Watt

ThermalResistance

Kels_per_J

Kelvin-second per Joule

Time

Second

Time

hour

Hour

Time

ps

Pico-Second

Time

us

Micro-Second

Time

ns

Nano-Second

Time

ms

Milli-Second

Time

min

Minute

Time

fs

Femto-second

Time

day

Day

TimePerAngle

s_per_rad

Second per radian

TimePerAngle

s_per_deg

Second per degree

TimePerAngle

ms_per_rad

Milli-Second per radian

TimePerAngle

s_per_rev

Second per revolution

TimeSqPerAngleSq

s2_per_rad2

Seconds squared per rad squared

TimeSqPerAngleSq

s2_per_deg2

Seconds squared per degree squared

Torque

fNewtonMeter

Femto-Newton-meter

Torque

pNewtonMeter

Pico-Newton-meter

Torque

nNewtonMeter

Nano-Newton-meter

Torque

megNewtonMeter

Mega-Newton-meter

Torque

gNewtonMeter

Giga-Newton-meter

Torque

FootPounds

Foot-pounds
Simplorer Design Conventions23-43

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Torque

NewtonMeter

Newton-meter

Torque

kNewtonMeter

Kilo-Newton-meter

Torque

mNewtonMeter

Milli-Newton-meter

Torque

uNewtonMeter

Micro-Newton-meter

Torque

cNewtonMeter

Centi-Newton-meter

TransconductanceParameter

A_per_V

Ampere per Volt

TransconductanceParameter

mA_per_V

Milli-Ampere per Volt

TransconductanceParameter

kA_per_V

Kilo-Ampere per Volt

TransistorConstant

A_per_V2

Ampere per square Volt

TransistorConstant

mA_per_V2

Milli-Ampere per square Volt

TranslationalAcceleration

trans_accel_m_per_s2

Meter per square second

TranslationalAcceleration

trans_accel_cm_per_s2

Centi-Meter per square second

TranslationalAcceleration

dm_per_s2

Deci-Meter per square second

TranslationalAcceleration

trans_accel_in_per_s2

Inch per second-squared

VelocitySaturation

vel_sat_m_per_V

Meter per Volt

VelocitySaturation

vel_sat_mm_per_V

Milli-Meter per Volt

VelocitySaturation

vel_sat_um_per_V

Micro-Meter per Volt

VelocitySaturation

vel_sat_cm_per_V

Centi-Meter per Volt

VelocitySaturationPerVoltage

m_per_V2

Meter per Volt-squared

VelocitySaturationPerVoltage

cm_per_V2

Centi-Meter per Volt-squared

VelocitySaturationPerVoltage

um_per_V2

Micro-Meter per Volt-squared

VelocitySaturationPerVoltage

mm_per_V2

Milli-Meter per Volt-squared

Viscocity

Pas

Pascal-second

Viscocity

hPas

Hecto-Pascal-second

Viscocity

kPas

Kilo-Pascal-second

Viscocity

mPas

Milli-Pascal-second

Viscocity

poise

Poise

Viscocity

Ns_per_m2

Newton-second per square-meter

Viscocity

cpoise

Centi-poise

Viscocity

cPas

Centi-Pascal-second

23-44 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Viscocity

dPas

Deci-Pascal-second

Viscocity

uPas

Micro-Pascal-second

ViscousFriction

vis_fric_Ns_per_m

Newton-second per meter

ViscousFriction

vis_fric_cNs_per_m

Centi-Newton-second per meter

ViscousFriction

vis_fric_mNs_per_m

Milli-Newton-second per meter

ViscousFriction

vis_fric_kNs_per_m

Kilo-Newton-second per meter

Voltage

dBV

Decibel Volt

Voltage

fV

Femto-Volt

Voltage

kV

Kilo-Volt

Voltage

megV

Mega-Volt

Voltage

mV

Milli-Volt

Voltage

nV

Nano-Volt

Voltage

pV

Pico-Volt

Voltage

Volt

Voltage

Volt

Voltage

fv

Femto-Volt

Voltage

pv

Pico-Volt

Voltage

uv

Micro-Volt

Voltage

megv

Mega-Volt

Voltage

nv

Nano-Volt

Voltage

mv

Milli-Volt

Voltage

kv

Kilo-Volt

Voltage

gv

Giga-Volt

VoltageAccelerationCoefficient V_per_m2_per_s2

Volt per meter per second-squared

VoltageAccelerationCoefficient mV_per_m2_per_s2

Milli-Volt per meter per second-squared

VoltageChangeRate

V_per_s

Volt per second

VoltageChangeRate

V_per_min

Volt per minute

VoltageChangeRate

V_per_hour

Volt per hour

VoltageChangeRate

mV_per_s

Milli-Volt per second

VoltageChangeRate

kV_per_s

Kilo-Volt per second


Simplorer Design Conventions23-45

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

VoltageCoefficient

per_V

Per Volt

VoltageCoefficient

per_mV

Per Milli-Volt

VoltageCoefficient

per_kV

Per Kilo-Volt

VoltageCoefficient2

per_V2

Per Voltage-square

VoltageCubed

V3

Voltage-cubed

VoltageCubed

mV3

Milli-volt-cubed

VoltageGain

V_per_V

Volt per Volt

VoltageGain

V_per_mV

Volt per Milli-Volt

VoltageGain

mV_per_V

Milli-Volt per Volt

VoltageJerkCoefficient

V_per_m_per_s3

Volt per meter per second-cubed

VoltageJerkCoefficient

mV_per_m_per_s3

Milli-Volt per meter per second-cubed

VoltageLength

Vm

Volt meter

VoltageLength

kVm

Kilo-Volt meter

VoltageLength

mVm

Milli-Volt meter

VoltageLength

uVm

Micro-Volt meter

VoltagePerCell

V_per_cell

Volt per cell

VoltagePerCell

megV_per_cell

Mega-Volt per cell

VoltagePerCell

kV_per_cell

Kilo-Volt per cell

VoltagePerCell

uV_per_cell

Micro-Volt per cell

VoltagePerCell

mV_per_cell

Milli-Volt per cell

VoltagePerCell

nV_per_cell

Nano-Volt per cell

VoltagePerCell

pV_per_cell

Pico-Volt per cell

VoltagePerCell

gV_per_cell

Giga-Volt per cell

VoltagePerLengthRoot

V_per_mhalf

Volt per meter-root

VoltagePressureRootCoeff

V_per_Pahalf

Volt per Pascal-root

VoltagePressureRootCoeff

mV_per_Pahalf

Milli-Volt per Pascal-root

VoltageRoot

Vhalf

Volt to the power of 0.5

VoltageRootCoefficient

per_Vhalf

Per Volt-root

VoltageTemperature10Coeff

V_per_Kel10

Volt per Kelvin to the power of 10

VoltageTemperature10Coeff

V_per_Cel10

Volt per degree Celsius to the power of 10

23-46 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

VoltageTemperature10Coeff

uV_per_Kel10

Micro-Volt per Kelvin to the power of 10

VoltageTemperature10Coeff

mV_per_Kel10

Milli-Volt per Kelvin to the power of 10

VoltageTemperature10Coeff

uV_per_Cel10

Micro-Volt per degree Celsius to the power of 10

VoltageTemperature10Coeff

mV_per_Cel10

Milli-Volt per degree Celsius to the power of 10

VoltageTemperature11Coeff

V_per_Kel11

Volt per Kelvin to the power of 11

VoltageTemperature11Coeff

V_per_Cel11

Volt per degree Celsius to the power of 11

VoltageTemperature11Coeff

uV_per_Kel11

Micro-Volt per Kelvin to the power of 11

VoltageTemperature11Coeff

mV_per_Kel11

Milli-Volt per Kelvin to the power of 11

VoltageTemperature11Coeff

uV_per_Cel11

Micro-Volt per degree Celsius to the power of 11

VoltageTemperature11Coeff

mV_per_Cel11

Milli-Volt per degree Celsius to the power of 11

VoltageTemperature12Coeff

V_per_Kel12

Volt per Kelvin to the power of 12

VoltageTemperature12Coeff

V_per_Cel12

Volt per degree Celsius to the power of 12

VoltageTemperature12Coeff

uV_per_Kel12

Micro-Volt per Kelvin to the power of 12

VoltageTemperature12Coeff

mV_per_Kel12

Milli-Volt per Kelvin to the power of 12

VoltageTemperature12Coeff

uV_per_Cel12

Micro-Volt per degree Celsius to the power of 12

VoltageTemperature12Coeff

mV_per_Cel12

Milli-Volt per degree Celsius to the power of 12

VoltageTemperature13Coeff

V_per_Kel13

Volt per Kelvin to the power of 13

VoltageTemperature13Coeff

V_per_Cel13

Volt per degree Celsius to the power of 13

VoltageTemperature13Coeff

uV_per_Kel13

Micro-Volt per Kelvin to the power of 13

VoltageTemperature13Coeff

mV_per_Kel13

Milli-Volt per Kelvin to the power of 13

VoltageTemperature13Coeff

uV_per_Cel13

Micro-Volt per degree Celsius to the power of 13

VoltageTemperature13Coeff

mV_per_Cel13

Milli-Volt per degree Celsius to the power of 13

VoltageTemperature14Coeff

V_per_Kel14

Volt per Kelvin to the power of 14

VoltageTemperature14Coeff

V_per_Cel14

Volt per degree Celsius to the power of 14

VoltageTemperature14Coeff

uV_per_Kel14

Micro-Volt per Kelvin to the power of 14

VoltageTemperature14Coeff

mV_per_Kel14

Milli-Volt per Kelvin to the power of 14

VoltageTemperature14Coeff

uV_per_Cel14

Micro-Volt per degree Celsius to the power of 14

VoltageTemperature14Coeff

mV_per_Cel14

Milli-Volt per degree Celsius to the power of 14

VoltageTemperature15Coeff

V_per_Kel15

Volt per Kelvin to the power of 15

VoltageTemperature15Coeff

V_per_Cel15

Volt per degree Celsius to the power of 15


Simplorer Design Conventions23-47

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

VoltageTemperature15Coeff

uV_per_Kel15

Micro-Volt per Kelvin to the power of 15

VoltageTemperature15Coeff

mV_per_Kel15

Milli-Volt per Kelvin to the power of 15

VoltageTemperature15Coeff

uV_per_Cel15

Micro-Volt per degree Celsius to the power of 15

VoltageTemperature15Coeff

mV_per_Cel15

Milli-Volt per degree Celsius to the power of 15

VoltageTemperature2Coeff

V_per_Kel2

Volt per Kelvin squared

VoltageTemperature2Coeff

V_per_Cel2

Volt per degree Celsius squared

VoltageTemperature2Coeff

uV_per_Kel2

Micro-Volt per Kelvin squared

VoltageTemperature2Coeff

mV_per_Kel2

Milli-Volt per Kelvin squared

VoltageTemperature2Coeff

uV_per_Cel2

Micro-Volt per degree Celsius squared

VoltageTemperature2Coeff

mV_per_Cel2

Milli-Volt per deree Celsius squared

VoltageTemperature3Coeff

V_per_Kel3

Volt per Kelvin cubed

VoltageTemperature3Coeff

V_per_Cel3

Volt per degree Celsius cubed

VoltageTemperature3Coeff

uV_per_Kel3

Micro-Volt per Kelvin cubed

VoltageTemperature3Coeff

mV_per_Kel3

Milli-Volt per Kelvin cubed

VoltageTemperature3Coeff

uV_per_Cel3

Micro-Volt per degree Celsius cubed

VoltageTemperature3Coeff

mV_per_Cel3

Milli-Volt per degree Celsius cubed

VoltageTemperature4Coeff

V_per_Kel4

Volt per Kelvin to the power of 4

VoltageTemperature4Coeff

V_per_Cel4

Volt per degree Celsius to the power of 4

VoltageTemperature4Coeff

uV_per_Kel4

Micro-Volt per Kelvin to the power of 4

VoltageTemperature4Coeff

mV_per_Kel4

Milli-Volt per Kelvin to the power of 4

VoltageTemperature4Coeff

uV_per_Cel4

Micro-Volt per degree Celsius to the power of 4

VoltageTemperature4Coeff

mV_per_Cel4

Milli-Volt per degree Celsius to the power of 4

VoltageTemperature5Coeff

V_per_Kel5

Volt per Kelvin to the power of 5

VoltageTemperature5Coeff

V_per_Cel5

Volt per degree Celsius to the power of 5

VoltageTemperature5Coeff

uV_per_Kel5

Micro-Volt per Kelvin to the power of 5

VoltageTemperature5Coeff

mV_per_Kel5

Milli-Volt per Kelvin to the power of 5

VoltageTemperature5Coeff

uV_per_Cel5

Micro-Volt per degree Celsius to the power of 5

VoltageTemperature5Coeff

mV_per_Cel5

Milli-Volt per degree Celsius to the power of 5

VoltageTemperature6Coeff

V_per_Kel6

Volt per Kelvin to the power of 6

VoltageTemperature6Coeff

V_per_Cel6

Volt per Kelvin to the power of 6

23-48 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

VoltageTemperature6Coeff

uV_per_Kel6

Micro-Volt per Kelvin to the power of 6

VoltageTemperature6Coeff

mV_per_Kel6

Milli-Volt per Kelvin to the power of 6

VoltageTemperature6Coeff

uV_per_Cel6

Micro-Volt per degree Celsius to the power of 6

VoltageTemperature6Coeff

mV_per_Cel6

Milli-Volt per degree Celsius to the power of 6

VoltageTemperature7Coeff

V_per_Kel7

Volt per Kelvin to the power of 7

VoltageTemperature7Coeff

V_per_Cel7

Volt per degree Celsius to the power of 7

VoltageTemperature7Coeff

uV_per_Kel7

Micro-Volt per Kelvin to the power of 7

VoltageTemperature7Coeff

mV_per_Kel7

Milli-Volt per Kelvin to the power of 7

VoltageTemperature7Coeff

uV_per_Cel7

Micro-Volt per degree Celsius to the power of 7

VoltageTemperature7Coeff

mV_per_Cel7

Milli-Volt per degree Celsius v 7

VoltageTemperature8Coeff

V_per_Kel8

Volt per Kelvin to the power of 8

VoltageTemperature8Coeff

V_per_Cel8

Volt per degree Celsius to the power of 8

VoltageTemperature8Coeff

uV_per_Kel8

Micro-Volt per Kelvin to the power of 8

VoltageTemperature8Coeff

mV_per_Kel8

Milli-Volt per Kelvin to the power of 8

VoltageTemperature8Coeff

uV_per_Cel8

Micro-Volt per degree Celsius to the power of 8

VoltageTemperature8Coeff

mV_per_Cel8

Milli-Volt per degree Celsius to the power of 8

VoltageTemperature9Coeff

V_per_Kel9

Volt per Kelvin to the power of 9

VoltageTemperature9Coeff

V_per_Cel9

Volt per degree Celsius to the power of 9

VoltageTemperature9Coeff

uV_per_Kel9

Micro-Volt per Kelvin to the power of 9

VoltageTemperature9Coeff

mV_per_Kel9

Milli-Volt per Kelvin v 9

VoltageTemperature9Coeff

uV_per_Cel9

Micro-Volt per degree Celsius to the power of 9

VoltageTemperature9Coeff

mV_per_Cel9

Milli-Volt per degree Celsius to the power of 9

VoltageTemperatureCoeff

V_per_Kel

Volt per Kelvin

VoltageTemperatureCoeff

V_per_Cel

Volt per degrees Celsius

VoltageTemperatureCoeff

uV_per_Kel

Micro-Volt per Kelvin

VoltageTemperatureCoeff

mV_per_Kel

Milli-Volt per Kelvin

VoltageTemperatureCoeff

uV_per_Cel

Micro-Volt per degree Celsius

VoltageTemperatureCoeff

mV_per_Cel

Milli-Volt per degree Celsius

Volume

Volume

ml
Simplorer Design Conventions23-49

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

Volume

m3

Cubic-Meter

Volume

galUS

Gallon (am.)

Volume

cup

Cup

Volume

galUK

Gallon (br.)

Volume

Liter

Volume

mm3

Cubic-Centi-Meter

Volume

ml

Cubic-Centi-Meter

VolumeCoefficient

per_m3

Per cubic-meter

VolumeCoefficient

per_cm3

Per cubic-centi-meter

VolumeFlowConductance

vol_flow_con_m3_per_Pa Cubic-meter per Pascal-second


s

VolumeFlowConductance

vol_flow_con_cm3_per_P Centi-meter cubed per Pascal-second


as

VolumeFlowPerPressureRoot

m3_per_sPahalf

Meter-cubed per second per Pascal-root

VolumeFlowRate

m3_per_s

Cubic meter per second

VolumeFlowRate

cm3_per_s

Cubic centi-meter per second

VolumeFlowRate

m3_per_hour

Cubic meter per hour

VolumeFlowRate

m3_per_min

Cubic meter per minute

VolumeFlowRateChangeRate

m3_per_s2

Cubic meter per square-second

VolumeFlowRateChangeRate

cm3_per_s2

Centi meter cubed per second squared

Weight

oz

Ounce

Weight

lb

Pound

Weight

kg

Kilogram

Weight

gram

Gram

Weight

ug

Micro-Gram

Weight

mg

Milli-Gram

Weight

ton

Tons

WireCrossSection

m2wire

Meter squared

WireCrossSection

um2wire

Micro-meter squared

WireCrossSection

ft2wire

Square foot

23-50 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unit Type

String Representation

Description

WireCrossSection

in2wire

Square inch

WireCrossSection

mm2wire

Milli-meter squared

WireCrossSection

cm2wire

Centi-meter squared

WireCrossSection

AWG

American wire gauge

Simplorer Design Conventions23-51

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

23-52 Simplorer Design Conventions

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

24
Technical Notes

The following technical notes provide additional information on a variety of topics.

Fixing Non-Convergence in Simplorer


Using TimeTrigger
Simplorer - ModelSim Co-simulation Interface User Guide
Using MathWorks Real-Time Workshop to Export a Simulink Model to a Simplorer C-Model
DLL
Unsupported Compatibility 4x7 Library Components
About the VHDL-AMS working Library in Simplorer

Technical Notes 24-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Fixing Non-Convergence in Simplorer


In case of non-convergence during transient simulation (i.e., the maximum number of iterations has
been exceeded), using the steps below will lead to convergence and accurate simulations in most
cases.
Note

Change the acceptable tolerance values The two absolute errors and the one relative tolerance value are used internally by the solver to check accuracy (convergence). Relaxing the tolerances may aid the simulation convergence.
It is usually safe to add a relative tolerance. Set the relative tolerance to 0.1%.
If acceptable, raise the values of the absolute current and voltage errors.
Increase the maximum allowed iterations By default this value is set to 40. Try setting this
value to 100 or more. The solver converges very rapidly (in quadratic order) if the initial solution is close to the actual solution. If not, it can exceed the max iteration limit very quickly.
Reduce the minimum time step If increasing max iterations does not work, the system may
be changing faster that the minimum time step allows the simulator to solve it. Reduce the
minimum time step to allow sufficient sampling for the highest frequency signal in the simulation.
Note

The items below are given in the recommended order of use.

In some cases, increasing the allowed time step value can aid convergence by allowing
the simulator to step over discontinuous, difficult to solve points in the simulation.

Specify initial conditions (when available) When possible, such as with Capacitors, Inductors, and especially in VHDL-AMS models (using the break statement), specify the initial values of quantities. Since the solver relies largely on a good initial guess, it can help
tremendously if a good starting point is supplied to it.
Adjust the slider position When dealing with certain systems, (possibly systems which lead
to a near singular matrix) partial pivoting may not work. Try forcing full pivoting. This guarantees same or greater accuracy and a better chance of convergence
Use the Simulation Parameters model A very useful model that can be used to debug simulator issues (such as non-convergence). By monitoring the various solver parameters like the
time step used by the solver, the number of iterations required, number of rollbacks, etc, it is
possible to quite easily diagnose the problem and remedy it.
Change the LDF The LDF (i.e. the integration algorithm truncation error) value can be
reduced to force the solver to make smaller increases in the step size and may help convergence at the current time step. Increasing LDF may also work by allowing the solver to jump
over problematic solution points, but is not a recommended practice.
Improve the Model Some simple model improvements can save the simulator a lot of work
and can aid convergence. For example, smooth out any discontinuities, add damping for highly
non-linear models, check and fix any inconsistencies and errors in circuit topology and connectivity, make models more realistic, etc.

24-2 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using Time Trigger


Using the Time Trigger feature the user can specify synchronization points at which the simulator
will be forced to do a calculation. A time trigger event can now be scheduled as a singular event or
as a periodical one.
Related Topics
Intention
Handling
Library Extensions

Intention
Imagine a state machine that has to perform certain operations at exactly specified time points, e.g.,
at t1 = 1 ms, t2 = 2 ms, etc. To trigger these events, the simulator will approach t1 with some step
size h. It will ignore t1 until t > t1, then discard the last step and reduce h. The simulator does some
kind of interpolation to find the new h. From then on, h will be successively increased until again t
> t1 and the same procedure starts anew. This whole process continues until t1 is being stepped
over by hmin.
This has many drawbacks. First, the simulation accuracy suffers considerably because t1 is only hit
by an error depending on hmin. Second, simulation speed suffers extremely (especially for clocked
systems and alike) because Simplorer takes a lot of extra steps (e.g. many hundreds depending on h,
hmin, and hmax) just to trigger this event roughly.
If the model itself knows the point where the condition goes true, it could set the step size to synchronize exactly to this point.

Handling
The backplane includes now a trigger list. Its a sorted list with all scheduled events. After a time
step, when the simulator calculates the step size for the next time step, it includes this list for the
step size calculation.
New functions to schedule and unschedule events are available in the system now. The functions
can be called from the State graph and the C-Interface.
ScheduleTrigger or SCHED- will create a new trigger.
DeScheduleTrigger or DESCHED - will remove a trigger
Calling repeatedly the function ScheduleTrigger or SCHED with the same name will overwrite the
existing time trigger with that name.
Definition of more than one time triggers for a time point is possible. Unscheduling has no effect as
long as at least one trigger for that time point is active. If all triggers are removed, the simulator will
not synchronize at that time point.

Technical Notes 24-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

State Graph Extension


The state graph module has a new feature - a Schedule event action type. An associated transition
will switch (i.e. become TRUE) exactly at the moment of this time event. The name of this Schedule event action type is SCHED. An action of some state looks like:
SCHED dTEv1 $$ t + 1u
For periodical events, add the period length as additional parameter:
SCHED dTEv2 $$ t + 1u, 5u
SCHED sets variable dTEv1 to current simulation time plus 1 microsecond and synchronize at time
t + 1u. Whenever a SCHED action type is encountered, ScheduleEvent will be called by the simulator. A new trigger is created in the Backplane and sorted into the trigger list. The Simulator uses
this trigger list to calculate the next time step size.
A transition condition looks like:
COND: dTEv1
/* transition TRUE if dTEv1 has been reached, simulator
triggers exactly on dTEv1 */
or
COND: dTEv1 OR R1.I >= I_Max
/* transition TRUE if dTEv1 has been reached (simulator
triggers exactly on dTEv1) or current through R1 greater than or
equal to some variable I_Max*/
There will be a DESCHED action type that executes DescheduleEvent. The according action looks
like:
DESCHED dTEv1
list */

/* removes the value of dTEv1 from the trigger

The $$ will set dTEv1 to the right side value and schedule the event once the state becomes active.
Thus, it might also be omitted because the SCHED type seems to form a unique definition. However, the DEL type also goes along with the ##-operator although one seems to suffice. Again: This

24-4 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

new action/transition combination corresponds to the delay operator (##), where a certain state
graph transition will become TRUE after a certain time has elapsed, e.g.:
DEL lTEl1 ## t + 1.1u
/* lTel1 becomes TRUE after t + 1.1 us has elapsed */
COND: lTEl1 AND R1.I < I_Max
/* switch if time elapsed and current less than its maximum, ...
*/

C/C++ Interface Extension


There are two predefined functions that call ScheduleEvent and DescheduleEvent from
inside a C-model. Calling the Schedule or DeSchedule function are only allowed in SimInit()
or SimValidate(), otherwise a error message occurs. The Sim2000User.h header file is
extended and includes 2 new function prototypes:
//functions to schedule user model sync time points
void ScheduleTrigger (LPCTSTR pszName, double dAbsSyncTime,
double dPeriod = 0.0);
where,
pszName - user defined non-ambiguous name for the time trigger
dAbsSyncTime - absolute time of the next trigger time in seconds
dPeriod - period length for the trigger in seconds, 0.0 means no period
Calling the ScheduleTrigger function a second time with the same name will overwrite the
previous one. For example:
ScheduleTrigger (MyTrig, 1e-3);
ScheduleTrigger (MyTrig, 1.5e-3, 0.5e-3);
Only the second trigger at time 1.5ms with a period length of 0.5ms is active. At time 1ms the simulator will not necessarily synchronize.
//functions to deschedule user model sync time points
void DeScheduleTrigger (LPCTSTR pszName);
where,
pszName trigger name corresponding with the name used in ScheduleTrigger()

Error Messages
Messages are displayed when user calls Schedule or Deschedule in SIMPREP or SIMSTEP.

Technical Notes 24-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Error in deschedule the time trigger <%name>. Descheduling allowed only in SimInit() or SimValidate().
Error in schedule the time trigger <%name>. Scheduling allowed only in SimInit() or SimValidate().

Library Extensions
New Action type is added to all State graph models in the Basic library. The wizard will display the
new action type automatically in the combo box.

24-6 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer - ModelSim Co-simulation Interface User Guide


Introduction (ModelSim)
This document outlines the Simplorer co-simulation interface to ModelSim SE 6.3 available starting
with Simplorer 8.0. Through the co-simulation interface, model developers will have the opportunity to simulate and verify complex digital sub-systems in a complete system simulation environment.
Main Features
1.

Supports the ModelSim SE 6.3 license.

2.

Requires that Simplorer and ModelSim run on the same machine.

The following sections outline the procedure to setup, start, and control a co-simulation.

Installation/Pre-Setup (ModelSim)
1.

The co-simulation environment makes use of an environment variable SIMPMSCoSimDLL.


During installation, this is automatically set to point to the co-simulation dll:

2.

For automatic mode, Simplorer must be able to invoke the ModelSim executables (vlib, vcom,
vsim, etc). Add the ModelSim executable path to the system path to ensure this.

<your Simplorer installation directory>\SIMPModelSimCoSim.dll

Setup (ModelSim)
Prior to simulation, you must first create the co-simulation models and add them to the Simplorer
library.

Creating Co-simulation Models (ModelSim)


To use a model which is to be simulated in ModelSim, you must first create a VHDL model in Simplorer with the entity information and an empty architecture decorated with a special foreign attribute as in the example below.
--co-simulation model entity
ENTITY inv_modelsim IS
GENERIC (TP_LH : REAL := 0.0;
TP_HL : REAL := 0.0);
PORT (x : IN BIT := '0';
y : OUT BIT := '1');
END ENTITY inv_modelsim;
ARCHITECTURE behav OF inv_modelsim IS
--foreign attribute
ATTRIBUTE foreign OF behav : ARCHITECTURE IS "ModelSim";
Technical Notes 24-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

BEGIN
END behav;
The entity information is all that is needed to generate the complete interface for the foreign model.
The foreign attribute is defined in package STANDARD by the VHDL-AMS Language Reference
Manual and marks the architecture for implementation-dependent elaboration.
You can use a specific library/model/architecture from ModelSim, by extending the foreign string.
The syntax is:
ModelSim.<library name>.<entity name>.<architecture name>
By default the co-simulation will use the work library, the same entity name as that of the interface
model and the default architecture. You can specify either of the following combinations:
<library name>
<library name>.<entity name> or
<library name>.<entity name>.<architecture name>.

Schematic Capture (ModelSim)


Once the foreign model or models are created in Simplorer, they can be used like any other Simplorer model. Drop them on the sheet and connect them to other Simplorer models to create the
schematic. The following figure shows the schematic for a simple ring oscillator model created
using two instances (inv_modelsim1 and inv_modelsim2) of the inverter model described above.

The AToD VHDL-AMS model is described below.


ENTITY AToD IS
GENERIC (TS : REAL := 0.0);
PORT (QUANTITY INPUT : IN REAL := 0.0;
QUANTITY THRES1 : IN REAL := 0.01;
24-8 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

QUANTITY THRES2 : IN REAL := 0.99;


SIGNAL sig : OUT BIT := '0');
END ENTITY AToD;
ARCHITECTURE behav OF AToD IS
SIGNAL upper_crossing : BOOLEAN := FALSE;
SIGNAL lower_crossing : BOOLEAN := TRUE;
BEGIN
upper_crossing <= input'ABOVE(THRES2);
lower_crossing <= NOT input'ABOVE(THRES1);
BREAK ON upper_crossing, lower_crossing;
PROCESS (upper_crossing,lower_crossing)
BEGIN
IF (INPUT<THRES1) THEN
sig <= '0';
ELSIF (INPUT > THRES2) THEN
sig <= '1';
END IF;
END PROCESS;
END ARCHITECTURE;

Netlisting (ModelSim)
Based on the schematic description, Simplorer automatically creates two netlists. The first is the
.sml file for the Simplorer simulator. The second is the netlist description, in VHDL, for ModelSim.
The ModelSim netlist is created in the same location as the Simplorer sml netlist and is named
<sml_name>_EDSCoSim_Netlist.vhd.

Co-simulation Setup (ModelSim)


In this step, the top level design is compiled and elaborated in ModelSim. ModelSim is then started
with the top level design (entity top architecture implement) and co-simulation can begin.
Prior to simulating, all models and sub-models to be simulated in ModelSim must be compiled by
the user separately into ModelSim libraries. These libraries must be available from the same directory as the Simplorer project through appropriate definitions in the cds.lib file. For details on how
to compile models, library management and the cdl.lib file, refer to the Mentor Graphics ModelSim
user documentation. In addition, Simplorer uses worklib as the default work library to compile
and elaborate the ModelSim netlist.
-- Inverter behavioral model description
Technical Notes 24-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

ENTITY inv_modelsim IS
GENERIC (TP_LH : REAL := 0.0;
TP_HL : REAL := 0.0);
PORT (x : IN BIT := '0';
y : OUT BIT := '1');
END inv_modelsim;
ARCHITECTURE behav OF inv_modelsim IS
CONSTANT lh : TIME := TP_LH * 1 sec;
CONSTANT hl : TIME := TP_HL * 1 sec;
SIGNAL INV_OUT : BIT := '0';
BEGIN
INV_OUT <= NOT X;
Y <= INV_OUT AFTER hl WHEN INV_OUT = '0' ELSE
INV_OUT AFTER lh;
END behav;
When the user starts a simulation (for a design with models marked for ModelSim simulation) in
Simplorer, Simplorer generates the top-level ModelSim netlist, and then compiles, elaborates, and
starts ModelSim with the top level design which in turn loads the co-simulation interface.
The commands executed by Simplorer to setup ModelSim are:
vlib work
vcom -bindAtCompile <sml_name>_EDSCoSim_Netlist.vhd
vsim -t 1fs work.top
The External Digital Simulator sub-group in the transient analysis options allows viewing and editing of the commands executed by Simplorer. To do this, select ModelSim from the drop down box
and click on settings. The External Digital Simulator sub-group also provides a check box which
can be used to wait after the EDS setup. This allows the user to perform any additional setup steps
in ModelSim such as selecting outputs.
When ModelSim successfully loads the co-simulation dll, the message Successfully loaded the
Simplorer-ModelSim Co-simulation Interface is displayed. Once the ModelSim prompt is displayed, co-simulation setup is complete.

24-10 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Note that once a setup is completed for a schematic, it remains valid until a new schematic is
loaded. This also means that only one valid co-simulation setup is allowed at one time. If an existing ModelSim setup is found by Simplorer, it will attempt to link to it and will fail if the existing
model loaded in ModelSim has a different interface that the one it is trying to link to.

Simulation (ModelSim)
Starting Simulation (ModelSim)
After a successful setup, Simplorer will start the simulation. If the Wait after loading external simulator checkbox is selected, Simplorer will bring up a dialog after successful simulation and will
wait for the user to hit OK.

Controlling Simulation (ModelSim)


Since Simplorer controls the simulation, all simulation parameters used for the co-simulation (such
as the simulation end time) are determined by Simplorers simulation parameters dialog.
During simulation, it is possible to pause or stop the simulation from Simplorer. You may also continue the simulation at the end of a successful simulation run. To restart the simulation, start the
simulation again. It is not required to follow the setup procedure if restarting a simulation for the
currently setup schematic.

Ending Simulation (ModelSim)


Stop the simulation in Simplorer to end the co-simulation. This will force ModelSim to stop as
well.

Saving and Continuing a Simulation (ModelSim)


It is possible to save the state of a simulation at the end of a successful run in a krn file. In case of a
co-simulation, Simplorer will also prompt ModelSim to save its state in a checkpoint file. The
checkpoint filename is automatically generated based on the name of the ModelSim top level
source filename.
Similarly, when a previously saved krn file is loaded, Simplorer detects the presence of a co-simulation model and prompts ModelSim to load the saved checkpoint file.
Note that setup steps still must be followed before restoring from a saved simulation.

Technical Notes 24-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Displaying Results and Post Processing (ModelSim)


Any outputs crossing the co-simulation interface can be displayed in both Simplorer and ModelSim. Internal ModelSim signals can be logged separately in ModelSim through the ModelSim UI at
anytime after the ModelSim setup is complete. The following figure shows the results of the simulation for the ring oscillator example as seen in Simplorer.

Limitations and Known Issues (ModelSim)


1.

INOUTS are not currently supported across the co-simulation interface. Signals crossing the
co-simulation interface can only be of type IN or OUT.

24-12 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Using MathWorks Real-Time Workshop to Export a Simulink


Model to a Simplorer C-Model DLL
This section describes how a Simulink model can be exported to a Simplorer C-model. For the
export, MathWorks Real-Time Workshop (RTW) is used. RTW generates the model based C-code,
the Simplorer C-interface functions and the necessary makefile for Microsoft Visual C++. After
the C-code generation RTW calls the compiler and generates a ready-to-use Simplorer C-interface
dll that can be included in a Simplorer Model library.
Simplorer uses Simulink models direct without co-simulation. The exported models will run standalone directly in a Simplorer environment. Communication with Simulink is not necessary.
Note

Beginning with version R2011a, the Real Time Workshop product has been replaced by
Simulink Coder and Matlab Coder. To use the functionality described in this section,
licenses of both Simulink Coder and Matlab Coder are required.

Features
There are three target entries in the RTW system target list for exporting to a Simplorer target.

The Simulink model can be exported to a Generic Simplorer Target. That target will work with
fixed step size. The maximum integration step size in Simplorer is fixed by the sample time. It
is possible to use more than one instance of the model, exported to that target in one Simplorer
sheet. For the Generic Simplorer Target no Simulink license is necessary. The model will run
without Simulink, because the Simulink integration solver is exported also and is built in the
model itself.
With the second option it is possible to export a model with variable step size (supported only
with MATLAB version R2008a and earlier). For this option the Simplorer Rapid Simulation
Target is used. For this target RTW does not export an embedded Simulink solver. RTW
exports a link to the Simulink engine instead. Therefore the model will check out a Simulink
license during runtime. The restriction for this target is that only one instance of each exported
Simulink model can be used on a Simplorer sheet.
The third option exports to a Visual C++ makefile. That makefile can be open in Visual
Studio .Net. Visual Studio .Net can compile the model and create the Simplorer C-interface dll.
This option is for advanced users who want to look into the exported model code, debug the
model, or modify the model by hand after the export.
Simulations run completely under the Simplorer environment. The models have no step delay,
and performance is much better than with the Simulink co-simulation interface.
Because Simulink models don't have separate AC or DC behavior, the exported model will
work only for transient simulation in Simplorer.
All ports have to be scalar of type=double. Vector or complex ports are not supported.

Requirements for Model Creation


Microsoft Visual C/C++ compiler versions: 7.1, 8.0
Technical Notes 24-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Microsoft Visual C/C++ 2008 Express


Microsoft Visual Studio 2008
Note

Visual Studio 2008 is only supported by Matlab/Simulink version R2008a and later.

MATLAB, Simulink, and RTW


Supported versions:
Release 14, R2006a, R2006b, R2007a, R2007b, R2008a, R2008b, R2009a, R2009b, R2010a,
R2010b, R2011a, R2011b, R2012a.
(The RSIM target is not supported in version R2008b and subsequent versions)
Note

Beginning with version R2011a, the Real Time Workshop product has been replaced by
Simulink Coder and Matlab Coder. To use the functionality described in subsequent
sections, licenses of both Simulink Coder and Matlab Coder are required.

Simplorer 8.0 or later with C-Interface option


RTW target template files in the folder <MATLAB>\rtw\c\Simplorer_rtw

simplorer_msvc_rt.tmf
simplorer_rsim.tlc
simplorer_rsim.tmf
simplorer_rsim_wrapper.tlc
simplorer_rt.tlc
simplorer_rt_wrapper.tlc
simplorer_vc_rt.tmf

Setting VC++ specific environment variables for using Microsoft Visual Studio .NET 2003
command line tools (run vcvars32.bat)
Set environment variable SIMPLORER_HOME to point to the Simplorer installation base
directory (typically C:\Program Files\AnsysEM\Simplorer11.0\Windows)

Requirements for Model Usage


Simplorer 8.0 or later with C-Interface option.
Appropriate MathWorks MATLAB and Simulink versions for Simplorer RSIM target only.
User-created C-Model DLLs look for the appropriate MathWorks DLLs in the registered product area on the machine on which they are run. If these MathWorks DLLs are not appropriate
for the context in which the C-Model DLL was built, the C-Model DLL will not work.
Please note the following limitations on variable time step (RSIM) C-Model DLL files:

If R2008b, R009a, R2009b, R2010a, or R2010b is the registered version, then no variable
time step C-Models will work.
If R2008a or R2007b is the registered version, then variable time step DLLs built with
either R2008a or R2007b will work.

24-14 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

If R2007a or R2006b is the registered version, then variable time step DLLs built with
either R2007a or R2006b will work.

It is preferable for the registered version to be same as the version with which the DLL was
build. Users can uninstall and reinstall versions of MathWorks to set the registered version.

Technical Notes 24-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Template Files
simplorer_rsim.tlc
simplorer_rt.tlc
Depending on the selected target, these files are the entry point for the c-code generation with
RTW. The template controls the target language compiler and adds a new property page with Simplorer build options to the RTW dialog.

simplorer_rsim.tmf
simplorer_msvc_rt.tmf
simplorer_vc_rt.tmf

Templates for the target makefile. The templates collect the created model C source files, the
integration solver files and the created Simplorer interface C source files to a makefile. It sets
the compiler flags, include and lib directories for the compiler.

simplorer_rsim_wrapper.tlc
simplorer_rt_wrapper.tlc

Template to create the C source code for the Simplorer interface. Depending on the options set in
the RTW dialog and the Simulink model interface, adds inputs and outputs and wraps the Simulink
model into a Simplorer C-model. Simulink input or outputs labels are base for the Simplorer C
interface names.

24-16 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Workflow
All models supported by the Real-Time Workshop can be exported to a Simplorer C model dll. For
details about general usage of RTW see the RTW documentation.

Technical Notes 24-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer Targets
There are 3 targets available in the RTW system target browser. The targets are based on
grt_malloc.tlc and rsim.tlc, therefore the dialogs are similar to the example shown below. See the
RTW documentation for more information about the parameter.

After a Simplorer Target is selected RTW will open a parameter dialog. Simplorer C-interface uses
the C++ language. Therefore the language must be set to C++. An additional Simplorer page in the
RTW section of the parameter dialog is added. The Simplorer C-model dll will be created in the
current Simulink working directory.

24-18 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Technical Notes 24-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Generic Simplorer Target with Dynamic Memory Allocation


Generic Simplorer Target uses dynamic memory allocation. With that feature multiple instances of
the Simulink model in one Simplorer sheet are possible. The exported model itself includes the
Simulink fixed step solver. Therefore the model user doesn't need a Simulink license. The model Ccode and all temporary files are generated in a folder <model>_grt_simplorer.

The solver must be set to a fixed type. If stop (end) time is set to inf the model will use the Simplorer end time. This option guarantees the most flexibility and should be used instead of a fixed
end time. If a fixed end time is set, the model output will be constant after that time is passed. The
fixed step influences the maximum integration time in Simplorer. Simplorer synchronizes to these
time points. A small sample time here could slow down the simulation dramatically. Also this time
should not be too large because between 2 samples the output of the Simulink model will be constant. A value change on an input port will not be recognized by the Simulink model between 2
samples. The step size should be a compromise between accuracy and speed.

24-20 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

It is possible to interpolate the outputs of the Simulink model. Instead of constant values between
two samples the model uses interpolated values.

Technical Notes 24-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

For smother outputs this option could be used. In some cases the interpolation will increase the
number of iterations and reduce the accuracy. This could be the case, for example, if the model
switches the output value or if the output is discrete.

24-22 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Simplorer Rapid Simulation Target


Simplorer Rapid Simulation target uses static memory. Therefore only one instance of each model
dll per sheet is possible. The exported Simulink model can use either a fixed or a variable solver. If
a fixed solver is selected, the model itself includes the Simulink integration solver code. The model
runs without a Simulink license. If a variable solver is selected, the model uses the Simulink engine
in which case, during simulation, the model will now check out a Simulink license. Without a valid
Simulink license the model generates an error message. The model runs with the variable Simplorer
simulation step size. Simplorer algorithm controls the step size calculation. The model C-code and
all temporary files are generated in the folder <model>_rsim_simplorer.

Visual C/C++ Project Makefile Only


This target exports only the model C-code, creates the simplorer C-interface wrapper source code
and the VC makefile. The target doesn't build the dll. For a Simplorer dll a C++ compiler has to
call the makefile. Visual Studio .Net can import the generated makefile.

Technical Notes 24-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Licensing Protocols for Simulink Solvers in Simplorer dll's


The Generic Simplorer target supports variable-step solvers by linking the generated code with the
Simulink solver module (a shared library). When this Simplorer C-Model dll runs, it accesses proprietary Simulink variable-step solver technology. To do so, the executable checks out a Simulink
license for the duration of execution.
Simplorer C-Model dlls that do not use the Simulink solver module (for example, Simplorer CModel dll built for a fixed-step model using the Real-Time Workshop fixed-step solvers) do not
require a license.
The Simplorer C-Model dll looks in the default locations for the license file:
PC: <matlabroot>/bin/win32/license.dat
Here, <matlabroot> is the location used when you built the Simplorer C-Model dll. If the Simplorer C-Model dll is unable to locate the license file (this can happen, for example, if you run this
executable on another machine, where <matlabroot> is no longer valid), it displays the following
error message and exits:
Error checking out SIMULINK license.
Note

You can point the Simplorer C-Model dll to a different license file by setting the
environment variable LM_LICENSE_FILE. The location pointed to by that variable
will override the default location compiled into the Simplorer C-Model dll.

If the Simplorer C-Model dll is unable to check out a Simulink license (this would happen, for
example, if all Simulink licenses are currently checked out), or has other errors when checking out
a Simulink license, it displays a detailed error message (similar to the one above) returned by the
FLEXlm API and exits.

24-24 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Improved Performance and Convergence of an Exported Model


Simulink models in algebraic loops or with a strong feedback loop are possible. But models like the
model below need more iterations as an equivalent pure Simplorer model. Numerical problems
could be occurring in the solver. The model has less efficiency compared with a pure Simplorer or
Simulink model.

Technical Notes 24-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Putting the model into a Simulink or Simplorer model increases the speed, stability and convergence of the sheet.

24-26 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unsupported Compatibility 4x7 Library Components


The following compatibility4x7 (Compatibility4x7.smd) library components are not supported in
Simplorer 10.
Unsupported Compatibility 4x7 Library Components
Component Name

Description

Diode_ST4

Static Diode Model

Diode_DYN4

Dynamic Diode Model

NPN_ST4

Static NPN BJT

NPN_TH4

Static NPN BJT with Thermal Model

NPN_DYN4

Dynamic NPN BJT

PNP_ST4

Static PNP BJT

PNP_TH4

Static PNP BJT with Thermal Model

PNP_DYN4

Dynamic PNP BJT

NJFET_ST4

Static N-Channel JFET

NJFET3_DYN4

Dynamic 3-pin N-Channel JFET

NJFET4_DYN4

Dynamic 4-pin N-Channel JFET

PJFET_ST4

Static P-Channel JFET

PJFET3_DYN4

Dynamic 3-pin P-Channel JFET

PJFET4_DYN4

Dynamic 4-Pin P-Channel JFET

NMOS_DST4

Static N-Channel Depletion MOSFET

NMOS3_DDYN4

Dynamic 3-Pin N-Channel Depletion MOSFET

NMOS4_DDYN4

Dynamic 4-Pin N-Channel Depletion MOSFET

PMOS_DST4

Static P-Channel Depletion MOSFET

PMOS3_DDYN4

Dynamic 3-Pin P-Channel Depletion MOSFET

PMOS4_DDYN4

Dynamic 4-Pin P-Channel Depletion MOSFET

NMOS_EST4

Static N-Channel Enhancement MOSFET

NMOS3_EDYN4

Dynamic 3-Pin N-Channel Enhancement MOSFET

NMOS4_EDYN4

Dynamic 4-Pin N-Channel Enhancement MOSFET

PMOS_EST4

Static P-Channel Enhancement MOSFET

PMOS3_EDYN4

Dynamic 3-Pin P-Channel Enhancement MOSFET


Technical Notes 24-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unsupported Compatibility 4x7 Library Components (Continued)


Component Name

Description

PMOS4_EDYN4

Dynamic 4-Pin P-Channel Enhancement MOSFET

FUJI

IGBT Model Fuji

SEMIKRON

IGBT Model Semikron

DIODE5

Diode

NMOS5

N-Channel MOSFET

NMOS_FWD5

N-Channel MOSFET with FWD

NJFET5

N-Channel JFET

NJFET_FWD5

N-Channel JFET with FWD

PMOS5

P-Channel MOSFET

PMOS_FWD5

P-Channel MOSFET with FWD

PJFET5

P-Channel JFET

PJFET_FWD5

P-Channel JFET with FWD

NIGBT5

N-Channel IGBT

NIGBT_FWD5

N-Channel IGBT with FWD

PIGBT5

P-Channel IGBT

PIGBT_FWD5

P-Channel IGBT with FWD

NPN5

NPN BJT

NPN_FWD5

NPN BJT with FWD

PNP5

PNP BJT

PNP_FWD5

PNP BJT with FWD

NIGBT6

N-Channel IGBT

NIGBT_FWD6

N-Channel IGBT with FWD

PIGBT6

P-Channel IGBT

PIGBT_FWD6

P-Channel IGBT with FWD

QuickGraph

2D View

ConnectGraph

2D View (con)

QuickDigView

Numerical View

CDV

Numerical View (con)

SimTableView

Table View

24-28 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Unsupported Compatibility 4x7 Library Components (Continued)


Component Name

Description

ConnectTableView

Table View (con)

PROBE26

Event Triggered Calculation

FFT6

Fast Fourier Transformation

Technical Notes 24-29

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

About the VHDL-AMS working Library in Simplorer


According to the VHDL-AMS language definition all design units (e.g., models or packages in
Simplorer) are compiled into the working library (work) from which all following analysis steps
take the model for further processing. Generally, VHDL-AMS tools keep only the latest compiled
version of a design unit in this working library. The origin of the design unit is lost in this process.
That also means that in order to guarantee the correct creation of a structural design, all design units
must be compiled at the same time, and the order of compilation must be according to the units
dependencies.
Simplorer follows an approach that allows for greater control over these references. Although Simplorer has a similar working library (project), this library can contain multiple design units that
have the same definition name but were loaded from different libraries. The interfaces and contents
of these models (or packages, but we'll refer to just models below for simplicity) do not have to
match each other. For this reason, all models in the project library preserve their original library
locations; and in order to access a specific model, the original library location must be specified
together with the model name. In addition, project itself is a regular library that is used as the origin
for models that were imported from text files or created manually using the VHDL-AMS Model
Editor.
In other VHDL-AMS systems, if a model def refers to a model using work.abc, def will access the
current model abc in the working library. When using def, however, the abc in the work library to
which work.abc refers may not be the same abc that was used in the creation and testing of def.
References to work.abc are handled with more specificity in Simplorer. The library that abc came
from is kept with abc and when, as above, a model def references work.abc, then the same abc
will be used for def as was used in its creation and testing.
Note

Even though it would be possible in Simplorer to define a library alias name 'work' (this
would load models specified by work.abc from the aliased library), this would not
have the same behavior as in other VHDL tools. The library concept that is used in
ANSYS Electromagnetics tools does not allow automatic writing to any library other
than 'project'. Writing to any other library can be done only by manual export.

Related Topics
The VHDL-AMS work Library in Simplorer
Using the VHDL-AMS Model Editor

24-30 Technical Notes

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

25
Desktop Scripting with IronPython

This document describes IronPython briefly and then goes on to describe desktop provided IronPython scripting console and scripting with IronPython. This document assumes that you know how
desktop scripting works using VBScript or Javascript.
Introduction to IronPython
IronPython Mini-cookbook
Translating Script commands from VBScript to IronPython
Scripting Using Iron Python: Putting it all Together
Appendix: IronPython Samples

Desktop Scripting with IronPython 25-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Introduction to IronPython
IronPython is an implementation of the Python programming language targeting the .NET runtime.
What this means in practical terms is that IronPython uses the python programming language syntax and standard python libraries and can additionally use .NET classes and objects to give one the
best of both worlds. This usage of .NET classes is fairly seamless in that a class defined in a .NET
assembly can be used as a base class of a python class.
Scope
Functioning as a tutorial on Python or IronPython is beyond the scope of this document. There are
several excellent resources online that do a very good job in that regard. This document only
attempts to provide a limited introduction to IronPython as used to script ANSYS Elecromagnetics
products.
Also, this document is not a tutorial on the scripting of ANSYS Elecromagnetics products. It complements the existing scripting guide (available from a product's Help menu) and provides a
pythonic interpretation of that information. The reader might have to refer to either the scripting
guide or recorded samples of VBScript to follow some of the sections.
Python compatibility
The version of IronPython in use is 2.6.1 and built on the .NET framework version 2.0: this version
targets Python 2.6 language compatibility. While most python files will execute under IronPython
with no changes, python libraries that make use of extensions written in the C programming language (NumPy or SciPy for instance), are not expected to work under IronPython. In such cases, it
might be possible to locate .NET implementation of such libraries or explore the use of IronClad.
(http://code.google.com/p/ironclad/).
Advantages of IronPython
The advantages that IronPython use provides are significant:

Python has a large eco-system with plenty of supporting libraries, Visual IDEs and debuggers.
It is actively developed and enhanced.
IronPython, in addition, has access to the entire .NET eco system. This allows us, for instance,
to create a modern GUI using the System.Windows.Forms assembly from IronPython code
and call any other .NET assembly for that matter.
The use of IronPythons technologies enables the ability to interactively script Desktop (feature in development). This allows better discovery of the scripting APIs as well as directly programming to the scripting API in python, a language more tractable and platform independent
compared with VBScript.
The Python syntax of dictionaries is somewhat easier to read and write when supplying arguments to the scripting methods.

25-2 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

IronPython Mini-cookbook
While a tutorial on Python syntax is beyond the scope of this document, it will present simple counterparts to the VBScript constructs that users tend to use regularly.
Comments
Assigning/Creating variables
Create Lists/Arrays
Create Dictionaries/Maps
Boolean Values
Converting Numbers to Strings and Vice Versa
String Formatting/Concatenation
Looping over Lists
Looping over a Range
A Note about Indentation
Additional Sections:
Obtaining More Information
Discovering Methods
Help on a Method
Comments
VBScript
Comments start with a single quote

IronPython
# Comments start with a sharp or hash

like this line

# symbol, like these lines

Assigning/Creating Variables
VBScript
Declare with a Dim

IronPython
# No Set syntax. Simply create and assign

Dim oDesktop

oDesktop = oApp.GetAppDesktop()

Assignment needs a Set instruction


Set oDesktop = oApp.GetAppDesktop()

Desktop Scripting with IronPython25-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Create Lists/Arrays
VBScript
Declare as array of String with 11

IronPython
# Declare an empty array

indices from 0 through 10

myEmptyArray = []

Dim myArray(0 to 10) as String


myArray(0) = Hello

# declare an array and initialize it with 5 ints

myArray(1) = bye

myInitedArray = [ 1, 2, 3, 4, 5]

Declare n array with no size

# Python lists can have items of any type

Dim array2() as String

# and there is no pre-declaration


# declare an array and init with mixed types

Re-Dimension the array once size is

mixed = [hello, 1 ,2 [nested]]

known
ReDim array2(0 to 2) as String

# append to an array

array2(0) = this

mixed.append( 3.5 )

array2(1) = also

Create Dictionaries/Maps
VBScript
No direct equivalent is available as

IronPython
# an IronPython dictionary is a collection of

far as the author knows

# name value pairs. Just like arrays, there is


# no restriction on the keys or the values.
# For purposes of ANSYS scripting however,
# all keys must be strings
# delimiters are curly braces
# use a : between the key and the value
# separate key value pairs with a ,
myDict = {
a : 1,
b:hello there,
c :[ 1, 2, abc]
}

25-4 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Boolean Values
VBScript
Boolean literals are in lower case

IronPython
# The first letter is capitalized

true

True

false

False
Converting Numbers to Strings and Vice Versa

VBScript
Use CInt, CDbl, CBool, CLng

IronPython
# use the integer() or float() or double()

to convert the string representation

# functions to cast a string CONTAINING the

to the number representation. Use

# string representation of whatever you are

IsNumber to check before conversion

# casting to.

Dim nStr = 100

strInt = 3

Dim n = CInt(nStr)

intVal = int(strVal)
floatVal = float(strVal)

Use CStr to convert a number to


its string representation

# invoke the str() function with the int/float

Dim v, vStr

# values as needed. You can alternately use

v = 100

# the string formatting method listed below

vStr = CStr(v)

strVal = str(42)
strVal = str(42.345)

Desktop Scripting with IronPython25-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

String formatting/concatenation
VBScript
string concatenation uses the &

IronPython
# if you have two strings, you can always

operator

# concatenate then using the + operator

Dim allStr, str1

str1 = hello

str1 = how are you

str2 = world

allStr = Hello & There & str1

str12 = str1 + + str2

there seems to be no direct string

# if you have different types though, string

formatting function in VBScript

# and int say, you must use the string

using string concatenation or using

# formatting commands. When formatting

Replace are the two builtin options

# multiple arguments, they must be entered

Dim fmt = {1} climbs stalk {2}

# as a tuple ( item1, item2, )

Dim str = Replace(fmt, {1}, jack)

num = 10

str = Replace(str, {2}, 10)

str3 = %s climbs stalk %d % (jack, num)


str4 = %d stalks % num

25-6 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Looping over lists


VBScript
Dim myArray(0 to 2) as String

IronPython
vals = [1, 3, 3.456]

myArray(0) = alpha
myArray(1) = bravo

def process(val):

myArray(2) = charlie

return 2*val

For Each i in myArray

# is of the form

Print i

# for variable_name in array :

Next

# < indent> statement1


# <indent> statement2
for i in vals:
print i
print -> process(i)
Looping over a range

VBScript
Loop over a range, specify start, end

IronPython
# prints out values from 0 through 9

and step

for i in range(0, 10):

For i = 0 To 10 Step 1

print i

Print i
Next
A note about indentation
Python is one of the thankfully rare languages where whitespace (spaces, tabs etc) are syntactically
significant. Whatever your feelings on the subject, you must understand the basics of indentation
before scripting in python.
Any statement that introduces a block of code should be written such that every line of the block
has the same indent (leading spaces or tabs) and the indent should be at least one more than the
indent of the introducing statement.
Sample Script 1: Describing python indentation
# define a function that starts at 0 indentation.
def multInt(a,b):
# every line following the def multInt which is expected to
# be a part of the function, must have the indent used by the
Desktop Scripting with IronPython25-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

# first line of the function (3 spaces)


# here we introduce one more block, the if condition
# each line that belongs to the body of this func should have
# an indent that is more than the indent used by the if
# statement
If a%2 == 0:
# I am using an indent 2 more than the parent. i.e. 5
# spaces in total
return (a * b) + 100
else:
return (a * b) + 1000

Obtaining more Information


Reading a book and searching online are two of the standard options. There are several very good
python tutorials online and the command window is also a great way to quickly execute code and
learn by doing.
Much of the official python documentation is embedded into each python distribution and the command window can also be used to get more help. The command window executable, Ipy.exe, can
be accessed from the IronPython directory under the ANSYS Elecromagnetics product installation
directory. This can be used to interactively enter python commands (any of the pure python samples
in this document)

Discovering Methods
For instance, if you want to list all methods available in the string module, you would type in
import string to import the module first and then type in dir(string). You will get a list of all the
methods available (as well as some __somename__ internal names that can be ignored)

25-8 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Help on a Method
Once you know a function name (maybe you see something you like from the dir(string) listing
above), you can get more help on it using the builtin help method. For instance, executing
help(string.split) in the ipy.exe console displays the following:

Desktop Scripting with IronPython25-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Translating Script commands from VBScript to IronPython


This chapter briefly describes Desktop scripting methods and arguments via VBScript samples.
The distinctions made here are significant and come in use later when translating scripts written in
VBScript to IronPython.
Script Method Argument
VBscript Method Call Types
VBScript Sub-Routines
Converting VBScript Function calls to IronPython Syntax

Script Method Argument


Script method calls in VBscript are described later in this document, they generally take the form:
objectName . methodName ( arg1, arg2, ..)
The function call syntax is a standard followed by several programming languages, however, the
argument types in VBScript objects, when used for product scripting, are restricted to the following
Primitive types
Named Array
Named Function
Primitive Types
Primitive types are the standard bool, int, float, double and string
Named Array
Named arrays are a special construct used very commonly and can be found in practically every
recorded script sample.
It starts with Array( NAME:someName and is followed by a collection of comma separated
values which can be:

A primitive value
An array of primitive values
Another named array
A key, of the form keyName:= followed by

A primitive value
A function (described next)

Named Function
Named functions are arrays which start with Array( and do not have a leading NAME:name
item. They are always introduced by a key and can contain comma separated values of the following type:
25-10 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

A primitive value
A key (of the form keyName:=) followed by

A primitive value
Another function (nested function)

Related Topics
Translating Script commands from VBScript to IronPython

VBscript Method Call Types


VBScript method calls fall into two categories and the distinction between the two results in syntax
differences. These syntax differences are significant when converting VBScript to IronPython.
VBScript Functions
In VBScript terminology functions return values. The syntax for this is the one shared with practically all programming languages.
Sample Script 2: VBScript function call sample
Set oDesktop = oAnsoftApp.GetAppDesktop()
Set oProject = oDesktop.NewProject
Note that the significant item here is that the method name is always followed by an argument list
enclosed in parentheses if there are arguments. If the argument list is empty as shown above for
the NewProject call, the parentheses can be omitted.
VBScript Sub-Routines
VBScript Sub-Routines are those that do not have any return value. VBScript allows these to be
written without any parentheses even if they have a non-empty argument list.
Sample Script 3: VBScript Sub-Routine sample
oModule.CreateReport "XY Plot1", "Standard", "XY Plot", "optimtee : optimtee", _
Array("Domain:=", "Sweep"), Array("Freq:=", Array("All"), "offset:=",_
Array("0uin")), Array("X Component:=", "Freq", "Y Component:=", _
Array("dB20(S(1,1))", "dB20(S(1,2))", "dB20(S(1,3))", _
"dB20(S(2,1))", "dB20(S(2,2))", "dB20(S(2,3))", "dB20(S(3,1))",
"dB20(S(3,2))", "dB20(S(3,3))")), Array()
Related Topics
Translating Script commands from VBScript to IronPython

Desktop Scripting with IronPython25-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Converting VBScript Function calls to IronPython Syntax


When converting functions, the important point to remember is that IronPython function names,
when used for scripting, are always followed by parentheses. So:

If you see a VBScript snippet that looks like a VBScript Sub-Routine, remember to add parentheses.
If you see a VBScript function that has no arguments and no parenthesis, remember to add
them around an empty argument list.

The parentheses change is the only one to keep in mind when converting VBScript function calls
syntax to IronPython.
Return Values
Primitive Method Arguments
Named Array Argument
Named Array Values with All Key Value Pairs
Named Arrays with Nested Named Arrays
Function Blocks

Return Values
VBscript return values are sometimes assigned via the Set declaration. IronPython return values are
simple assignment (see the cookbook chapter)
Related Topics
Converting VBScript Function calls to IronPython Syntax

Primitive Method Arguments


Replace each VBScript primitive with an equivalent IronPython primitive. The main thing to notice
here is that Boolean values in IronPython have their first letter capitalized.
True instead of true and False instead of false
Related Topics
Converting VBScript Function calls to IronPython Syntax

Named Array Argument


The recommended approach here is to simply replace a VBScript array with a python array. The
mapping is quite simple:

Change Array( to [ and close with a ] instead of the )


Remove the line continuation symbols: _
Map Boolean values correctly

25-12 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Sample Script 4: Create cone recorded snippet


oEditor.CreateCone Array("NAME:ConeParameters", "XCenter:=", "0mm", _
"YCenter:=", "0mm", "ZCenter:=", "0mm", "WhichAxis:=", "Z", "Height:=", "2mm",_ "BottomRadius:=", "1.56204993518133mm", "TopRadius:=", "0mm"), Array("NAME:Attributes",
"Name:=", "Cone1", "Flags:=", "", "Color:=", _
"(132 132 193)", "Transparency:=", 0, "PartCoordinateSystem:=", _
"Global", "UDMId:=", "", "MaterialValue:=", _
"" & Chr(34) & "vacuum" & Chr(34) & "", "SolveInside:=", true)
Sample Script 5: Create a cone in IronPython
For instance, method and named VBScript arrays in the snippet above are translated to
oEditor.CreateCone(
[
"NAME: ConeParameters",
"XCenter:=", "0mm",
"YCenter:=", "0mm",
"ZCenter:=", "0mm",
"WhichAxis:=", "Z",
"Height:=", "2mm",
"BottomRadius:=", "1.56204993518133mm",
"TopRadius", "0mm"
],
[
"NAME:Attributes",
"Name:="

, "Cone1",

"Flags:="
"Color:="

, "",
,

"(132 132 193)",

"Transparency:=" , 0,
"PartCoordinateSystem:=" , "Global",
"UDMId:=" , "",
"MaterialValue:=" , "\"vacuum\"",
"SolveInside:="

, True

])
Note that the formatting (which helps readability immensely) is not really needed. All that had to
be done was

Add the parentheses since the VBScript subroutine omits it


Desktop Scripting with IronPython25-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Replace the Array( ) delimiters with [ ].


Remove the Char(34) function (which introduced a double quote) and replace it with the
escaped double quote \ literal.
Replace true with True
Remove the line continuation symbol, _

Related Topics
Converting VBScript Function calls to IronPython Syntax

Named Array Values with All Key Value Pairs


While it is in general not allowed to replace the arrays and nested arrays with python dictionaries,
in the case where the named array consists entirely of key value pairs (like the sample above), one
can use a dictionary and avoid typing the trailing := symbols after the keys. This further aids
readability of the script.

If all key value pairs


Remove the trailing := after each key
Replace the , after the key with a :
If the named array is the top level argument, ensure that the NAME:name is present and is
split into NAME : name as a key value pair
Enclose the converted array in a { } pair to declare the dictionary.

Sample Script 6: CreateCone in IronPython using dictionary syntax


oEditor.CreateCone(
{
"NAME" : "ConeParameters",
"XCenter": "0mm",
"YCenter": "0mm",
"ZCenter": "0mm",
"WhichAxis": "Z",
"Height": "2mm",
"BottomRadius": "1.56204993518133mm",
"TopRadius": "0mm"
},
{
"NAME": "Attributes",
"Name": "Cone1",
"Flags": "",
25-14 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

"Color":

"(132 132 193)",

"Transparency": 0,
"PartCoordinateSystem": "Global",
"UDMId": "",
"MaterialValue" : "\"vacuum\"",
"SolveInside": True
}
Related Topics
Converting VBScript Function calls to IronPython Syntax

Named Arrays with Nested Named Arrays

Split the NAME:name field into a key value pair


Translate array key value pair to a dictionary key value pair.
Create a new key with the name of the nested array and keep the nested array (as an array or as
a dictionary) as its value. If the nested array is being retained as an array, theNAME:name
field should be retained in the array. If the nested array is being converted to a dictionary,
the name is optional: if also retained in the nested array, it must match the outer key.

Sample Script 7: Named array with nested named array in array syntax
[ NAME:name,
key1:=, 1,
key2:=, 2,
[NAME:name2, R:=, 255]
]
The above named array with a nested named array (after conversion to IronPython as named array)
can be converted to a dictionary as well. The dictionary can take any of the following forms
Sample Script 8: Named array with nested named array as mixed dictionary + array
{ NAME: name,
key1: 1,
key2: 2,
name2: [NAME:name2, R:=, 255]
}
Sample Script 9: Named array with nested named array in all dictionary syntax

Desktop Scripting with IronPython25-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

{ NAME: name,
key1: 1,
key2: 2,
name2: {R : 255}
}
Sample Script 10: Nested named array with optional "NAME:" field
{ NAME: name,
key1: 1,
key2: 2,
name2: {
NAME : name2,
R

: 255

}
}
Related Topics
Converting VBScript Function calls to IronPython Syntax

Function Blocks
Function blocks in VBScript argument syntax are represented as arrays without the NAME:..
field. However, functions are always introduced by a key in a parent structure. Function blocks can
therefore never exist as a top-level argument. They are only found as the value pairs inside a named
array or inside another function block.
Note

Function blocks and their items cannot be converted to dictionaries even though they
might be composed entirely of key value pairs.

The reason for this is the need to main the user-entered order. Every item in a function block is
expect to be transmitted to the script method in exactly the same order as typed out and this is
impossible to achieve when a dictionary is used (as the keys get reordered according to the dictionarys internal tree/key sorting scheme).
Note

When you see a function block, simply replace the Array( ) delimiters with the python
array delimiters [ ]

Related Topics
Converting VBScript Function calls to IronPython Syntax
25-16 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Desktop Scripting with IronPython25-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Scripting Using Iron Python: Putting it all Together


If you have existing VBScript/Javascript scripts use existing scripts them as much as possible by
either embedding the test into the IronPython script or invoking them via the Run methods
described later in this chapter.
Translating a script in VBScript to IronPython
Read the section on translation and study the samples in that section as well as those in the appendix. For python syntax and the differences, the mini-cookbook chapter will also be useful.
Writing an IronPython script from scratch
Read through the scripting guide available from the products help menu and translate the VBScript
methods described to IronPython using the information provided in the section on translation.
Studying the samples in this document will also prove helpful.
For python syntax and the differences, the mini-cookbook section will also be useful.
IronPython Script Execution Environment
Scripting using Embedded VBScript or JavaScript
Scripting with IronPython

IronPython Script Execution Environment


Scripts written in IronPython are executed by desktop in three different ways:

Tools > Run Script menu item, select IronPython from the file type drop down
Launch the product with a script argument, e.g., Simplorer runscript someScript.py
Register an IronPython script as an external tool using the Tools > External Tools menu item.

When desktop executes a script, it does so in an execution environment setup with predefined variables and functions. These predefined variables and functions are how the script communicates
with the desktop and they come in three flavors.
Script Argument for IronPython
Script Objects for IronPython
Methods for IronPython

25-18 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Script Argument for IronPython


When scripts are launched using the Tools > Run Script menu item, the dialog that pops up allows
the user to specify arguments.

Figure 1: Run Script dialog and script arguments


Any argument specified here is communicated to the script being executed as the predefined variable ScriptArgument.
Related Topics
IronPython Script Execution Environment

Script Objects for IronPython


The Desktop script objects are available to every IronPython script being run. The names used follow the same convention as with VBScript.

oAnsoftApplication is the script object representing the entire application.


oDesktop is the script object representing the desktop. While this can be obtained from the
oAnsoftApplication using oAnsoftApplication.GetAppDesktop(), since this is a very commonly
used script object, it is always made available.

The use of these objects is done as per the individual product scripting guides with some syntax
adjustments made for the parameters to account for the IronPython differences.
Related Topics
IronPython Script Execution Environment

Methods for IronPython


A collection of methods is made available to all python scripts to enable the use of existing scripts
written in VBScript or Javascript. Additional utility methods to add messages to the desktop message window are also present.

AddErrorMessage(str), AddWarningMessage(str), AddInfoMessage(str) and AddFatalMessage(str) this family of methods allows a script to add messages to the products message window. All methods take a python string.
RunScriptFile(filename) runs the contents of the supplied file as a script. The type of the
Desktop Scripting with IronPython25-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

script (Javascript/VBScript) is deduced from the file extension.

SetScriptingLanguageToJavascript(), SetScriptingLanguageToVBScript() allows the


script to change the syntax of the language being used in the Run*Command commands listed
below. Once set, the language choice remains for the rest of the script execution or till it is
changed. The default is VBScript.
RunScriptCommand(CommandString) runs the supplied script text. The language of the text
is controlled by a previous call to SetScriptingLanguageToJavascript() or SetScriptingLanguageToVBScript()

Related Topics
IronPython Script Execution Environment

Scripting using Embedded VBScript or JavaScript


Since script recording is still done in VBScript and users are expected to have a significant collection of VBScript or JavaScript assets, it is useful to continue to use existing script files and snippets
even when scripting in IronPython. The various Run<*>Command methods have been designed
for this purpose.
For instance: one can create a parameterized cone in HFSS by executing the following IronPython
script from the Tools>Run Script menu.
Sample Script 11: Hybrid VBScript + IronPython scripting: parameterized Cone
Creation
# assign the VBScript snippet obtained from a script recording from HFSS to
# coneScript and replace the BottomRadius recorded value with botRadius
coneScript = """Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
Set oDesktop = oAnsoftApp.GetAppDesktop()
oDesktop.RestoreWindow
Set oProject = oDesktop.GetActiveProject()
oProject.InsertDesign "HFSS", "HFSSPyTestDesign", "DrivenModal", ""
Set oDesign = oProject.SetActiveDesign("HFSSPyTestDesign")
Set oEditor = oDesign.SetActiveEditor("3D Modeler")
oEditor.CreateCone Array("NAME:ConeParameters", _
"XCenter:=", "0mm", "YCenter:=", "0mm", "ZCenter:=", "0mm",_
25-20 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

"WhichAxis:=", "Z", "Height:=", "2mm", _


"BottomRadius:=", 3mm, _
"TopRadius:=", "0mm"), Array("NAME:Attributes", "Name:=", _
"Cone1", "Flags:=", "", "Color:=", "(132 132 193)", "Transparency:=", 0, _
"PartCoordinateSystem:=", "Global", "UDMId:=", "", "MaterialValue:=", _
"" & Chr(34) & "vacuum" & Chr(34) & "", "SolveInside:=", _
true)
"""
SetScriptingLanguageToVBScript()
RunScriptCommand(coneScript)
Sample Script 12: Demonstrates the use of a .NET form from IronPython
Even though recorded VBScript is used for scripting, the incremental functionality that is provided
using IronPython is the ability to write a GUI using IronPython/.NET, collect information from the
user and then modify or generate the VBScript commands to actually script the ANSYS Electromagnetics product desktop. This GUI functionality is cross platform and a significant positive. The
following example demonstrates a contrived use of a .NET window form to display the argument
supplied to the IronPython script (via the ScriptArgument variable).
#import the CLR references
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Application, Form, Label,
Button, DockStyle
# the GUI form to show some text
# the class below derives from From (System.Windows.Forms.Form)
# imported above from the .NET assembly.
class ShowPropertiesForm(Form):
def __init__(self, name, text):
self.Name = name
self._label = Label()
self._label.Text = text
self._label.Dock = DockStyle.Fill

Desktop Scripting with IronPython25-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

_button = Button()
_button.Text = "Close"
_button.Dock = DockStyle.Bottom
_button.Click += self._buttonPressed
self.Controls.Add(self._label)
self.Controls.Add(_button)
def _buttonPressed(self,sender,args):
self.Close()
#---------------------------------------------------# Main script code
#---------------------------------------------------#display the ScriptArgument variable as the text label
# in the form.
gui = ShowPropertiesForm("Sample Form", ScriptArgument)
# This makes it a modal dialog.
gui.ShowDialog()
# the following will make it a non-modal dialog
#Application.Run(gui)
While creating cross platform user interfaces from scripts is one of the main motivations driving
the adoption of IronPython, any .NET assembly can be used with the caveat that Linux use requires
Mono compatibility of any used assemblies.
While this hybrid approach is useful when you have existing VBScript commands that you want to
reuse or when you want to quickly parameterize a recorded sample, the one significant limitation of
this approach is the inability to capture return values from VBScript or JavaScript calls that do
return something. Full two way communication with the product requires the use of pure IronPython to directly invoke the script objects as described below.
Related Topics
IronPython Script Execution Environment

Scripting with IronPython


While this section talks about directly interacting with the script objects, note that you can execute
VBScript or Javascript at any point using any of the available Run*Command functions. Using
25-22 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

your existing script assets in this fashion and mixing with IronPython code for new functionality as
needed is a viable option.
Access to the application scripting objects is provided via the predefined oDesktop object (as listed
in Script Objects). Interacting with the script objects is very natural, method calls are made just like
in VBScript except that the argument syntax is somewhat simplified to follow natural Python syntax. All primitive types (string, integer, double) map to the natural primitive types in python. The
only differences from the VBScript syntax are seen when specifying array type arguments. The differences are described in earlier chapters.
Note

The typical VBScript calls to obtain the registered COM scripting interface via
CreateObject calls and then obtain the oDesktop object from it using the
GetAppDesktop() is not needed (or even supported on all platforms). Since all scripting
occurs in the context of a running workbench, the available Desktop object is always
provided and expected to be used directly.

Scripting using the IronPython scripting API is very much like scripting with VBScript except that:

Any argument is supplied via the builtin ScriptArgument variable


The oDesktop object is always available
The scripting method names are identical to the ones used with VBScript
Method calls, while the name is the same have to adhere to the rule of ensuring trailing parentheses irrespective of whether the function returns anything or has any arguments.
Any compound/block arguments should be translated to the appropriate IronPython array or
dictionary syntax.

The samples appendix lists a collection of pure IronPython snippets: these, along with the various
script snippets listed in this document should serve as a guide and reference.
Related Topics
IronPython Script Execution Environment

Desktop Scripting with IronPython25-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

Appendix: IronPython Samples


Change property
The following snippets show how a change property command (in this case, to change the color of
a cone) looks in VBScript and its two possible IronPython variants.
Sample Script 13: ChangeProperty command to change color of a cone in VBScript
oEditor.ChangeProperty Array("NAME:AllTabs",
Array("NAME:Geometry3DAttributeTab",_
Array("NAME:PropServers",

"Cone1"), _

Array("NAME:ChangedProps", _
Array("NAME:Color", "R:=", 255, "G:=", 255, "B:=",

0))))

Sample Script 14: ChangeProperty command to change color of cone using Python
arrays
oEditor.ChangeProperty(
["NAME:AllTabs",
["NAME:Geometry3DAttributeTab",
["NAME:PropServers",

"Cone1"],

["NAME:ChangedProps",
["NAME:Color", "R:=", 0, "G:=", 0, "B:=", 64]
]
]
])
Any time there are named arrays composed purely of key-value pairs, they can always be represented using a Python dictionary, irrespective of the nesting of said named array.
Sample Script 15: ChangeProperty command to change the color of a cone using
Python arrays and dictionaries
oEditor.ChangeProperty(
["NAME:AllTabs",
["NAME:Geometry3DAttributeTab",
["NAME:PropServers",

"Cone1"],

["NAME:ChangedProps",
{
"NAME":"Color",
"R"
"G"

: 0,
: 64,

25-24 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

"B"

: 0

}]]
])
Create a Cone using IronPython
Most scripting tasks using IronPython are expected to be formatted as the example below. One
starts with the predefined oDesktop object and drills down to the design, editors, modules etc and
issues any required commands on the object while formatting the script command arguments in
natural python syntax.
Sample Script 16: IronPython script to create a cone
oProject = oDesktop.GetActiveProject()
oDesign =
oProject.InsertDesign("HFSS","Random","DrivenModal","")
oEditor = oDesign.SetActiveEditor("3D Modeler")
oEditor.CreateCone(
{
"NAME" : "ConeParameters",
"XCenter": "0mm",
"YCenter": "0mm",
"ZCenter": "0mm",
"WhichAxis": "Z",
"Height": "2mm",
"BottomRadius": "1.56204993518133mm",
"TopRadius": "0mm"
},
{
"NAME": "Attributes",
"Name": "Cone1",
"Flags": "",
"Color": "(132 132 193)",
"Transparency": 0,
"PartCoordinateSystem": "Global",
"UDMId": "",
"MaterialValue" : "\"vacuum\"",
"SolveInside": True
}
Desktop Scripting with IronPython25-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

)
Create geometry and then create a grid from it using copy/paste/move
The following script demonstrates slightly more advanced use of scripting and the use of return values from script methods. It creates a 5x5 grid of cones and also demonstrates the adding of information messages to the applications message window.
Sample Script 17: Sample script to create a cone and then use copy/paste/move to
replicate it.
oProject = oDesktop.GetActiveProject()
oDesign = oProject.InsertDesign("HFSS","Hersheys
Kisses","DrivenModal","")
oEditor = oDesign.SetActiveEditor("3D Modeler")

# create the first cone


AddInfoMessage("Creating first cone")
firstConeName = "firstCone"
coneBotRad = "1.5mm"
oEditor.CreateCone(
{
"NAME" : "ConeParameters",
"XCenter": "0mm",
"YCenter": "0mm",
"ZCenter": "0mm",
"WhichAxis": "Z",
"Height": "2mm",
"BottomRadius": coneBotRad,
"TopRadius": "0mm"
},
{
"NAME": "Attributes",
"Name": firstConeName,
"Flags": "",
"Color":

"(132 132 193)",

"Transparency": 0,
"PartCoordinateSystem": "Global",
"UDMId": "",
25-26 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

"MaterialValue" : "\"vacuum\"",
"SolveInside": True
}
)
# Now replicate this a few times and create an array out of it
AddInfoMessage("Replicating it 24 times")
for x in range(5):
for y in range(5):
# leave the first one alone in it's created
# position
if x == 0 and y == 0:
continue
# all other grid positions, replicate from the
# first one
# copy first
oEditor.Copy(
{
"NAME": "Selections",
"Selections": firstConeName
}
)
# paste it and capture the pasted name
# the pasted names come in an array as we could
# be pasting a selection cmposed of multiple objects
pasteName = oEditor.Paste()[0]
# now move the pasted item to it's final position
oEditor.Move(
{
"NAME": "Selections",
"Selections": pasteName
Desktop Scripting with IronPython25-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

HFSS Online Help

},
{
"NAME": "TransalateParameters",
"CoordinateSystemID": -1,
"TranslateVectorX": "%d * 3 * %s" % (x, coneBotRad),
"TranslateVectorY": "%d * 3 * %s" % (y, coneBotRad),
"TranslateVectorZ": "0mm"
}
)

# Now fit the display to the created grid


oEditor.FitAll()

25-28 Desktop Scripting with IronPython

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

26
Simplorer Terminology

This section defines the terminology used in the ANSYS Simplorer help topics. Terms are listed
in alphabetical order.

Simplorer Terminology 26-1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: A
A/D (Analog-to-Digital)
The process of converting an analog value into its digital equivalent.

AC simulation
Harmonic analysis of a model.

AC simulator
Simplorer simulator for AC analysis.

Action type
Defines how an action in a state is processed.

.afa file
Analytical Frequency Analysis file containing data of an analytical frequency analysis.

Analytic frequency step response


Simplorer module to compute frequency step response information for a given transfer function.

Animated Symbol
Symbol for a component or a macro that changes to reflect changes in values assigned to it. The
symbol can be modified by the user with an interaction button or by a system value during the simulation. Animated symbols can be generated using the Symbol Editor.

.aws file
Simulator file containing initial values of capacitors and inductors.

26-2 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: B
Backplane
Common communication and control structure for all Simplorer simulators.

Basic version
Simplorer basic version without any optional modules.

Basics
Simplorer library containing the basic modeling elements for the Simplorer simulators.

Behavioral model
Smallest model unit that cannot be subdivided further.

Best representation
Function for scaling all output channels of a graph window to maximum size.

Bezier
Bezier curves are used in computer graphics to produce curves which appear reasonably smooth at
all scales. The curves are constructed as a sequence of cubic segments, rather than linear ones. Bezier curves use a construction in which the interpolating polynomials depend on certain control
points. The mathematics of these curves is classical, but it was a French automobile engineer Pierre
Bezier who introduced their use in computer graphics.

Block
Linear or nonlinear transfer function, basic element of block diagrams.

Block diagram
Combination of blocks to describe the dynamic behavior of systems.

Block Diagram Module (BDM)


Simplorer sub simulator to analyze simulation models described using block diagrams. Uses Euler
formula and distributed integration algorithms.

Bookmark
Can be used in the Simplorer editor to mark a position and find it again.

.brs file
External Schematic file to parametrize a model sheet.

Simplorer Terminology26-3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: C
Characteristic
Function or data set to describe a nonlinear characteristic of a Simplorer component, block or other
model.

Characteristic values
Analysis method that provides a list of frequently used characteristic values of a system quantity.

C-Interface
C/C++ programming interface for the integration of user defined nonlinear models or components
into the simulation model.

C-Model Editor
Simplorer application for the definition of models in the C/C++ language.

Color scheme
Predefined or user defined color settings for screen outputs or printing.

Compiler
Program for the translation of the SML description of a simulation model into a simulator specific
format.

Computation sequence
Sequence in which blocks in a simulation model are computed.

Connection rule
Rule determining which element can be connected to another under certain conditions.

Conservative node
Connection of two or more circuit component terminals.

Coordinate system
Reference system for the display of numerical values. It can be linear or logarithmic.

Crossing over
Exchange of genetic material between chromosomes in a genetic algorithm.

Cursor
Positioning element to determine the value of a quantity in a coordinate system.

26-4 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: D
Data cache
Saves the data of the last simulation run.

Data channel
Simulation data for a specific quantity stored in a file or transferred to an active element.

Data filter
Function to select data by user defined criteria.

Data format
Defines how data are stored or exchanged between programs.

Data set
Simulation data of a simulation run at a given time step.

DC simulation
DC operating point analysis of a model.

DC simulator
Simplorer simulator for DC analysis.

Differentiation
Analysis method in the Post Processor.

DISPLAY
Simplorer library containing display elements to display simulation data inside a schematic.

Display Element
Element for graphic or numeric online visualization of simulation data on sheet.

DLL
Dynamic link library containing program components or models. It is loaded automatically upon
request.

Dongle
Software protection device connected to the printer port of the computer.

DSDE
Dynamic Simulation Data Exchange interface used to integrate external simulators on a clientserver-level.

Simplorer Terminology26-5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: E
Electric circuit
Combination of electric components, connected by ideal wires.

Electric Circuit Module (ECM)


Simplorer sub simulator to analyze simulation models described using electric circuits. Uses Euler
or Trapezoid algorithm and modified nodal approach.

Element
Any item that can be placed on a Schematic sheet, including models, text elements, display elements, drawing elements, subsheets, and so on.

Entity
VHDL-AMS term to describe the interface of a behavioral or structural model.

Euler formula
Numerical integration algorithm used inside Simplorer.

Evaluation function
Function evaluating the quality of a solution compared to the defined optimum.

Expert mode
Extended mode for the definition of an experiment. It allows fine tuning of parameters and methods.

Export filter
Special program for the export of simulation data into other applications.

Extern View
Special sheet independent oscilloscope for the display of simulation data.

26-6 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: F
FFT
Fast Fourier Transformation.

File output
Saves a system quantity online during the simulation in a file.

Fitness function
Function describing the fitness of an individual (parameter constellation) in a genetic algorithm.

Formula Module (FML)


Simplorers integrated expression evaluator.

Frequency step response analysis


Special mode in the Experiment tool, determining the frequency behavior of a simulation model.

Simplorer Terminology26-7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: G
Genetic Algorithm
Optimization method of the experiment tool with automatic parameter variation and target function
determination.

Grid lines
Grid lines in a coordinate system.

26-8 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: H
HMAX
Simulation parameter, maximum step size for the integration algorithm.

HMIN
Simulation parameter, minimum step size for the integration algorithm.

Simplorer Terminology26-9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: I
ID
Numeric value for the distinction of sheet elements.

Information window
Display of warnings, errors, program status for the Simplorer modules.

Initial condition
Defines the initial value for energy storing electrical components.

Initial state
A state that is active at the beginning of the simulation.

INT
Simulation parameter, defines the integration algorithm used for the simulation of electric circuits.

Interactivity pad
Part of an animated symbol, used to change the behavior and/or shape of a symbol (model component) by the user.

Iteration
Part of the integration process for the solution of nonlinear problems.

26-10 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: J
Jacobian Matrix
Coefficient matrix for the numerical integration algorithm.

Simplorer Terminology26-11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: K
Keyword
Can be used to do a search in a model database.

.krn file
Simulator file containing simulation status information. It can be used as a starting point for the
next simulation.

26-12 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: L
Language concept
Settings to define the use of language for program (menus and dialogs) and libraries.

Library
Database containing a set of Simplorer basic elements and/or macro models.

Local discretization error (LDF)


Simulation parameter, determines the accuracy of the computation according to the dynamics of the
electric circuits.

.log file
Experiment tool file containing the protocol of an experiment.

Simplorer Terminology26-13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: M
Macro
Contains one or more elements of a model description that can be used as single elements.

Main skeleton (.skl)


Special file containing basic descriptions for the generation of the model description file. Must not
be modified.

Maximum current error (IEMAX)


Simulation parameter that determines the accuracy of the right side computation of the differential
equation system for current lines.

Maximum number of iterations (Iteratmax)


Simulation parameter that limits the number of iteration loops for the nonlinear iteration process.

Maximum voltage error (VEMAX)


Simulation parameter that determines the accuracy of the right side computation of the differential
equation system for voltage lines.

.mda/.mdk file
Simplorer data file of simulation results and characteristics (former format).

.mdx file
Simplorer data file of simulation results and characteristics.

Model
All elements in the libraries and subsheets (except for display elements).

Model tree
Hierarchical list box containing the available elements for the graphical modeling.

Module
Simplorer sub simulator or program.

Monitor
Special window for the display of simulation status and progress.

Monte Carlo Analysis


Optimization method of the experiment tool with automatic parameter generation and characteristic
value determination.

.mtx file
Simplorer data file of the DES model.
26-14 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Multi simulation
Analysis method of the experiment tool, batch mode computation of a simulation model with different, user defined parameter sets.

Mutation
Part of the genetic algorithm that generates new individuals (parameter sets) by randomly modified
parameters.

Simplorer Terminology26-15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: N
Network installation
Installation process of a Simplorer network version.

Newton-Raphson-Algorithm
Nonlinear iteration algorithm used in Simplorer.

Non-conservative node
Connection of two or more non-circuit component terminals.

Normal mode
Default display of the experiment tool without evaluation functions and storage options.

26-16 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: O
Object
Element of the graphic model description linked to another WINDOWS application (OLE).

Object browser
Special window for the display and browsing of the elements of a graphical model description.

Offline
When the simulation is not running in Simplorer.

Online
During the simulation in Simplorer.

Online graphic
Online display of simulation results during the simulation run.

Online graphic output


Display of a system quantity during the simulation in a Display element or the ViewTool.

Option
Optional Simplorer application. It can be registered using the installation manager.

Output
Definition of a specific quantity of the simulation model to be used as an output.

Simplorer Terminology26-17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: P
Password
Letter and digit combination to access Simplorer.

Petri net
Special form of a state machine.

Pipe
Data channel for the data transmission between Simplorer modules.

Postprocessing
Data evaluation and processing after a simulation run has finished.

Preprocess
Specialized modules for information processing and parameter determination to define Simplorer
model components.

Preprocessor directive
Special commands for the SML compiler to include files, extract macros from the model library,
etc.

Print colors
Colors used to print a system quantity from an active element or the ViewTool.

Project
Organizational structure containing all files and information belonging to a simulation task.

26-18 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: Q
Qualifier
References a system quantity or parameter of a Simplorer model component.

Quality criterion
Characteristic value of a system quantity used to determine the quality of an optimization run.

Queue
Display the active and all waiting simulation runs.

Simplorer Terminology26-19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: R
Recombination
Part of the genetic algorithm. It generates new individuals (parameter sets) by crossing of two parent individuals.

Roll back
Go back to a previous simulation step.

26-20 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: S
Sample time
Step size for digital controller.

Schematic
Simplorer module for the graphical model definition.

Screen colors
Colors used to display a system quantity online during the simulation in an active element or the
ViewTool.

Section
Part of the SML description containing model information for the Simplorer sub simulators.

Selection
Part of the genetic algorithm. It selects individuals of the active generation to be transferred to the
next generation by specific selection criteria.

Simulation backplane technology


Simplorer software architecture for data exchange and program control of several simulators in one
environment.

Simulation model
Graphical or text description of a real system using modeling capabilities of a simulation system.

Simulation parameter
Parameter used to control the simulation process.

Simulator
Software for the analysis of the behavior of a system using a simulation model.

Simulator coupling
Direct link of one or more simulators using the Simplorer simulation backplane technology.

Simulator interface
Special software interface for the integration of external simulators into Simplorer.

.smd file
Simplorer ModelAgent file containing data of a model library.

SML
Simplorer Modeling Language.

Simplorer Terminology26-21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

SML Editor
Simplorer application for the definition of models in SML language.

.sml file
File containing the model description of a simulation run.

SML key word


Special terms used to determine the sections of an SML description.

Solver
Algorithm for the computation of model components without the capability to roll back steps.

.ssc file
Simplorer project file, containing all information about a project.

.ssh file
Simplorer schematic file, containing the graphical representation of a model and simulation data.

State
Basic element of state graphs that defines properties and activities in a certain system state.

State graph
Combination of states and transitions. A modeling language for discontinuous systems.

State Graph Module (SGM)


Simplorer sub simulator to analyze simulation models described using state graphs basing on the
PETRI net theory.

Status line
Displays the present state of a Simplorer application.

Subsheet
A Simplorer sheet embedded into another Simplorer sheet, connected via pins, automatically creates a macro inside the .sml file.

Sub-simulator
Simplorer internally coupled simulator.

Sub-skeleton
File containing rules for the creation of a non-Simplorer description language.

Symbol editor
Simplorer application for the creation or modification of a symbol.

26-22 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Symbol level
Group of drawing elements of an animated symbol displayed together depending on the input value
or the user activity on a interaction pad.

Symbols
Graphic representations of elements on the Schematic, placed from the model library. They can be
modified using the symbol editor.

Synchronization
Update of a schematic from an older Simplorer version to the latest symbols.

Synchronization
Detection of events in a state graph.

System quantity
Any quantity computed by the simulator.

System simulation
Simulation level, where models from different physical domains are simulated at the same time.

System variable
Predefined variables inside Simplorer that cannot be used as a variable name or a specifier.

Simplorer Terminology26-23

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: T
Task
Analysis to be performed as part of an experiment. It can contain several simulation runs.

Template
Predefined structure for a Simplorer application.

TEND
Simulation parameter that determines the simulation end time.

Time Function Module (TFM)


Simplorer sub simulator for the computation of time dependent functions.

Time limited
A license of the simulation software for a certain (limited) time period.

Time step
Present time step size used to compute the next results vector.

Toolbar
Bar in a Simplorer application to perform activities in the application.

Total fitness
The total fitness of an optimization run.

TR simulation
Transient analysis of a model.

TR simulator
Simplorer simulator for TR analysis.

Transition
Cross over condition between the input and output state(s) of a state graph, defined by a logical
expression.

Transition component
Basic structure of a state machine. It comprises a transition and all of its input and output states.

Trapezoid Formula
Numerical algorithm used inside Simplorer.

26-24 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: U
UDMinit
Section of the C/C++ interface for the model initialization.

UDMMain
Section of the C/C++ interface containing the model computation algorithm.

User defined component (UDC)


Model description for electrical components using a user defined C/C++ program, with direct
access to the solver matrix.

User defined model (UDM)


Model description for nonlinear characteristics using a user defined C/C++ program.

User management
Saves the workspace for individual users.

Simplorer Terminology26-25

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: V
Version report
Special mode inside the Simplorer help system to create a detailed information file about the
present Simplorer installation.

VHDL
Very high-speed integrated circuit Hardware Description Language for digital systems.

VHDL Model Editor


Simplorer application for the definition of models in the VHDL-AMS language.

VHDL-AMS
Very high-speed integrated circuit Hardware Description Language - Analog Mixed Signal. Extension of VHDL, a hardware description language for digital and analog systems.

VHDL-AMS simulator
Simulator integrated with Simplorers backplane that calculates simulation models described in
VHDL-AMS.

ViewTool
Program to display results online during the simulation outside the Schematic.

26-26 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: W
Window elements
Windows in the workspace containing various information. They can be turned on or off by the
user.

Work flow
Graphic representation of a sequence of activities that are performed on a certain data set.

Worst Case Analysis


Analysis method with parameter combination of all extreme values for the parameters and characteristic value determination.

Simplorer Terminology26-27

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Simplorer Online Help

Glossary: Y
YMAX
Maximum value used for display in the online graphic using the View tool.

YMIN
Minimum value used for display in the online graphic using the View tool.

26-28 Simplorer Terminology

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Index

Symbols
15
.amat file 103
.vbs file format 2
**(function) 11
#DEFINE 10
#INCLUDE 8
#SET 9
Numerics
3D Report,Spinning 16
A
aborting analyses 46
about symbols 44
ABOVE attribute 65
ABS (function) 17
Absolute Value
Function 17
AC analysis
adding 12
AC analysis settings 12
AC analysis setup 10
AC solution options 26
Accsess function to a characteristic (func-

tion) 16
ACOS (function) 14
ACOSH (function) 14
active analysis
setting 19
adding 16
Maxwell 2D Finite Element Model Subcircuit 16
adding a DC analysis 15
Adding a subcircuit 66
adding a transient analysis 8
Adding a VHDL-AMS Model 99
adding an AC analysis 12
Adding Datasets Manually 76
adding solution options 28
advanced analysis types (Optimetrics) 6
AFTER 57
Alias for file names 67
Alias for model library name 67
Aligning Component Dialog Box Elements
31
analyses
changing parameter values during 47, 48
clean stop 47
Index--1

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

monitoring 45
Optimetrics 1
pausing 47
re-solving 157
resuming 47
Simplorer 5
starting 1
stopping 46
analysis setup
deleting 20
editing 19
enabling or disabling 19
renaming 20
analysis types
advanced (Optimetrics) 6
standard 5
Analyze All command
using 3
AND (logic operator) 11
ANF file format 58
ANG_DEG (function) 17
ANG_RAD (function) 17
Ansoft Simplorer Desktop 5
ANSYS Esterel Component Subcircuits 96
ANSYS RBD Component Subcircuits 86, 92
Arc cosine
Function 14
Arc sine
Function 14
Arc tangent
Function 14
Arc tangent2
Function 14
ARCHITECTURE statement 10
archiving projects
Projects"archiving 65
ARG (function) 17
Argument of complex number

Function 17
Arithmetic Functions 15
Arithmetic operators 11
VHDL-AMS 52
Arranging symbol elements 48
ASIN (function) 14
ASINH (function) 14
ASSERT statement
Concurrent 30
Sequential 34
Assignment operators 11
VHDL-AMS 63
ATAN (function) 14
ATAN2 (function) 14
ATANH (function) 14
Attribute declaration 26
Attributes 54
For quantities 55
For signals 56
auto-save file 63
B
backplane
simulator 2
Basic Dynamic IGBT
Characterizing 79
batchoptions file format 34
block diagram simulator processing 2
BLOCK statement 28
Bookmarks 80
BREAK statement
Concurrent 33
Sequential 42
bulk conductivity 104
bus entry objects
drawing 30
C
calculation range
setting for a cost function 42

Index-2

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

setting in a parametric setup 11


CASE statement
Sequential 38
Simultaneous 45
category
traces 64
Cell Filtering 21
changing parameter values during simulation
47, 48
characteristics
in component dialog boxes 22
in simulation models 22
trace 49
Characterizing a Basic Dynamic IGBT
Preliminary Considerations 79
Check Component Dialog
using 50
checking connectivity 27
circuit simulator processing 2
clean stop 46, 47
clearing messages 31
closing a component dialog box 51
CModel Editor Options 64
coherent gain 4
command-line options 49
Common logarithm
Function 16
Comparison operators 11
Complex Fucntions 17
component
placing 13
wiring 25
COMPONENT declaration 26
Component Dialog Box
adding check boxes 16
adding ComboBoxes 11
adding control elements 3
adding groups 4

adding list boxes 25


adding radio buttons 22
adding static information 3, 5
adding text edits 8
change name 3
component dialog box
Close 51
default behavior 41
display behaviors 39
lock behavior 39
relative behavior 40
revising 52
Save 51
setting the tab order 37
testing 49
using 52
Component Dialog Box elements
aligning 31
sizing 31
component dialog box elements
setting display behavior 39
Component Dialog Grid 31
Component Dialog Wizard 1
create 2
Layout Toolbar 56
size controls 34
Standard Toolbar 55
using 2
window items 53
Component dialog Wizard
menu bar 53
Component Editor 29
Component import 91, 115
Component instantiation statement 31
Component names 2
component parameters
displaying and editing 16
component properties
Index -3

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

editing 35
components
editor 29
removing unused definitions 73
Components Tab 10
Concurrent statements 27
ASSERT statement 30
BLOCK statement 28
BREAK statement 33
Component instantiation statement 31
Concurrent procedure call statement 30
Concurrent signal assignment statement
31
PROCESS statement 29
configuration files
setting options 20
configuring AC simulations
guidelines for 10, 11
configuring DC simulations
guidelines for 14
Configuring libraries 6
connectivity
checking 27
CONSTANT declaration 23
constants
predefined 10
constraints
setting linear 86
context-sensitive help 2
control elements
add to Component Dialog Box 3
controlling simulations 45
Controls Menu
Component Dialog Wizard 54
conventions
design 1
Conversion
From degrees electrical to seconds

(funtion) 17
From degrees to radians (function) 17
From radians to degrees (function) 17
Conversion Functions 17
copy command
for report and trace definitions 57
copy solution options 30
copying
subcircuits 65
Copyright and Trademark Notices 60
COS (function) 14
COSH (function) 14
Cosine
Function 14
cost function
adding 39
plotting results vs. iteration 91
setting a goal 39
setting the calculation range 42
specifying solution quantity for 42
viewing results vs. iteration 91
count
setting for sweep definitions 6
coupling model files
locating 81
creating
rcustom report templates 16
Creating a Model and Component from the
Current Schematic 95
creating a new schematic 1
Creating Plots On Schematic 36
Creating Simulation Models 13
custom report templates
creating 16
D
Data object declarations 22
CONSTANT declaration 23
FILE declaration 24

Index-4

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

SIGNAL declaration 23
VARIABLE declaration 24
Data table units 27
data tables, creating 25
Data types 53
dataset expressions
adding 76
Dataset preview plot properties 77
Datasets
Adding Manually 76
Importing 77
datasets
adding 76
modifying 78
DC analysis
adding 15
DC analysis settings 15
DC analysis setup 13
DC Bias Values
Viewing 15
DC solution options 26
ddt (function) 15
decade count sweep definitions 6
Declarations 19
default variable value
overriding for a parametric setup 8
DEFINE command 10
definitions
removing unused 73
definitions folder 10
definitions,updating from the library 7
DEGEL (function) 17
Deleting
Bookmarks 62, 79
deleting
projects 72
deleting an analysis setup 20
deleting reports 69

deleting solution options 30


delta between markers
in reports 49
dependent variables
definition 5, 7, 10
derivative
Function 15
design 1
hierarchical 1
page 1
synchronizing incoming subcircuit 72
Design Area 32
Design Configurations 74
design conventions 1
Design Settings 76
Design units 8
design variables
deleting 9
See local variables 6
design variations
manually modifying points 7
viewing all in a parametric setup 5
Design Xplorer
exporting setup 95
designs
in project tree 9
inserting in project 47
moving between 71
desktop
menu bar 39
status bar 37
toolbars 41
dialog box
View/Edit Material 104
dialog element
selecting display behavior 43
dielectric loss tangent 104
disabling an analysis setup 19
Index -5

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

display behaviors
component dialog box 39
display types, of reports 19
Displaying pins 24
Displaying properties. 28
distributed analysis 13
licensing 39
distributed machine configurations
editing and creating 40
distribution criteria
setting for statistical setups 70
DOT attribute 5
Download from Server 71
DSO configurations 39
Dynamic Coupling SubCircuit
Maxwell Capacitance 33
Maxwell Inductance 31
Q3D SML 43
RMxprt 40
dynamic coupling subcircuit
adding 9
E
Edit Menu
Component Dialog Wizard 54
editing
materials 103
symbol, schematic 44
editing an analysis setup 19
Editing component properties 35
Editing Pin Properties 58
editing solution options 29
editor
component 29
model 36
script 36
Electric Rule Check 27
electric rule check 27
enabling an analysis setup 19

Encoding a VHDL-AMS Model 106


Encryption settings
VHDL-AMS 106
ENTITY statement 9
Equations
operands and operators 11
ERC (Electric Rule Check) 27
Event Callbacks 99
EXIT statement 41
EXP (function) 16
expected units 21
exponential count sweep definitions 6
Exponential function
Function 16
Exponential Functions 16
Exporting a netlist 83
Exporting a schematic 78
Exporting a VHDL-AMS Model Description
94
exporting options files 18
Exporting Plot Data 69
Expressions
and variables 11
VHDL-AMS 52
expressions
defining 10
intrinsic functions in 11
using as cost function goal 44
valid operators 10
External Tools 43
F
Fast Calculation-Update Optimization 76
FFT 4
file
.amat 103
FILE declaration 24
file formats
.anf 45

Index-6

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

.asmp 45
.asmpresults 45
.smd 45
.ssc 45
.ssh 45
files
auto-save 63
Simplorer 45
finite element subcircuit 14
fixed variables
setting values during analyses 85
Fractional part of a value (function) 17
free values
using for non-conservative input nodes
27
Functions 18
Arithmetic 15
Complex 17
Conversion 17
Exponential 16
Rounding 17
Trigonometric 14
functions
selecting for a quantity 59
standard mathematical 13
valid operators 10
G
general solution options 27
Getting Started guides 59
goal
setting a complex value 43
setting a real value 43
setting a single value 43
setting as variable dependent 44
setting for cost function 43
setting weight of 39
using an expression for 44
goal weight

setting 39
grid
Compoent Dialog 31
lines 6
snapping 6
visibility 6
Guidelines for configuring AC simulations
10
guidelines for configuring AC simulations 11
guidelines for configuring DC simulations 14
H
help
about conventions used 3
on context 2
on dialog boxes 2
on menu commands 2
HFSS Component Subcircuits 83
Hiding pins 24
hierarchical components
saving to libraries 19
hierarchical schematic 65
hierarchical schematics 71
High Performance Computing integration 51
HPC integration 51
Hyperbolic arccosine
Function 14
Hyperbolic arcsine
Function 14
Hyperbolic arctangent
Function 14
Hyperbolic cosine
Function 14
Hyperbolic sine
Function 14
Hyperbolic tangent
Function 14
I
Identifiers 49
Index -7

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

IF (function) 18
IF statement
Sequential 37
Simultaneous 44
If-Else (function) 18
IM (function) 17
Imaginary part
Function 17
Import / Update Models Options 10
Import Components dialog box 91, 115
Imported Solution Data, Importing 71
importing 58
Importing Datasets 77
Importing Plot Data 70
Importing Setup Data 32
Importing Simulation Models 91
Importing Solution Data 31
INCLUDE command 8
initial displacement
setting 64
inserting designs 47
INT (function) 17
Integer part of a value (function) 17
Integration
Function 15
intrinsic functions 11
Intrinsic Variables 12
introduction to Simplorer 1
IronPython 1
K
keyboard shortcuts 47
Keywords
VHDL-AMS 57
L
Lande G factor 104
layout editor window 34
Layout Menu
Component Dialog Wizard 54

LayoutToolbar
Component Dialog Wizard 56
Legacy Libraries
Translating 9
legacy Simplorer projects
opening 55
translation overview 55, 56, 10
Legacy translation
terminal mismatch 52
legacy translation
identical parameter names 53
schematics with Simulink component 54
SML header 52
legends in reporrts 13
libraries
Configuring 6
search path precedence 6
library
precedence 3
structures and usage precedence 3
License Agreements
Third-Party 64
licensing
distributed analysis 39
linear constraints
deleting 87
modifying 87
setting 86
linear count sweep definitions 6
linear step sweep definitions 6
Listing schematic design elements 49
Literals 50
LN (function) 16
Loading component example projects 12
local variables
adding 6
units in definition 6
locating coupling files 81

Index-8

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

lock controls
Component Dialog Wizard 31
LOG (function) 16
Logarithm 16
Logical operators 11
VHDL-AMS 52
LOOKUP (function) 16
LOOP statement 39
M
Macro Model Export 8
magnetic loss tangent 104
magnetic saturation 104
markers
delta between markers 49
material 104
bulk conductivity 104
dielectric loss tangent 104
Lange G factor 104
magnetic loss tangent 104
magnetic saturation 104
name 104
properties, editing 104
relative permittivity 104
materials
creating 103
editing 103
materials editor
using 103
Mathcad model subcircuits 8
MATLAB
use as optimizer 24
MATLAB Optimizer 24
MATLAB/Simulink coupling
Add Simulink Component 4
Creating a MATLAB/Simulink model 6
Simulation 8
MAX (function) 15
maximum number of iterations

setting for a sensitivity analysis 60


setting for an optimization 37
setting for statistical analysis 68
maximum step size
setting for optimization analysis 49
maximum variable
Optimetrics calculation of 46, 63
maximum variable value
changing for all setups 71
overriding for a sensitivity setup 63
overriding for all optimization setups 47
overriding for all sensitivity setups 64
overriding for an optimization setup 47
Maxwell 2D Finite Element Model Subcircuit 16
Maxwell Capacitance Coupling SubCircuit
33
Maxwell Equivalent Circuit Component
Interface concept 22
Maxwell Inductance Coupling SubCircuit 31
Maxwell Transient Cosimulation subcircuit
14
menu bar
Component Dialog Wizard 53
overview 39
menus
shortcut menus 44
message details 31
Message window
about 29
displaying 31
hiding 31
Messages
clearing 31
displaying details 31
MIN (function) 15
Min and Max focus
SNLP optimizer 49
Index -9

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

minimum step size


setting for optimization analysis 49
minimum variable value
changing for all setups 71
Optimetrics calculation of 46, 63
overriding for a sensitivity setup 63
overriding for all optimization setups 47
overriding for all sensitivity setups 64
overriding for an optimization setup 47
Mixed-mode parameters
displaying 35
Mixed-Signal Models 64
model editor window 36
Model libraries
Alias for library name 67
Modelica Model Editor 123
Modeling
Aspects in SIMPLORER 62
Models
Mixed-signal 64
models
Creating simulation 13
simulation 13
Modulus (function) 16
monitoring solution progress 48
monitoring solutions 45
moving between designs 71
Multidomain modelingn packages 15
N
Names
VHDL-AMS 49
names
component 2
variable 2
Natural logarithm
Function 16
NATURE declaration 22
ndExplorer

displaying mixed-mode parameters 35


Network Data Explorer 1
NdExplorer Macro Model Export 8
Netlist
exporting 83
Netlist Editor window 35
netlist, 39
netlist,syntax 40
Network Data Explorer 1
Cell Filtering 21
changing port properties 37
color coded matrix plot 17
comparing network data 30
comparing variations 32
creating a statistics plot 28
displaying across all frequencies 22
displaying individual statistics 25
displaying statistics by frequency 24
loading data into 4
modifying data 15
Overview 2
reducing matrix size 37
right-click menu 13
Smoothing 41
thresholding 39
viewing data 15
viewing matrix data 20
new projects, creating 47
NEXT statement 41
nominal design 1
NOT (logic operator) 11
notes
saving with project 98
NULL statement
Sequential 42
Simultaneous 48
numeric data
unit suffixes 18

Index-10

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

O
octave count sweep definitions 6
old Simplorer projects, opening 55
Online Help for Components 12
On-sheet report
adding an 61
modifying an 61
opening in a new window 62
opening
example projects 49
existing projects 48
legacy Simplorer projects 55
recent projects 48
operator precedence 10
Operators
VHDL-AMS 52
operators
arithmetic 11
assignment 11
comparison 11
logic 11
Optimetrics
overview 1
tuning a variable 80
types of analyses 1
viewing analysis results 90
Optimization
Fast Calculation-Update 76
norms, L1, L2, and Max 52
optimization 15
MATLAB use 24
optimization analysis
choosing variables to optimize 16
optional settings 30
overview 15
plotting cost vs. iteration results 91
setting up 30
viewing cost vs. iteration results 91

optimization setups
adding 30
adding a cost function 39
procedure for defining 30
setting a goal 39
setting the max. iterations 37
solving 1
optimizers 15
Options
CModel Editor 64
text editor 84
options
setting in Simplorer 3
OR (logic operator) 11
output parameter
adding to sensitivity setup 60
plotting results 92
setting calculation range 62
specifying solution quantity for 61
viewing results in table format 92
output variables
deleting 67
specifying 66
P
Package
Body 12
Declaration 11
Visibility 13
Packages 10
For multidomain modeling 15
Standard 13
Page Menu
Component Dialog Wizard 54
page setup
schematic editor 8
page,schematic 63
panning the schematic view 11
Param Values Tab 16
Index -11

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Parameter Qualifiers 3
Parameter Types 7
parameterization
material properties 104
parameterizing
See variables 1
parameters
assigning variables to 15
reserved parameters 39
parametric analysis
setting up 4
solution quantity results 11
parametric setup
adding 4
overview 4
parametric setups
adding sweep definitions 5
adding to a design 5
plotting solution quantity results 90
setting the calculation range 11
solution quantity results 11
solving 1
solving before optimization 50
solving before sensitivity analysis 64
solving during optimization 51
solving during sensitivity analyses 65, 75
specifying a solution setup 9
specifying solution quantities for 9
using results for optimization 50
using results for sensitivity analysis 64
parametric sweep
distributed analysis 13
paste solution options 30
pattern search optimizer 15
pause 47
pausing a script 5
personallib 3
pin

properties, editing 58
Pin List dialog box 58
Pins
displaying and hiding 24
placing components 12, 13
Plot Data, Exporting 69
Plot Data, Importing 70
plots
distribution results for statistical analyses
93
parametric solution quantity results 90
Plots on Schematic, Creating 36
Plotting Imported Solution Data 71
polar plots
creating 2D 22
creating 3D 29
creating radiation patterns 23
information displayed 23
Pop Up 71
port
interface 33
placing 33
Port Options 10
Post-processing Data
updating 68
Power
Function 11
precedence
library usage 3
Predefined Constants 10
Predefined variables 9
primary sweep
modifying the variable 59
specifying for 2D rectangular plots 20,
31, 33
specifying for 3D polar plots 30
specifying for 3D rectangular plot 29
specifying for data tables 26

Index-12

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

specifying for radiation patterns 24


printing
from Simplorer 96
Probe command 36
Probe Selection command 37
Procedure call statement
Concurrent 30
Sequential 37
Procedures 17
PROCESS statement 29
Processes 62
profile information
for Optimetrics solutions 90
Progress window
monitoring solutions 45
Project Manager window
overview 6
showing 6
Project Tab 7
project tree
auto expanding 9
showing 6
project variables
adding 4
deleting 6
naming conventions 4
units in definition 4
projects
creating new 47
default names 1
deleting 72
managing 1
opening example 49
opening existing 48
opening legacy Simplorer 55
opening recent 48
renaming 72
saving 61

saving active 62
saving automatically 63
saving copies 62
saving new 61
saving notes 98
Properites Dialog Symbol Tab 25
Properties
Parameter Values Tab 21, 23
properties
defining for components 35
displaying 19
pin, editing 58
report backgrounds 11
Properties Dialog
Property Displays Tab 28
Properties Dialog Box 19
Properties Dialog General Tab 25
property window 14
Property Window General Tab 17
Property window Symbol Tab 17
Push Down 71
Q
Q3D SML Coupling SubCircuit 43
Qualifier List 3
qualifiers
parameter 3
Quantities 63
quantities
plotting S-parameter 64
Quantities tab
Properties window 18
Quantity attributes 55
quasi newton optimizer 15
queued simulations
removing 50
viewing 50
Quick Probe command 37
Index -13

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

R
radiation patterns, creating 23
RAM
Increasing on 32-bit Windows 3
RAMP attribute 64
Range functions 11
RE (function) 17
Real part
Function 17
recording a script 2
recording a script to a project 2
rectangular plots
creating 2D 19, 30
creating 3D 28
of parametric solution quantity results 90
Reistry Key pathname
seaching for 28
Relational operators
VHDL-AMS 52
relative permittivity 104
REM (function) 17
remote analysis 6
Removing Unconnected Wires 27
renaming an analysis setup 20
renaming projects 72
renaming solution options 30
Report Data 68
Report Dialog Box 2
report templates
creating 16
report window 37
reporter window types 4
Reports
background properties 11
updating 68
reports
adding traces 43
creating 1

creating 2D polar plots 22


creating 2D rectangular plots 19, 30
creating 3D polar plots 29
creating 3D rectangular plots 28
creating data tables 25
creating plots on schematic 36
creating radiation patterns 23
display types 19
exporting plot data 69
finding delta between markers 49
importing plot data 70
modifying data in 10
overview 1
plotting imported solution data 71
selecting a function 59
specifying time or frequency domain 6,
20, 22, 24, 25, 28, 29, 31, 32, 34,
35
sweeping variables 59
user defined outputs 75
Reserved Variables 12
Reserved words (VHDL-AMS) 57
Reset command
in Tuning dialog box 82
re-solving a problem 157
result window 37
resume 47
resuming a script 5
RETURN statement 41
revising a component dialog box 52
RMxprt Dynamic Coupling SubCircuit 40
Root
Function 15
ROOT (function) 15
Rounding Functions 17
rule check (electric) 27
running a script 3
Running Simulations 1

Index-14

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

S
saving
tuned states 81
saving a component dialog box 51
saving projects 61
active projects 62
automatically 63
new projects 61
saving copies 62
scheduler
proxy interfaces 146
Schematic
adding an on-sheet report 61
modifying an on-sheet report 61
opening an on-sheet report in a new window 62
schematic 1
adding a page 63
change page properties 63
Circuit, creating and editing 1
connecting pages 63
grid setup 6
hierarchical 1, 65, 71
multipage, setting up 63
page 1, 63
page setup 8
placing components 12
removing a page 64
System, creating and editing 1
schematic editor
starting 4
Schematic Editor Users Guide 1
schematic editor window 33
Schematic export 78
script editor window 36
scripting
IronPython 1
scripts

pausing 5
recording 2
recording to a project 2
resuming 5
running 3
stop recording 2
stopping execution of 5
sdt (function) 15
Search Tab 13
secondary sweep
modifying the variable 59
specifying for 3D polar plots 30
selecting solution options 18
sensitivity analysis
choosing variables to include 17
optional settings 59
setting up 59
sensitivity setups
adding 59
adding an output parameter 60
procedure for defining 59
setting initial displacement 64
setting the max. iterations 60
Sequential Mixed Integer NonLinear Programming (SMINLP) Optimizer 15
Sequential Nonlinear Programming (SNLP)
Optimizer optimizer 15
Sequential statements 33
ASSERT statement 34
BREAK statement 42
CASE statement 38
EXIT statement 41
IF statement 37
LOOP statement 39
NEXT statement 41
NULL statement 42
Procedure call statement 37
RETURN statement 41
Index -15

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Signal assignment statement 36


Variable assigment statement 36
WAIT statement 34
SET command 9
setting options
configuration files 20
setting the active analysis 19
settings
AC analysis 10, 12
AC solution options 26
adding solution options 28
DC analysis 13, 15
DC solution options 26
general solution options 27
standard analyses 7
transient analysis 7, 8
transient solution 22
setup options
standard analysis 7
SGN (function) 17
SheetScan
loading a datasheet 82
SheetScan Coordinate System
Define 83
SheetScan Toolbars 81
Shift operators 52
Shortcut Keys 44
shortcut menus
overview 44
shortcuts
keyboard 47
Show Component Dialog
using 49
Show Queued Simulations command
using 50
SI units 20
Sign dependent value
Function 17

Signal assignment 64
Signal assignment statement
Concurrent 31
Sequential 36
Signal attributes 56
SIGNAL declaration 23
Signals 63
Signals tab
Properties window 19
Simple simultaneous statement 44
Simplorer
command-line options 49
introduction 1
setting options 3
Simplorer Analyses 5
Simplorer conventions 1
Simplorer Design
setting up 46
Simplorer General Options 9
Simplorer Modeling Language 1
Simplorer Simulation toolbar 46
Simulation
MATLAB/Simulink coupling 4, 6, 8
simulation
VHDL-AMS 4
Simulation models
creating 13
importing 91
simulation models
characteristics 22
Simulation Options 76
simulations
changing parameter values during 47, 48
clean stop 47
controlling 45
monitoring 45
pausing 47
re-solving 157

Index-16

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

resuming 47
running Optimetrics 1
starting 1
stopping 46
Simulator
Solvabilty 65
simulator
block diagram 2
circuit 2
state graph 3
simulator backplane 2
Simulator Performance slider
using 25
Simulink component
legacy translation 54
Simulink model subcircuits 3
Simultaneous procedural statement
Statement 47
Simultaneous statements 43
CASE statement 45
IF statement 44
NULL statement 48
Simple simultaneous statement 44
Simultaneous procedural statement 47
SIN (function) 14
Sine
Function 14
SINH (function) 14
SIWave Component Subcircuits 82
size controls
Component Dialog Wizard 34
Sizing Component Dialog Box Elements 31
slider
Simulator Perfomance 25
SML Header Options 28
SML header translation 52
Smoothing, Network Data Explorer 41
snap to grid 6

SNLP optimizer
setting Min and Max focus 49
Solution Options 22
AC 26
DC 26
General 27
Transient 22
solution options
adding 28
copy 30
deleting 30
editing 29
paste 30
renaming 30
selecting 18
solution progress
monitoring 48
solution quantity
calculation range for optimization 42
calculation range for parametric setups 11
calculation range for sensitivity 62
calculation range for statistical 69
plotting parametric setup results 90
specifying for cost function 42
specifying for output parameter 61
specifying for parametric setups 9
specifying for statistical setups 68
Solution setup options 7
solution setups
choosing for a parametric analysis 9
solutions
after modifying the model 157
monitoring 45
pausing 47
re-solving 157
resuming 47
starting 1
stopping 46, 47
Index -17

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Solvability 65
solving 1
batch solution 49
parametric setup before optimization 50
parametric setup before sensitivity analysis 64
parametric setup during optimization 51
parametric setup during sensitivity analysis 65, 75
solving remotely 6
Sorting Block components 47
S-parameters
plotting quantities 64
spectral 4
Spice Compiler Options 10
Spinning a 3D Report 16
SQRT (function) 15
SQU (function) 15
Square
Function 15
Square root
Function 15
standard analysis setup options 7
standard analysis types 5
Standard mathematical functions 13
Standard Toolbar
Component Dialog Wizard 55
starting variable value
overriding for optimizations 46
overriding for sensitivity 62
overriding for statistical 74
state graph simulator processing 3
Statements
Concurrent 27
Sequential 33
Simultaneous 43
statistical analysis
choosing variables to include 19

plotting distribution results 93


setting up 67
viewing distribution results 92
statistical setups
adding 67
procedure for defining 67
setting the max. iterations 68
specifying solution quantities for 68
status bar
overview 37
STD STANDARD 14
step size
setting constraints for optimization 49
setting for sweep definitions 6
stopping a script 5
stopping an analysis 46
stopping criteria for optimization
maximum number of iterations 37
stopping criteria for sensitivity analysis
max. iterations 60
stopping script recording 2
subcircuit
copying 65
creating 65
creating from a selection area 68
finite element 14
Mathcad 8
Maxwell Capacitance Dynamic Coupling
33
Maxwell Equivalent Circuit 21
Maxwell Inductance Dynamic Coupling
31
Maxwell Transient Cosimulation 14
placing 65
Q3D SML Dynamic Coupling 43
RMxprt Dynamic Coupling 40
Simulink model 3
Subprograms 16

Index-18

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Functions 18
Procedures 17
SUBTYPE declaration 21
sweep definitions
See variable sweep definitions 4
sweep variables in reports
modifying values 59
symbol
schematic, creating and editing 44
schematic, editing 44
symbol editor
grid setup 6
Symbol Elements
Arranging 48
symbols
about 44
Sync # column 6
Synchronize Design dialog box 72
synchronizing sweep definitions 6
syslib 3
System constants 9
T
TAN (function) 14
Tangent
Function 14
TANH (function) 14
templates for reports
creating 16
terminal mismatch 52
Test Machines
Distributed Analysis Machines dialog 43
testing a component dialog box 49
Text editor options 84
The 65
Third-Party License Agreements 64
Time step guidelines 8
T-junction Getting Started guide 59
toolbar

Simplorer Simulation 46
Toolbars
SheetScan 81
toolbars
overview 41
Tools
external 43
Top Menu Bar 39
trace characteristics 49
Traces
display properties 46
traces
adding to reports 43
categories 64
copy and paste definitions 57
removing 58
Traces dialog box 1
Trademark Notices 60
transient analysis
adding 8
timestep guidelines 8
transient analysis settings 8
Transient analysis setup 7
transient solution settings 22
Translating Legacy Libraries 9
translating legacy projects 55, 56, 10
Trigonometric Functions 14
tuning
choosing variables to tune 18
tuning analysis
resetting variable values after 82
reverting to a state 82
saving a state 81
setting up 80
TYPE declaration 21
Type declarations
NATURE 22
SUBTYPE 21
Index -19

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

TYPE 21
U
Unconnected Wires
Removing 27
Undoing commands 48
Unit Handling 21
unit suffixes 18
units
as part of variable definitions 4
expected 21
SI 20
used 21
UpdateRegistry command
setting or removing option values 23, 26,
28
Updating post-processing data 68
Updating Reports 68
used units 21
User Defined Documents (UDDs) 111
User Defined Outputs 75
userlib 3
Using
Bookmarks 80
using a component dialog box 52
using Check Component Dialog 50
using Show Component Dialog 49
using the materials editor 103
V
Values on sheet 67
Variable assignment statement 36
VARIABLE declaration 24
Variable names 2
variable sweep definitions
adding to parametric setups 5
manually modifying 7
overview 4
setting values to solve 6
synchronizing 6

tracking changes to 7
viewing all design variations 5
variable-dependent goal 44
Variables
in expressions 11
Intrinsic 12
Reserved 12
VHDL-AMS 63
variables
adding local variables 6
adding project variables 4
assigning to parameters 15
choosing to optimize 16
choosing to tune 18
defining sweep definitions 5
deleting from design 9
deleting from project 6
dependent 5, 7, 10
excluding from Optimetrics analyses 84
including in sensitivity analysis 17
including in statistical analysis 19
min. and max values for optimization 46
min. and max values for sensitivity analysis 63
output 66
overriding default value for a parametric
setup 8
overview 1
predefined 9
setting default value 5
setting distribution criteria 70
setting fixed values 85
setting range of values 63
setting range of values for optimization
46
tuning 80
types in HFSS 1
updating to optimized values 51

Index-20

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

VBScript
.vbs file format 2
Vector inputs on sheet 68
VHDL-AMS
Concurrent statements 27
Design units 8
Sequential statements 33
Simultaneous statements 43
Standard Packages and Types 13
VHDL-AMS Model Description
Exporting 94
VHDL-AMS Model Editor 99
VHDL-AMS simulation 4
View/Edit Material dialog box 104
Viewing DC Bias Values 15
W
WAIT statement 34
window
property 14
result 37
window items
Component Dialog Wizard 53
wire
selecting 26
wire properties
displaying 26
wiring 25
Wizard
Component Dialog 1
Wizard Menu
Component Dialog Wizard 53
WORK library 66
Z
zooming the schematic view 11

Index -21

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Index-22

Release 14.5 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Vous aimerez peut-être aussi