前页 | 后页 |
创建仿真模型
我们在本指南的“ 如何工作”部分中仔细研究了这个例子。在本节中,我们将更详细地介绍这些步骤,包括用于配置模型的选项。 Enterprise Architect提供了很大的灵活性,并允许定义简单的一次性模型,或者创建复杂的基于库的多用途模型,这些模型可以使用不同的数据集和上下文在多个项目和域中重用。在本主题中,我们将探讨一些用于配置模型的选项,以使其适合特定目的并创建所需的工程成果。
创建仿真模型包
可以在“浏览器”窗口中的任何位置设置模型包,但是通常认为在每个项目或计划下设置模拟包是最佳实践。然后可以包含每个模拟的子包。可以预期,对于给定的项目,可能需要进行许多不同的模拟。如“数据集”部分所述,企业也可能希望在多个项目中重用某些模拟。可以在项目浏览器中设置这些模拟,并在超项目级别(例如在企业,组织或工程部门级别)进行定义。然后可以将它们包含在项目级别的图中,表明它们适用。给定项目或问题背景。工程团队也很可能希望在项目之间重用值类型及其伴随的数量库和单位库,并且如本指南前面的主题中所讨论的那样,这些值库最好在超项目级别进行定义和建模。
Enterprise Architect使用SysML包导入机制来确保在企业级别定义的值类型可以被包含并在每个Simulation Package级别重复使用。该结构通常包含以下软件包:
- 值类型(特定于此项目)
- 积木
- 约束属性
在下一部分中,我们将学习如何创建和配置SysML Simulation Artifact,其原型为<< SysMLSimConfiguration >>。
创建模拟元素
准备仿真的主要工作是在模型元素的定义中,使用具有适当精度的SySML,以允许OpenModelica平台运行仿真。可以使用多种方法来定义模型,在本指南中,我们将重点介绍最可靠,最灵活的方法,因为这是大多数实践工程师和团队将使用的方法。
在这一点上,有必要先看一下模拟主题,以确保我们了解模拟的相关性和与模型其他部分的联系,以及模拟元素如何与其他模型元素(例如需求,测试用例等)联系起来。通常,仿真是研究某些网络物理问题的一种方式,而无需构建耗时且通常昂贵的物理模型。模拟可以是问题分析,权衡分析,性能分析或许多其他调查的一部分。可以将定义为仿真一部分的块分配给行为元素,最后分配给需求。
首先要创建的元素是块,它们是解决方案的基本结构元素。在前面的示例中,我们学习了如何执行此操作。该图显示了许多具有元素(即属性)的隔离专区。
在准备定义定义摆系统行为的方程式的准备过程中,我们将定义确保模型精确并检查仿真参数是否正确指定所需的值类型。这是通过使用图工具箱中可用的值类型元素,使用块定义图(bdd)来完成的。
下一步是使用约束块定义约束。这些元素是我们定义Modelica方程的地方,这些方程将控制被建模系统的行为-在我们的例子中是摆锤。如本指南前面所述,约束块是在块定义图(bdd)上定义的,并具有一系列定义的参数和一个用Modelica编写的方程式表示这些参数的约束。例如,约束摆的垂直方向的方程写为:
m * der(vy)=-(y / L)* F-m * g
注意Modelica关键字,例如“ der”表示一阶导数。 L是摆的长度(参数),g是在重力作用下的加速度(常数),m是摆的质量(参数),x和y是二维空间中的坐标,而F是力。请注意,Modelica使用:
下一步是创建将等式绑定在一起的参数图。如本指南前面所述,这些图是内部框图的一种特殊类型,包含称为约束属性的约束块实例,这些实例公开了其参数,这些参数由连接器绑定到其他约束属性上的参数。
指定配置工件
SysML Simulation Artifact是将模型元素绑定到OpenModelica平台的元素。在SysML中以块,约束块及其绑定在参数图上的相关约束属性形式表示的模型元素出现在“模拟”窗口中,并可以配置其他设置来驱动模拟。
设置此功能的第一步是创建SysMLSim Configuration元素,如屏幕截图所示,可从“ Artifact”工具箱页面中获得。
关于填充“配置SysML仿真”窗口, Enterprise Architect承担了大部分繁重的工作。工程师只需使用Simulation Artifact窗口的“ Configuration”面板上的图标选择Package。
Enterprise Architect将显示“包选择”窗口,选择“包”后,将使用模型中的“块”,“约束块”和“值类型”填充“配置”面板。从这一点开始,可以为各种参数输入值,或者可以定义数据集。可以输入仿真配置参数,并且可以开始运行仿真。
一旦输入了用于模拟的数据(包括开始和停止值以及输出格式),就可以通过选择“求解”按钮来运行模拟,如该屏幕插图所示。