此示例演示如何使用灵敏度分析工具对设计空间进行采样和探索。您将探索连续搅拌槽式反应器(CSTR)的设计,以最小化产品浓度变化和生产成本。设计还必须考虑到反应器输入进料温度和浓度的不确定性。
您可以通过使用特征概率分布模型参数探索CSTR设计。您可以使用分布生成随机样本,这些样本点进行设计的蒙特卡罗评估。然后创建地块以可视化的设计空间,并选择最佳的设计方案。然后,用最好的设计作为设计的优化初始猜测。
连续搅拌槽反应器(CSTR)是在过程工业中常见的。Simu万博1manbetxlink模型,sdoCSTR
,模型的夹套中[1]中描述的非绝热(即,非绝热的)罐式反应器。假定CSTR被完全混合,用一个单一的第一阶放热和不可逆反应,。中,反应物被转化成,该产品。
在这个例子中,您使用以下两种状态CSTR模型,它采用的基本的会计和能量守恒原则:
和-CSTR和进料中A的浓度[kgmol/m^3]
,和- CSTR,饲料,以及冷却剂温度[K]
和- 体积流量[立方公尺/小时]和在CSTR中的材料的密度[1 /立方公尺]
和- 高度[米]和CSTR的加热横截面面积[m ^ 2]。
-指数前反应非热因素[1小时]
和- 活化能和反应热[千卡/公斤·摩尔]
- 玻尔兹曼气体常数[千卡/(公斤·摩尔* K)]
和-热容[kcal/K]和传热系数[kcal/(m^2*K*h)]
打开Simulin万博1manbetxk模型。
开放式系统('sdoCSTR');
假设该CSTR是圆柱形的,与施加到所述气缸的底部的冷却剂。调谐CSTR截面积,和CSTR高度,,以满足以下设计目标:
最小化残余浓度的变化,。中的残余浓度变化的CSTR产品的质量产生负面影响。最小化的变化也提高CSTR的利润。
冷却液平均温度最小化. 加热或冷却水套冷却液是昂贵的。冷却液平均温度的最小化提高了CSTR的利润。
进料至反应器的质量可以供应商之间不同。因此,设计必须允许在供应进料浓度的变化,,和进料温度,. 饲料的质量因供应商而异,而且在每个供应批次内也有所不同。
打开灵敏度分析工具。在Simulink模型中万博1manbetx应用选项卡,单击灵敏度分析仪下控制系统。该工具有一个空的敏感性分析会打开。
创建包含CSTR设计变量的参数集一个
和H
和进料的变化参数FeedConc0
和进料温度0
。您随机生成这些参数来评估CSTR设计多个值。
在里面敏感性分析选项卡,在选择参数下拉菜单中选择新。
在该对话框中,选择一个
,FeedCon0
,进料温度0
和H
。
请点击好. 空参数集,ParamSet
在创建参数集该工具浏览器的面积。
指定参数分布和相关性。ParamSet
将填充从指定的分布随机选择的参数值:
样品一个
从具有下界0.2米^ 2和上界2平方公尺的均匀分布。
样品H
从具有下界0.5米和上限3μm的均匀分布。
样品FeedConc0
从与平均10公斤·摩尔/立方公尺和标准偏差0.5公斤·摩尔/立方公尺正态分布。
样品进料温度0
从与平均295 K和标准偏差3 K.正态分布
指定FeedCon0
和进料温度0
与协方差0.6呈负相关。
使用上述分布和相关性信息100生成的参数值,点击产生价值,并选择生成随机值. 为了示例的重复性,重置随机数生成器。
rng公司('默认')
在里面随机生成的参数值对话框,指定下列内容:
设置的样本数为100
对于参数一个
选择制服分布,设置下限至0.2和上限为2。
对于参数FeedCon0
选择正常分布,集亩
10和西格玛
至0.5,并检查互相关
。
对于参数进料温度0
选择正常分布,集亩
295和西格玛
到3,然后检查互相关
。
对于参数H
选择制服分布,设置下限至0.5,上限为3。
在里面相关矩阵选项卡,设置FeedCon0
,进料温度0
协方差为-0.6。
请点击好以生成所述参数值。
该ParamSet
表与所生成的参数值来更新。请注意,您可以手动编辑在生成的参数值ParamSet
表。
要绘制参数设置点击ParamSet
在参数集该工具浏览器的面积。在里面地块选项卡,选中散点图在该地块的画廊。该图显示关于所述非对角线对角和成对的参数值生成的参数的直方图。
需要注意的是由于随机数发生器在下面的图和表的具体数值可能会从你所得到的运行示例时有所不同。
在图中的每个标记代表的一行ParamSet
表格,每行同时显示在所有绘图上。两者之间的相关性FeedCon0
和进料温度0
从情节上可以看出。
是必需的CSTR设计以最小化在残留浓度的变化和最小化均冷却剂温度。选择新要求并点击信号属性创建要求,以最小化残留浓度的变化。
在里面创建需求对话框,指定以下字段:
在里面属性下拉列表中,选择信号方差。
在里面类型下拉列表中,选择最小化。
在里面选择信号区域,选择要应用要求的记录信号。要执行此操作,请单击+。一个创建信号集
对话框打开,你指定所记录的信号。在Simuli万博1manbetxnk模型中,单击信号CA
输出CSTR
块。对话框现在显示该信号。信号添加到信号设置,然后点击好。
关闭通过点击右上角的对话框角落X的信号性能要求对话框。
关上创建需求对话框。新的要求,SignalProperty
在列要求该工具浏览器的面积
右击SignalProperty
, 选择改名;将需求重命名为ConcVar公司
。
选择新要求并点击信号属性创建要求,以最小化冷却剂平均值(块的输出sdoCSTR/控制器
)温度。
在里面创建需求对话框,指定以下字段:
在里面属性下拉列表中,选择信号平均。
在里面类型下拉列表中,选择最小化。
在里面选择信号区,添加sdoCSTR/控制器
信号通知的要求。
关上创建需求对话框。新的要求,SignalProperty
在创建要求工具浏览器的区域。重命名需求CoolMean
。
在里面敏感性分析选项卡,单击选择进行评估。默认情况下,选择了所有的要求进行评估。请点击评价模型评估ConcVar公司
和CoolMean
中每行参数值的要求ParamSet
. 注意,如果您有并行计算工具箱(TM),则可以使用并行计算或使用快速重新启动来加快计算速度。有关详细信息,请参阅Simulink设计优化中的“使用并行计算进行灵敏度分析”和“在灵敏度分析期间使用快速重启模式”™ 文档。万博1manbetx
显示每个参数VS每一个需求结果散点图模型评估期间被更新。在创建与评价结果的表评价结束时,在评价结果表中的每一行包含值一个
,FeedCon0
,进料温度0
,H
将得到的要求值ConcVar公司
和CoolMean
。评价结果存储在EvalResult
在变量结果工具的区域。
结果散点图EvalResult
显示,CoolMean
呈负相关性与H
(增加H
降低CoolMean
)和低的值H
可导致对高值ConcVar公司
。该图显示,低值一个
可导致对高值ConcVar公司
,但它不是从情节多么清晰一个
与相关ConcVar公司
要么CoolMean
或参数的影响ConcVar公司
最多。为了进一步研究,在统计选项卡,选中所有的分析方法和类型,然后点击计算统计。这对评价结果进行分析,并创建一个龙卷风图。龙卷风图显示每个要求每个参数的影响:
H
呈负相关性与CoolMean
,并且是参数的影响CoolMean
最多。
一个
呈负相关性与CoolMean
。
FeedCon0
和进料温度0
与负相关CoolMean
。
一个
呈负相关性与ConcVar公司
,并且是参数的影响ConcVar公司
最多。
H
呈负相关性与ConcVar公司
。
FeedCon0
和进料温度0
与混合相关ConVar
,但与最小的相关性ConcVar公司
。
分析表明H
, 减少CoolMean
并选择大一个
减少CoolVar
似乎是一个很好的设计选择。您可以通过创建的等高线图证实了这一点CoolMean
和CoolVar
与H
和一个
. 选择EvalResult
从结果该工具浏览器的面积,并在地块选项卡,在该地块画廊点击等高线图. 在等高线图上选择H
对于参数y请注意,大H
的中间值一个
为这两个低值ConcVar公司
和CoolMean
。
通过减少排序的评估结果表H
,并选择具有低的行ConcVar公司
和CoolMean
值。右键单击所选行并点击提取参数值。所提取的参数值被保存在参数值
在变量结果该工具浏览器的面积。这些参数值作为优化的初始猜测。
使用灵敏度分析工具中的数据创建要优化的优化问题一个
和H
。在里面敏感性分析选项卡中单击优化,并选择创建响应优化会话。这将打开一个对话框,从敏感性分析数据导入到响应优化工具。
同时选择ConcVar公司
和CoolMean
要求进口。
选择参数值
导入作为优化设计变量。
选择EvalResult
以进口为不确定变量,以优化过程中使用。
请点击好将数据导入到响应优化工具
配置响应优化工具来优化CSTR设计:
单击铅笔图标编辑参数值
设计变量集,并取出FeedCon0
和进料温度0
从设计变量设置变量。
选择EvalResult
为不确定变量设置,单击铅笔图标编辑EvalResult
和删除一个
和H
从不确定变量集。
添加迭代图怎么看变量参数值
(一个
和H
),并优化需求ConcVar公司
和CoolMean
优化过程中改变。
选择的变量要绘制的数据
下拉列表,然后选择迭代情节
在添加绘图
下拉列表。
请点击优化。
优化最小化CoolMean
和ConcVar公司
在各种情况下FeedCon0
和进料温度0
。
要了解如何使用探索CSTR设计空间sdo.评估
命令,见设计探索使用参数采集(代码)。
[1] 贝奎特,B.W。过程动态:建模,分析和仿真。第1版。上马鞍河,NJ:Prentice Hall出版社,1998年。
关闭模型
bdclose('sdoCSTR')