pdaModelParameterValue

Define a property.

Structure

This element does not have elements. The attributes are shown below, in a sorted per type fashion.


<pdaModelParameterValue  optional="..."  pdaNamedValue:name="..."  pdaNamedValue:xsSpec="..."  pdaValue:allowedValues="..."  pdaValue:type="..."  pdaValue:unit="..."  pdaValueDouble:bbTestMax="..."  pdaValueDouble:bbTestMin="..."  pdaValueDouble:doc="..."  pdaValueDouble:max="..."  pdaValueDouble:min="..."  pdaValueDouble:tex="..." ... > ... </pdaModelParameterValue>

XSD

The schema file can be downloaded or viewed at xPDK_CompactModel_List.

Details

Type pdaNamedValue

Type pdaValue

none, and value is the expression in the content. The difference with attributes is that they are more like annotation; basically key/value string to add more information in a software specified way.

Type pdaValueDouble

degrees for angles. The expression is in the content.

Type pdaExpression


Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

optional

Mark this model parameter as optional in the file(s).

name

Type pdaIdentifier documentation:
Identifiers are used in the Python library for the getName() and setName() function and can thus be used to identify the different elements in list s.
In text the specification is a letter, followed by letters, numbers, underscore. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*

xsSpec

The function part that you define as xsSpec is the part behind a (software specific) prefix. So values like Width, Radius or Length which map for OptoDesigner onto the mcsGetWidth() functions, see xPDK_toOptoDesigner_BBtest.xsl.

allowedValues

Type pdaStringList documentation: text (attribute or element).

type

Type pdaValueType documentation: expression is an extension to what the 'simple code' can do, but runs partly in xPDK:expr spt.
Allowed types:

unit

Type pdaUnit documentation:
The use of units is strongly recommended to ensure that values are consistent between provider and user of data. The XSD schema allows a series of "basic units" with a * and / them. A basic unit uses the standard prefixes qryzafpnumckMGTPEZYRQ followed by its type and an optional ^. So a unit can be something like 1/cm*3kV/m^3/degree*dB
A few additional names are added. You can use them with the common prefixes.

bbTestMax

the BB test files to make the design more clear, so not having bends with 359deg which are then shown as "racetrack". Type pdaExpression documentation:
Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

bbTestMin

the BB test files to make the design more clear, so not having bends with -359deg which are then shown as "racetrack". Type pdaExpression documentation:
Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

doc

max

rule checking or user interface aspects. Type pdaExpression documentation:
Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

min

rule checking or user interface aspects. Type pdaExpression documentation:
Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

tex