1.MDOL概述
假设每个设计问题都可以简化成两大部分
(1)数据模型data model:
Input and output parameters, initial starting solution values, design variables, objectives, constraints:输入输出参数、设计变量、目标函数、约束等
(2)过程流模型process flow model
过程流模型控制了过程的组织及数据传递。
所有设计任务都可以通过上述两大类型的结构化、通用化的组件shell来描述。每个设计任务的model的这些描述信息保存在isight内置的description file文件中,isight二次开发的关键任务在于解析以及生成description file(*.desc)。
MDOL语言是易擎公司针对iSIGHT软件专门开发的多目标优化描述语言(Multi-Disciplinary Optimization Language)。MDOL语言通俗易懂,类似于英文文法,以模块化的方式将iSIGHT模型记录在*.desc文件当中。用户可以通过对*.desc文件使用MDOL 语言来加以修改从而方便的实现对iSIGHT的二次开发。
1.1 MDOL模块化组织的特点:
✓模型的所有信息都是用MDOL语言以模块化(block)的方式记录在iSIGHT的desc描述文件中。
✓在desc描述文件中,各个模块并没有指定的顺序。但是,iSIGHT在存储模型文件时,会按照一个默认的顺序来记录各个Block 每一个模块都有如下的结构:
thisBlock taskname
……
End thisBlock taskname
✓在MDOL语言中,对英文字符是区分大小写的。
perl语言学习✓如果不是必须的,没有使用的可选模块是不被记录在desc描述文件中的。
✓iSIGHT文档遵循MDOL语言的文法存储模型的内容。
一个设计问题均需保存为一个application,在isight中体现为一个*.desc文件,Application (应用程序)可以看作为*.desc的同义词,属于MDOL最高层级的任务层。下述片段为一个application的简单示例:
1.1.1 Application
Application syntax 术语元素:
(1)MDOL Version必须元素。MDOL模型解析器的版本,目前isight软件支持2.0-9.0。(2)Topology File 可选的。Specifies the topology file,该文件在运行时在不同电脑之间传递时产生。
/tm/beam host1
/tm/beam@@beamCode1 host2 #this is the simcode
/
tm/beam/life host3
/tm/beam/simple host3
Code Example 1-2. Topology File Format
(3)Compiler Options 可选,指定MDOL代码解析出错时的报错机制。以下是警告、错误的两个例子
Warn - All errors are reported. Tcl code will be translated unless errors are present. (Warn is the default.)
Error - Minor errors (for which a sensible recovery can be made) are suppressed. More serious errors are reported by this scheme. Tcl code, which is created by the MDOL Translator, will be generated unless serious errors are present.
(4)Parallel Techniques –可选的。是否激活并行设计
(5)Task Declaration –必须的。application的主体task声明,在结构上表现为一个完全的block,属于最大的一层的task。
下述的文件片段为该desc的实例:
1.1.2 MDOL术语及语法
上图描述了一个典型的block组织结构:name在task关联时必须是独一无二的;identifier 是MDOL的保留字符;keyword与identifier间隔了个“:”;values可以为number、string、Tcl statement(可以Tcl-End语句块的形式);
1.1.
2.1 特殊字符
在MDOL的block语句块中会有许多特殊字符,其含义如下:
在MDOL Syntax Characters中符号[ ]一般用于界定数组;双引号界定字符数组string。
1.1.
2.2 占位符placeholder
占位符用于临时代替实际的用户输入,在isight中占位符为“有意义”的字符串,最常见的用“task-name”作为实际的task name 输入。
1.1.
2.3 Tcl术语
Tcl术语一般以Tcl block的形式出现,但上述的结构形式等同于下面的结构。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论