此菜单主要用于对参数化点、参数化设计变量、参数化运动方式、使用参数表达式、微分方程、样条曲线、输出请求、用户材料属性进行参数化建模,菜单内容如图 2-50 所示。
图 2-50 SubEntity菜单工具包
参数化的模型可以使用户方便地修改模型而不用考虑模型内部之间的关联变动,而且可以达到对模型优化的目的。RecurDyn提供了强大的参数化建模功能。在建立模型时,根据分析需要,确定相关的关键变量,并将这些关键变量设置为可以改变的设计变量。在分析时,只需要改变这些设计变量值的大小,虚拟样机模型自动得到更新。
(1) 定义参数化的值PV(Parametric Value);用于实现字符串与实数值的关联;参数化值在使用之前必须事先定义。
创建PV方法:选择Subentity>>Parametric Value( ),弹出参数化值列表“Parametric Value List”对话框,单击对话框中的“Add”按钮,添加参数化的值,包含参数化值的名称“Name”(一般用一个字符串,默认为PV1、PV2…),以及相应的值“Value”。赋给字符串的值可以是一个常数或者是一个表达式。当使用表达式时,通过单击相应栏中的“E”按钮实现与相关表达式的关联;如果需要将参数的值输出至*.rdp(设计参数化)文件中,需要勾选DP项。此外,用户可以在参数化值列表“Parametric Value List”对话框中实现参数化值的导入(Import)、导出(Export)、插入(Insert)、删除(Delete)等操作。选中优选项“With relation”可以实现在导入参数化值文件*.rpv时,将参数化值及其相互之间的关系一并导入,如图 2-51 所示。
图 2-51 创建参数化值
PV值的调用。创建后的PV值可以在整个建模过程中随时调用,在RecurDyn中,只要在界面中出现 按钮时,均可以用参数化值来表示。用户可以通过单击 按钮选择事先定义的参数化值,从而建立模型中某项属性与参数化值之间的关联。图 2-52 为利用参数化值设置某个体质量属性的过程。
图 2-52 体属性参数化值设置
(2) 创建参数化点PP(Parametric Point),通过参数化点建立参数化模型,只需要改变参数化点的坐标即可以快速地改变结构构件的相关属性。在创建PP点时需要指定参考坐标系,当参考坐标系改变时,与此参数化点有关的点都相应发生改变。
创建参数化点PP的方法:选择Subentity>> PP( ),弹出“Parametric Point List”参数化点属性对话框,单击对话框中的“Add”按钮,添加参数化点,包含参数化点的名称“Name”(一般用一个字符串,默认为PP1、PP2…),以及相应的坐标值“Point”、相对参考坐标系“Relative to”(默认的为惯性坐标系)。PP的坐标值可以通过单击“导航键”按钮 在图形工作窗口中通过鼠标选取,也可以在相应文本框中直接输入。如果需要将参数点输出至*.rdp(设计参数化)文件中,需要勾选DP项。此外,用户可以在参数化值列表“Parametric Point List”对话框中实现参数点的导入(Import)、导出(Export)、插入(Insert)、删除(Delete)等操作。选中优选项“With relation”可以实现在导入参数点文件*.rpp时,将参数点及其相互之间的关系一并导入。另外,在设置参数化点PP的坐标值时,可以使用参数化值PV,如图 2-53 所示。
图 2-53 创建参数化点
(3)PP点的调用。创建后的PP点在工作图形窗口,以及数据库窗口将分别显示,用户可以在整个建模过程中定义参数化几何模型、设置Marker点时随时调用。在RecurDyn中只要在界面中出现 按钮时,均可以调用参数化点。用户可以通过单击 按钮选择先定义的参数化点PP,从而建立模型中某项属性与参数化点之间的关联。图 2-54 为利用参数化点设置某个体原点的过程。
图 2-54 调用参数化点
(4) 用于创建参数化值连接器PVC(Parametric Value Connector),PVC可以用于各子系统中参数化值的控制。子系统(Subsystem)建模是RecurDyn的特点之一,通过创建PVC可以实现在上一级子系统中对下一级子系统中参数化值的控制,如图 2-55 所示。
图 2-55 参数化值连接器
创建PVC之前,首先需要创建需要连接的子系统参数化值PV。创建PVC的基本过程:选择Subentity>> PVC( ),弹出参数化值连接器列表“Parametric Value Connector List”对话框,通过单击对话框中的“Add”按钮实现参数化值连接器的添加。通过单击“Refs”按钮,在弹出的“Find Parametric Connector References”对话框中,单击该对话框中的 按钮,在弹出的“Find Parametric Connector References Search dialog”对话框中选择需要的参数化值(或者在“Search”按钮左侧的文本框中输入参数化值,然后单击“Search”按钮找到需要的参数化值)后,单击“Load”按钮;单击“Find Parametric Connector References”对话框中的 按钮,关闭“Find Parametric Connector References Search dialog”对话框;单击“Find Parametric Connector References”对话框中的 按钮,返回到“Parametric Value Connector List”对话框,在“Valve”一列的文本框中输入相应的值或者单击 按钮选择事先定义的参数化值作为创建的PVC值,如图 2-56 所示。
图 2-56 创建PVC
(5) 用于创建参数点连接器PPC(Parametric Point Connector),PPC可以用于各子系统中参数化点的控制。通过创建PPC可以实现在上一级子系统中对下一级子系统中参数化点的控制,如图 2-57 所示。
图 2-57 参数化点连接器
创建PPC之前,首先要创建需要连接的子系统参数化点PP。创建PPC过程同创建PVC的过程基本一致。
(1) 用于创建样条曲线;在RecurDyn中支持Akima曲线拟合方法,在创建插值函数AKISPL时,需要用到样条曲线。使用样条曲线必须事先定义,创建样条曲线,选择Subentity>>Spline( )进行创建。创建好的样条曲线会保存到样条曲线列表“Spline List”和数据库窗口中,用户可以在使用时从中选取所需要的样条曲线。
创建样条曲线。单击 命令后弹出“Spline List”对话框,单击对话框中的“Create”按钮,弹出“Spline”对话框,在“Spline”对话框中的“Name”一栏中,用户可以为样条曲线命名(默认名称为SP1、SP2…)。单击“Add”按钮可以分别在 X 列和 Y 列中输入样条曲线的数据值;“Insert”用于在某个选定的位置插入数据点;“Delete”用于删除某个选定的插值数据点;“Clear”用于清除所有数据点;“Function”通过输入斜率和绝对值生成系列数据;“Import”可以导入事先已经定义好的数据文件(*.mat或者*.txt文件);“Export”导出创建好的样条曲线数据(*.mat或者*.txt文件)文件;通过单击“Draw”按钮可以显示样条曲线的形状,如图 2-58 所示。
样条曲线指示器“Spline Viewer”,如图 2-58 所示。在“Spline Viewer”窗口中不但提供了“Chart option”控制项用于对曲线的显示输出进行设置,还提供了“View options”视图优选项:“User Input Points”用于以某个特征符号显示样条插值数据点;“Linear Interpolation”用于显示由插值点生成的多直线段曲线;“Spline Curve”显示由插值点生成样条(AKIMA Spline)曲线;“Spline Slope”显示样条曲线的衍生曲线;“Extrapolation at ends”显示样条曲线末端的外推曲线。在推断类型“Extrapolation Type”中提供了线性“Linear”、三次插值“Cubic”两种类型,“Linear”是指按照直线段最后一个点的斜率获得额外数据,如图 2-59所示,设定该曲线的“Start”始点斜率为 1.5,“End”终点斜率为 0 其显示效果;三次插值“Cubic”效果,如图 2-60 所示。“Offset”用于设置曲线数据沿着 X 方向或者 Y 方向进行偏移;“Scale”用于对给定的数据分别按照 X 方向或 Y 方向进行比例缩放。
图 2-58 创建样条曲线
图 2-59 曲线Linear外推
(2) 用于创建表函数达式“Expression”。函数表达式在多体动力学系统建模仿真时具有非常重要的作用,例如,在定义复杂的运动驱动函数、机构的控制、测量对象、优化设计目标、约束方程等都需要用到各种类型的函数。RecurDyn的函数系统包括程序提供的函数及用户自定义函数两类。
图 2-60 曲线Cubic外推
创建函数表达式。其创建基本过程为选择Subentity>> Expression,弹出表达式列表“Expression List”对话框,单击“Expression List”对话框中“Create”按钮,弹出表达式“Expression”对话框,分别在“Expression”对话框中的名称文本框和表达式列表框中输入表达式的名称和表达式的具体内容。在创建表达式的具体内容过程中,用户可以在可用“Available”函数列表中直接双击某函数,实现对函数的调用,如图 2-61 所示。
图 2-61 定义函数
● 使用Marker点变量创建函数。在定义函数的过程中,例如,函数Functions(Marker1,Marker2,…)用到Marker点作为变量的函数,Marker点的名称格式为bodyname.markername;用到的子系统的Marker点名称格式为bodyname.markername@subsystemnanme。
● 使用参数化点变量创建函数。函数的变量可用为参数化点。在创建函数表达式时,可以使用预先定义的参数化点的分量值,格式为Parametric Point_Name.component(x,y,z)。例如,当PP1 的当前坐标为(12,15,100)时,在表达式中,PP1.x表示此时的PP1.x=12.。
● 使用ID号变量创建函数。在创建函数表达式时,可以调用事先创建好的使用ID号定义的变量。创建ID号定义的变量过程:单击“Expression”对话框“Argument List”一栏中的“Create”按钮,这时在“Argument List”列表框中添加一个ID号变量,然后在数据库窗口选中某数据项(如Marker点、样条曲线SP等)后,用鼠标拖拽至列表中的Entity中,完成ID号变量的定义。这时,创建的函数表达式直接可以以变量的ID号对该变量进行调用,如图 2-62 所示。这时,定义的函数VM(1,2)相当于函数VM(Ground.InertiaMarker, Body1.CM)。
图 2-62 创建ID号变量函数
函数的调用。在创建仿真模型的过程中,在定义诸如驱动副、力、刚度、阻尼等属性时,当界面出现“EL”按钮时,此栏的内容均可以调用事先已经定义(或者新创建)的函数表达式。调用方法:单击“EL”按钮,弹出“Expression List”对话框,用户在“表达式列表”对话框中选中调用的函数表达式,单击“Expression List”对话框中的“OK”按钮,完成该函数表达式的调用,如图 2-63 所示。
图 2-63 调用函数表达式
(3) 用于创建用户子程序“User Subroutine”。在使用程序提供的函数表达式不能够满足分析要求时,用户可以通过RecurDyn提供的用户子程序功能来表达更为复杂的运动控制、逻辑判断等内容。用户子程序利用高级编程语言C语言或者Fortran来定义模型元素或者特定的输出。相对于函数表达式而言,用户子程序更为通用和灵活。其具体用法会在以后作专门的论述。
(4) 用于创建输出请求“Request”。输出请求在仿真分析中具有重要的作用,通过输出请求可以在一定程度上对仿真分析的有效性进行评定;同时利用输出请求可以获得某些在通用后处理中不能够获得的某些计算指标数据。选择Subentity>> Expression>>Request( ),弹出“输出请求”列表对话框,用户可以根据需要自定义输出的内容,如位移、速度、加速度、力等。输出请求定义的输出结果数据会保存到结果文件的*.rplt和*.req文件中。关于输出请求的具体用法参见 5.2.1 节。
用于定义变量方程和微分方程如下:
(1) 用于定义变量方程(Variable Equation)。变量方程可以用一个函数表达式或一个用户子程序来定义一个包含多个状态变量函数中的变量元素。定义的函数中,这个变量元素的值引用变量方程的值。
创建变量方程。选择Subentity >>Equation >>Variable ( ),弹出变量方程列表“Variable Equation List”对话框;单击“Variable Equation List”对话框中的“Create”按钮,弹出创建变量方程 “Variable Equation”对话框;单击“Variable Equation”对话框中的 按钮,在弹出的表达式列表“Expression List”中选择已经创建好的函数表达式或者创建新的函数表达式。单击“Expression List”对话框的“OK”按钮返回“Variable Equation”对话框,单击“Variable Equation”对话框中“OK”按钮返回“Variable Equation List”对话框,单击“Variable Equation List”对话框中的“OK”按钮,完成变量方程的定义,这时,在数据库窗口“Var.Eq”数据组中出现定义好的变量方程的名称“VE1”,如图 2-64 所示。
图 2-64 创建变量方程
引用变量方程。创建好的变量方程可以作为一个变量在创建函数表达式时直接引用;也可以在创建关于该变量方程的函数时,先创建关于该变量方程的ID号变量,然后在创建函数表达式时引用该ID号变量,如图 2-65 所示。
图 2-65 引用变量方程
(2) 用于定义微分方程(Differential Equation)。微分方程可以用一个函数表达式或一个用户子程序来定义一个包含多个状态变量函数中的变量元素。定义的函数中,变量元素的值引用微分方程的值。支持两种形式的微分方程:其中, 类型的微分方程称为显式形式;0= 类型的微分方程称为隐式形式。
创建微分方程。选择Subentity >>Equation >> Differential ( ),弹出微分方程列表“Differential Equation List”对话框;单击“Differential Equation List”对话框中的“Create”按钮,弹出创建微分方程 “Differential Equation”对话框;单击“Differential Equation”对话框中的 按钮,在弹出的表达式列表“Expression List”中选择已经创建好的函数表达式“Ex1”。单击“Expression List”对话框的“OK”按钮返回“Differential Equation”对话框,单击“Differential Equation”对话框中“OK”按钮返回“Differential Equation List”对话框,单击“Differential Equation List”对话框中的“OK”按钮,完成微分方程的定义,这时,在数据库窗口“Diff.Eq”数据组中出现定义好的微分方程的名称“DE1”,如图 2-66 所示。
引用微分方程。引用定义好的微分方程可以创建两种关于微分的函数表达式。DIF(model name.differential equation name):返回微分方程所定义状态变量的积分值;DIF1(model name. Differential equation name):返回微分方程所定义状态变量的微分值。引用创建好的微分方程可以作为一个变量在创建函数表达式时直接引用;也可以在创建关于该微分方程的函数时,先创建关于该微分方程的ID号变量,然后在创建函数表达式时引用该ID号变量,如图 2-67 所示。
图 2-66 创建微分方程
图 2-67 引用微分方程
RecurDyn提供的设计研究包括灵敏度分析及设计变量的筛选,提供各种成熟的实验设计方法。设计研究主要研究各设计变量对设计目标的影响,包括研究设计变量和分析响应之间的关系,以及分析响应间的相关性等。在此处主要是定义设计研究所需要的设计变量(DV),以及性能指标(Performance Index)。
(1) 用于定义设计变量(Design Variable)。设计变量是指为了达到设计目标而需要进行优化的变量,即设计变量。设计变量既可以是刚性体的参量,也可以是关于柔性体的有限元节点。在定义设计变量之前,必须保证模型中作为设计变量的参量已经以参数化的形式表示,即先将设计变量定义为参数化值PV。如果作为设计变量的项没有以参数化形式表达,则需要通过选择Subentity>>Parametric Value( ),进行参数化值的创建。在RecurDyn建模过程中,界面中出现“PV”按钮的项目,均可以作为设计变量。
(2) 用于定义设计过程中的性能指标(Performance Index,PI)。性能指标PI是优化设计中目标函数和约束条件的限制条件,PI以分析响应(Analysis Response,AR)形式表示。因此,在定义PI的过程中必须要定义AR。AR一般是通过创建RecurDyn中关于分析结果的函数。可以通过将分析结果的终值(End Value)、平均值(Average Value)、最小值(Min Value)、最大值(Max Value)、最小绝对值(Min ABS Value)、最大绝对值(Max ABS Value)、均方根(RMS)等处理作为相应的AR值。此外,性能指标PI也可以是关于柔性体有限元分析的结果。
用于用户定义仿真模型中结构部件的材料属性(Material Property)。RecurDyn提供了多种材料属性供用户选择,当程序提供的材料属性不能够满足用户需要时,这时用户可以定义自己使用的材料属性。选择Subentity>>Material Property( ),弹出用户材料属性列表“User Material Property List”对话框,在对话框中用户可以定义材料的名称(Name)、密度(Density)、弹性模量(Young's Modulus)、泊松系数(Poisson Ration)。并且可以导入(Import)、导出(Export)、材料(*.bin)文件。此外,用户可以单击“View”按钮,预览程序提供的材料及其相关材料属性,如图 2-68 所示。
图 2-68 用户自定义材料