This category contains all the controlling options for the blackboxing feature. For more information on blackboxing, see Blackboxing Modules and Blackbox a Module.
Code/script usage compatibility: Change is inevitable. As we move through time and PSCAD versions, things are changed for the better, but may break compatibility with older versions. This option is meant to help with that. The default is v4.6.3 and v5.0.0+, which ensures that the generated blackbox component script and FORTRAN source code is compatible with PSCAD v4.6.3, as well as the entire PSCAD V5 product line. If the v4.5.0+ option is selected, the generated script and FORTRAN source code is compatible with the PSCAD v4.5, v4.6 and V5 product lines. However, code optimization enhancements introduced in v4.6.3 onwards will not be included.
Feed-forward signal storage: This option should remain as Force disabled unless absolutely necessary. If Assume current project setting is selected, the current state of the Store feed-forward signals for viewing project setting will be assumed. If this project setting is enabled, it will force all signals, including feed-forward signals, to be read from and written to storage every time step within the FORTRAN code generated by blackbox. Note that this may have detrimental effects on code efficiency, and therefore simulation speed. However, there are instances where custom models may be improperly coded in terms of reading/writing storage, and using Force disabled can change simulation results once the blackboxed component replaces the original module in the system.
Inner component definitions: When set to Retain All, the blackboxed equivalent component definition of each, inner module (if blackboxing a hierarchy) will be retained in the target project definition list. Each of these definitions are themselves blackboxed components, and may be manually instantiated and used separately (along with their corresponding source or compiled files). Note that blackbox will always retain all source files and/or *.obj and *.lib files, regardless if the definitions are retained or not.
Passive elements (R, L and C): Enable this option to hide passive element values (it is recommended that this option remain enabled). When enabled, each R, L and/or C element in the electric network is replaced with a an equivalent call to the Runtime Configurable Passive Branch component. This effectively moves the actual element values directly into the Fortran source, thereby hiding them when the source is compiled into a static library or object file. The associated Branch segment statement for that branch, which gets written to the Data file, contains only dummy values. See Blackboxing Modules | Electric Networks: Limitations to Protection for more details on this.
Target project: Choose from a list of loaded projects in the workspace, a destination project for the new component and associated resource file links. Resource files will be appended to this project if the corresponding option is enabled. If set to local project, then the destination will be the current working project.
Generation: This option controls to what extent the algorithm should go to in the creation of the component. Options are to create only a definition, or both a definition and first instance of the component.
Global substitutions: The default state of this option is to embed global substitutions as literal values. This means that the present value of any project global substitution used within the module hierarchy, will be hard-coded within the blackbox component code. If you opt to make them accessible, then an input parameter will be created in the resulting blackbox component, for each unique global substitution encountered. Thereby allowing global values to be modified after the component is created.
Parameters: Choose whether or not to include the current parameter instance values of the source module, when creating the new blackboxed component. If disabled, the blackboxed component instance will populate it's parameter values with the default parameter values of the source modules.
Fixed electrical port name: Enter a unique name for the internal fixed node array port, which will be used to map all the fixed electrical nodes in this module hierarchy.
Switched electrical port name: Enter a unique name for the internal switched node array port, which will be used to map all the switched electrical nodes in this module hierarchy.
Destination folder: Specify a folder for generated source and compiled object files. Files will appear in a sub-folder, sorted according to the compiler used to create them. If left blank, the default setting is the User Libraries Folder (set within Application Options | Dependencies). If no user libraries folder is set, the default becomes the project folder (i.e. where the case project *.pscx file resides).
Binaries (*.obj, *.o, *.lib): Use this setting to control whether or not the source code, generated by blackbox, is compiled into binary files. A sub-folder will be created for each compiler within the source file destination folder to house the corresponding binary.
Append: When enabled, a file will be automatically be added to the target project resources branch. If an object file is being created (see Binaries (*.obj, *.o, *.lib) above), only the object file will be added to the resources branch.
Clear existing: Use this option to help keep the resources branch from getting unruly. Unruliness can occur when creating many blackboxed components in a single session. Select To resources in the destination folder to clear the resources branch, excluding other dependent resources unrelated to blackboxing, each time a blackbox is created. Select All to clear the entire contents of the resources branch each time a blackbox is created.
Naming prefix: This string is automatically prefixed to all subroutine names (both the prototype statement and call statements), generated resource file names, as well as the definition name of the final blackboxed component. This is necessary to ensure that the subroutines created, and the final component definition, remain unique and do not conflict with components already existing in the project. This string may be modified as desired, but cannot be blank.