问题描述

我应该如何建模在特定时间改变幅度的负载?

我正在求解一个瞬态模型,该模型的载荷会在及时立即变化,但是求解器似乎缺少了负载中的某些更改。如何使求解器正确识别负载何时更改?

解决方案

背景

许多时间依赖的问题是由仅针对时间的第一个衍生物的部分微分方程来建模的。此类方程的常见示例包括传热方程和化学物种传输方程,但是任何抛物线偏微分方程的行为都类似:该溶液的瞬态行为的特征是对负载变化的呈指数衰减的响应。该软件的默认行为是假设解决方案和所施加的负载在及时变化。但是,如果施加的负载在及时立即变化,则应使用事件接口以使软件有效,准确地处理这些更改。

另一方面,如果您的模型涉及第二次衍生物,例如瞬态电磁波和瞬态压力声音公式以及瞬态结构问题,则解决方案场将是波浪状的,并且此类情况被解决知识基础1244:解决载荷中的步骤变化解决波型问题

解析度

首先添加事件接口到模型。该界面在物理列表中找到数学> ODE和DAE接口>事件

用于建模变化负载,事件接口提供四种不同类型的功能:离散状态,,,,指标状态,,,,明确的事件, 和隐性事件。当事件触发时,默认情况下,它将始终基于先前的解决方案和新负载初始化所有变量。如果您希望突然更改,则可以选择地将某些(或所有)离散状态,全局或字段变量重新定义为不同的值。

定期脉冲载荷和显式事件

显式事件当您知道负载变化的时间时,例如在对脉冲负载进行建模时,应使用功能。它通常与离散状态用于修改边界条件的功能。您也可以指定事件期定期重复负载变化。如果应用重复的脉冲负载,请使用两个显式事件,一个在转交时触发,另一个在关闭时间触发。

例如,考虑一个脉冲热负荷,该脉冲载荷持续一秒钟,然后关闭,此循环每三秒重复一次。这需要一个明确的事件才能在热负载打开时触发,而当它关闭时另一个事件。这些事件应每三秒重复一次,并且应修改热负荷。热载的修改可以通过离散状态特征进行,如下屏幕截图所示。实现这些功能的示例文件也可以通过底部的链接下载。

离散状态接口

离散状态接口定义了一个状态变量,该变量可以在事件触发时可以更改。

修饰热负荷

离散状态可用于修改热负荷。

触发事件

显式事件重新引入离散状态,该状态打开负载。

修饰热负荷

显式事件重新引入离散状态以关闭负载。

定期脉冲负载没有事件

如果您的载荷相对于仿真时间跨度非常快地脉冲,请考虑将脉冲负载近似为循环平均恒定负载。

例如,如果您是由于10W负载而建模的,该加热量为100毫秒,并且在总模拟时间内在400毫秒内熄灭了400毫秒,则比脉搏周期时间长很多倍,那么您很可能无需明确对每个脉冲引起的温度升高和下降模型。取而代之的是,以总时间为单周(100毫秒),除以总周期时间(在这种情况下为500毫秒)以获得2W周期平均热负载。这种方法将更快地解决,尤其是对于快速脉冲,并且如果您不需要由于每个脉冲而确切捕获温度升高,尤其是合适的。

随着时间的推移,恒定的,循环平均的热负荷(黑线)可以是快速脉冲负载(红线)效果的良好近似值。

有条件的脉冲载荷和隐式事件

隐式事件由于模型中发生在某些未知时间(例如Bang-bang或Thysthterticatic Control的情况下),应隐含载荷发生变化时,应使用功能。必须与指标状态功能,定义指示器变量。指示器状态变量用于触发隐式事件时,当指示器状态变量更改符号以及隐式事件条件从false变为true时。

例如,考虑最初在20°C的模型并加热,直到平均温度高于95°C。在那个时间点,加热器应关闭。如果平均温度下降到90°C以下,则加热器应重新打开。与上述示例一样,使用离散状态来控制热负荷,但是在这种情况下初始值设置很重要。在这种情况下,最初必须是一个,表明加热器已打开,并且将通过触发的隐式事件进行修改。

离散状态接口

离散状态最初设置为一个。

要监视模型中域的平均温度,请使用平均组件耦合操作员,如知识库913:计算时间和空间积分以及一个存储平均温度的变量,如下屏幕快照所示。

定义变量

定义组件耦合操作员和变量。

受监视的解决方案变量(在这种情况下为平均温度变量)在指标状态定义两个指示灯状态的功能,这些指标状态可能导致隐式事件触发。第一个指标状态定义TOOHOT = Averagetemp-95 [DEGC]第二个定义toocold = averagetemp-90 [degc]。请记住,只有当指标状态更改符号时,隐式事件才能触发。

定义指标状态

定义两个指标状态。

两个指标状态在两个不同的隐式事件特征中使用,第一个态在该条件下触发Toohot> 0当平均温度高于95°C时,它从虚假到true。当此事件触发时,开关离散状态设置为零,关闭热负载。第二种条件触发条件toocold <0当平均温度下降到90°C以下并设置时,它从虚假到真开关一个人,将负载重新打开。

隐式事件接口

两个隐式事件用于实施恒温控制。

如下屏幕截图所示,求解器将触发隐式事件的精度受到事件公差的控制。如果您要观察事件的过度和不足,请使此值较小,0.001例如。实现这些功能的示例文件也可以通过下面的链接下载。

指定事件公差

在哪里更改事件公差。

使用事件时的求解器选项

默认情况下,该软件只能在您在时间依赖的学习步骤设置中指定的时间保存结果。您可能还希望在触发任何明确或隐式事件之前和之后立即存储解决方案。这可以通过修改时间相关的求解器设置来完成。在输出部分中,启用事件前后存储解决方案,如下屏幕截图所示。

商店解决方案

求解器设置可以在事件发生前后的解决方案存储。

也可以看看:

知识库1255:减少模型中存储的数据量

知识基础1254:控制时间依赖的求解器时间段

知识库1240:手动设置变量的缩放

知识基础1127:改善非线性时间依赖性模型的收敛性