optiSLang supports the definition of a text based project format (*.opx).
Basic Structure
optiSLang OPX requires four basic entries:
INFO: Contains the optiSLang version.
NODES: Contains the project structure with node hierarchy and node names.
EDGES: Contains the connections between nodes.
NODE_ATTRIBUTES: Describes types, settings and properties of nodes.
Example:
<?xml version="1.0" ?> <OPX> <INFO> <VERSION>700</VERSION> </INFO> <NODES></NODES> <EDGES></EDGES> <NODE_ATTRIBUTES></NODE_ATTRIBUTES> </OPX>
NODES
The NODES section contains the project structure and can represent a nested hierarchy of systems and nodes. At least one basic NODE entry for the scenery (ROOT) is required.
Each NODE entry requires an ID attribute containing the node name (not the node type).
Example:
<NODES> <NODE ID="ROOT"> <NODE ID="ARSM"> <NODE ID="coupled_function.s"> <NODE ID="coupled_function.bat"> <NODE ID="coupled_solution.txt"> </NODE> <NODE ID="Postprocessing"> </NODE> </NODES>
EDGES
Edges represent the connections between the nodes. Each EDGE entry requires the following attributes:
FROM: ID of the sending node.
FROMSLOT: Name of the output slot.
TO: ID of the receiving node.
TOSLOT: Name of the input slot.
Example:
<EDGES> <EDGE FROM="ARSM" FROMSLOT="IODesign" TO="coupled_function.s" TOSLOT="IDesign"/> <EDGE FROM="coupled_function.s" FROMSLOT="ODesign" TO="coupled_function.bat" TOSLOT="IDesign"/> <EDGE FROM="coupled_function.bat" FROMSLOT="ODesign" TO="coupled_solution.txt" TOSLOT="IDesign"/> <EDGE FROM="coupled_solution.txt" FROMSLOT="ODesign" TO="ARSM" TOSLOT="IIDesign"/> <EDGE FROM="ARSM" FROMSLOT="OMDBPath" TO="Postprocessing" TOSLOT="IMDBPath"/> </EDGES>
NODE_ATTRIBUTES
For each NODE in NODES, an ATTRIBUTES section with at least the following entries is required:
ID: Node ID (same as in the NODES section).
TYPE: Node type.
Example:
<NODE_ATTRIBUTES> <ATTRIBUTES> <ID>ROOT</ID> <!-- REQUIRED, FIXED --> <TYPE>RootSystem</TYPE> <!-- REQUIRED, FIXED --> </ATTRIBUTES> </NODE_ATTRIBUTES>
Parameters
A parametric system should always contain at least one dummy parameter to avoid warnings and error messages.
Example:
<ATTRIBUTES> <ID>ARSM</ID> <TYPE>ARSMActor</TYPE> <PARAMETERS PARAMETER_MERGING_MODE="PREFER_PROPERTY"> <PARAMETER CONSTANT="False" NAME="dummy" TYPE="DETERMINISTIC" VALUE="1.0" VALUETYPE="REAL"> <OPTIMIZATIONATTS LOWERBOUND="0.0" OPTIMIZATIONTYPE="CONTINUOUS" UPPERBOUND="2.0"/> </PARAMETER> </PARAMETERS> </ATTRIBUTES>
Unsupported Nodes/Modules
The following nodes or modules are unsupported. When a project contains an item from the list, the export to OPX fails.
Abaqus Process
Data Mining
Design Export
LS-DYNA Input
Memetic (Beta)
Monitoring
Octave
Process
Raw data export
Raw data import
Tagged Input
TurboOpt Input