玩转Matlab-Simscape(初级)- 06 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(理论部分2)

4 篇文章 0 订阅
4 篇文章 0 订阅

**

玩转Matlab-Simscape(初级)- 06 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(理论部分2)

**


前言

学完《玩转Matlab-Simscape(初级)》系列博客的前三节 ,我发现应用Maltab simscape对多体进行仿真时,如果要研究一个刚体系统的动力学的行为,在Matlab Simscape中还是相对好处理的,但如果3D模型再复杂些,研究的结构中个别组件为柔性体(即对一个复杂刚柔耦合系统的控制进行仿真),或者想要了解系统组件中某个特殊位置的状态,在Matlab Simscape中进行分析,现阶段对我来说貌似有些困难,所以,今天我跳转介绍下COMSOL Multiphysics with Simulink。该部分主要想解决后续可能遇到的复杂3D刚柔耦合控制系统的仿真问题。
本文通篇概述基于Solidworks、Matlab Simulink、COMSOL进行协同仿真的理论基础部分。欢迎各位小伙伴关注、赞赞、留言和收藏。
(Matlab的这种刚柔耦合控制仿真分析模块我还没学习到,待掌握了解后跟此文方法会做个对比研究。😄)


1 Simulink与COMSOL协同仿真简介

  • 任何时间相关的或静态的COMSOL模型都可以与Simulink一起用于联合仿真;
  • 基于COMSOL模型导出状态空间模型为总自由度(DOFs)的线性化模型,是模态降阶的线性化模型,对于某些物理场,需要有额外的模块,以便能够建立执行模态分析所需的模态研究;

2 降阶模型简介

降阶模型可以用于模型分析和控制设计,以及提高仿真性能。可以用COMSOL模型的线性化状态空间表示。由于有限元模型通常具有非常高的自由度o(╯□╰)o,因此需要提取自由度更少的降阶模型。

3 降阶模型的应用

COMSOL Multiphysics提供了基于特征值解生成线性化的降阶模型的功能。与完整模型相比,简化后的系统具有更少的自由度(DOFs)。
从降阶模型中,使用LiveLink™for Simulink®检索以下系统的状态空间矩阵:
在这里插入图片描述
上述动态系统的另一种表示是:
在这里插入图片描述
后一种形式更适合于大型系统,因为矩阵MC和MCA通常是稀疏的,而A是密集的。

3.1 创建降阶模型

为了创建一个降阶模型,模型中必须有三项研究:
•时间研究
•本征频率研究
•包括模型简化研究步骤的研究。
注意:若要在COMSOL桌面中启用降阶建模,请右击“研究”选择“显示更多选项”,然后选择“降阶建模” 。
在这里插入图片描述

3.2 提取降阶状态空间矩阵

一般在Matlab中使用mpphreduction函数来提取模型的状态空间矩阵。
假设有这样一个传热模型:该传热模型包含一个热源,其热源被设置为状态空间系统中的输入。将某一特定点的温度作为输出。下面一步一步的来获得状态空间矩阵,并在Simulink中求解系统。

    1. 要创建降阶模型,首先向模型添加一个未降阶模型研究和一个训练研究。其中,
      ①创建的“未降阶模型研究”需要运行求解,确保模型求解没问题。
      ②一般会添加“域点探针”(右键组件→探针→域点探针),用于定义降阶模型的输出。
    1. 接下来,创建一个“空研究”
      ①在将“降阶研究”添加到模型前,需要设置降阶模型的输入。右键单击“全局定义”→选择“降阶建模”→“全局降阶模型输入”
      ②在“空研究”中右键添加“模型降阶”。
      在“模型降阶设置”中,对“特征模态的培训研究”、“特征模态的研究步骤”、“为降阶模型研究”、“由研究步骤定义”,以及“输出变量”进行设置和定义。
    1. 点计算生成降阶模型。
    1. 在Matlab中提取状态空间矩阵
      ①在MATLAB命令窗中输入如下命令,加载刚刚创建的模型:
    Model = mphload(<modelname>)
    ```其中<modelname>是Model mph文件的名称
    

    ②调用mphreduction会创建仿真降阶系统所需的状态空间矩阵。

       MR = mphreduction(model, 'rom1',…)
       	'out', {'MA' 'MB' 'C' 'D' 'Mc'})`
    
    
    1. 在Simulink中运行仿真
      其中,状态空间模块的设置如下:
      在这里插入图片描述
      out 属性/值对
      洁净间在这里插入图片描述方法
      在这里插入图片描述

      在这里插入图片描述

3.3 提取全阶状态空间矩阵

在Matlab中使用mphstate函数可以提取全阶模型的状态空间矩阵。优点是,它不需要特征值解;这种方法在多物理场问题的
情况下是有用的。从完整模型中获得的状态空间矩阵比从降阶模型中获得的矩阵大得多。(暂时用不到这个功能,先不研究这块了。O(∩_∩)O)


总结

以上就是今天分享的关于COMSOL Multiphysics with Simulink 的理论基础内容第二部分,简单分享了应用COMSOL Multiphysics with Simulink进行控制仿真的第二种方法(状态空间法替代模型)。详述了在Comsol中创建降阶模型,在Matlab中提取降阶状态空间、全阶状态空间,迎各位小伙伴关注、赞赞、留言和收藏。

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值