使用SOL操作员的示例


用Sol操作员允许您从当前模型中的任何求解器序列中提取解决方案,并在其他研究中或在后处理过程中使用它。

比较两项研究之间的结果

让我们考虑一个简单的热示例。左侧温度为20ºC的正方形的稳态模拟。我们在模型中进行了两项研究。右侧温度为100ºC(研究1),温度为200ºC(研究2)。为了评估两项研究之间的温度差,我们可以使用用Sol操作员。

的基本形式用Sol操作员是:使用SOL('tag',expr), 在哪里'标签'是我们要从中提取溶液的求解器序列的标签,并且Expr是我们要评估的表达。为了能够看到标签,请确保标签模型树节点文本菜单模型构建器窗户。每个节点的标签出现在节点名称之后的卷曲括号{}中。

模型树节点文本菜单的屏幕截图,并选择了名称和标签选项。
模型树节点文本菜单,带有姓名标签启用了选项。

查看温度之间的区别研究2研究1,我们为研究2数据集创建一个图,并使用表达式t-withsol('sol1',t)

模型树的屏幕截图,突出显示了解决方案1和表面1节点,并突出显示了带有asol表达式的表面设置窗口。 模型树的屏幕截图,突出显示了解决方案1和表面1节点,并突出显示了带有asol表达式的表面设置窗口。 表达式用于A的操作员表面图节点,该节点定义了第二个研究的溶液与第一个研究溶液之间的温度差。

在此表达式中,变量t外面用Sol操作员取自研究2(带标签'sol2'),而用Sol操作员从研究1,有标签'sol1'。所得图显示了整个域之间的温度差,在两项研究中温度相同的末端的差为0。

左侧的表面设置窗口和图形窗口的屏幕截图,右侧有温度图。 左侧的表面设置窗口和图形窗口的屏幕截图,右侧有温度图。
其中一个设置表面绘图节点,其中操作员和使用,以及在图形窗户。

比较同一研究中两个参数值之间的结果

在同一研究中的两个参数之间或瞬时研究中的两次参数之间也可以比较结果。如果我们在示例中不使用两项研究,而是仅使用一项在右侧具有参数化温度的研究,那么我们可以同样找到两个温度之间的差异。但是,我们需要使用扩展的版本用Sol运算符不仅要从我们要从哪种解决方案中提取结果,还要指定哪个参数值。这次,操作员看起来像这样:

使用SOL('tag',expr,setval(par,value))

这里,'标签', 和Expr与以前相同。什么是新的setval(par,value)。运营商setval是一个常用的操作员用Sol指定哪个值参数par应该有。

左侧的模型树的屏幕截图,选择了解决方案和表面节点,右侧的表面设置窗口,表达式突出显示,并包括withsol和setVal运算符。 左侧的模型树的屏幕截图,选择了解决方案和表面节点,右侧的表面设置窗口,表达式突出显示,并包括withsol和setVal运算符。 设置其中一个的窗口表面情节节点,其中用Solsetval运算符用于表达式。解决方案研究3包含在表达中,并突出显示模型构建器窗户。


这里,t是从我们情节的设置中获取的,所以研究3和200ºC的参数值。这用Sol操作员拾取变量的值t来自同一研究(带有标签'sol3'),但是当参数温度是100ºC。这是通过设置参数的值来完成的温度到'100 [degc]'setval操作员。该图给出了与上面图相同的结果。

将一项研究的结果作为另一个研究的输入

在模型中路堤坝中的斜率稳定性, 这原位计算孔隙压力和重力的应力,该研究的结果用作安全系数计算的初始应力。这原位使用用Sol操作员。

模型树和设置窗口的屏幕截图,用于初始应力和应变特征。 模型树和设置窗口的屏幕截图,用于初始应力和应变特征。 设置窗口初始应力和应变功能,其中用Sol使用操作员。

使用SOLSOL操作员的使用更高级

以更高级使用的示例用Sol操作员,请参阅模型支架 - 一般周期性动态分析。您可以在以下文件中的应用程序库中的结构力学模块的教程中找到它:

  • bracket_general_periodic.mph
  • models.sme.bracket_general_periodic.pdf

在该模型中,用Sol操作员用于从一项研究中提取频率依赖性载荷,并将其用作第二项研究中相应频率的输入。


提交有关此页面的反馈或联系支持