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

**

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

**

目录

    • 玩转Matlab-Simscape(初级)- 06 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(理论部分2)
  • 前言
  • 1 Simulink与COMSOL协同仿真简介
  • 2 降阶模型简介
  • 3 降阶模型的应用
    • 3.1 创建降阶模型
    • 3.2 提取降阶状态空间矩阵
    • 3.3 提取全阶状态空间矩阵
  • 总结


前言

学完《玩转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中运行仿真
      其中,状态空间模块的设置如下:
      在这里插入图片描述
      在这里插入图片描述

3.3 提取全阶状态空间矩阵

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


总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/12460.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

风电功率预测 | 基于GRU门控循环单元的风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测 | 基于GRU门控循环单元的风电功率预测(附matlab完整源码)完整代码风电功率预测 | 基于GRU门控循环单元的风电功率预测(附matlab完整源码) 完整代码 clc; clear close allX = xlsread(风电场预测.xlsx)

python数据分析——seaborn绘图2

参考资料&#xff1a;活用pandas库 # 导入库 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns tipspd.read_csv(r"...\seaborn常用数据案例\tips.csv") print(tips.head()) 1、成对关系表示 当数据大部分是数据时&#xff0c;可以使用…

分享一个基于Qt的Ymodem的上位机(GitHub开源)

文章目录 1.项目地址2.Ymodem 协议介绍3.文件传输过程4.使用5.SecureCRT 软件也支持Ymodem6.基于PyQt5的Ymodem界面实现案例 1.项目地址 https://github.com/XinLiGH/SerialPortYmodem 基于VS2019 Qt5.15.2 编译&#xff0c;Linux下编译也可以&#xff0c;这里不做说明。 2.…

Python | Leetcode Python题解之第89题格雷编码

题目&#xff1a; 题解&#xff1a; class Solution:def grayCode(self, n: int) -> List[int]:ans [0] * (1 << n)for i in range(1 << n):ans[i] (i >> 1) ^ ireturn ans

如何在云电脑实现虚拟应用—数据分层(应用分层)技术简介

如何在云电脑实现虚拟应用—数据分层&#xff08;应用分层&#xff09;技术简介 近几年虚拟化市场实现了非常大的发展&#xff0c;桌面虚拟化在企业中应用越来越广泛&#xff0c;其拥有的如下优点得到大量企业的青睐&#xff1a; 数据安全不落地。在虚拟化环境下面数据保存在…

STL库简介

一、STL库的概念 STL&#xff1a;是C标准库的重要追组成部分&#xff0c;不仅是一个可以复用的组件库&#xff0c;而且还是一个包含了数据结构和算法的软件框架。 二、STL的版本 原始版本 Alexander Stepanov、 Meng Lee 在惠普实验室完成的原始版本&#xff0c; 是一个开源…

JVM 双亲委派机制详解

文章目录 1. 双亲委派机制2. 证明3. 优势与劣势 1. 双亲委派机制 类加载器用来把类加载到 Java 虚拟机中。从JDK1.2版本开始&#xff0c;类的加载过程采用双亲委派机制&#xff0c;这种机制能更好地保证 Java 平台的安全。 1.定义 如果一个类加载器在接到加载类的请求时&…

react组件渲染性能优化之函数组件-useCallback使用

useCallback主要就是对函数进行缓存,useCallBack这个Hooks主要是解决React.memo不能缓存事件的问题 useCallBack(fn, dependencies) &#xff1a;fn想要缓存的函数&#xff0c;dependencies有关是否更新 fn 的所有响应式值的一个列表 比如&#xff1a;UseCallBackOptimize组件…

(done) NLP+HMM 协作,还有维特比算法

参考视频&#xff1a;https://www.bilibili.com/video/BV1aP4y147gA/?p2&spm_id_frompageDriver&vd_source7a1a0bc74158c6993c7355c5490fc600 &#xff08;这实际上是 “序列标注任务”&#xff09; HMM 的训练和预测如下图 训练过程&#xff1a;我们首先先给出一个语…

做一个桌面悬浮翻页时钟

毛玻璃效果翻页桌面悬浮时钟&#xff0c;TopMost&#xff08;Topmost“True”&#xff09;&#xff0c;不在任务栏显示&#xff08;ShowInTaskbar“False”&#xff09;&#xff0c;在托盘区显示图标&#xff0c;双击托盘区图标实现最小化和还原&#xff0c;右键托盘图标可选“…

常见网络攻击及解决方案

网络安全是开发中常常会遇到的情况&#xff0c;为什么会遇到网络攻击&#xff0c;网络攻击是如何进行的&#xff0c;如何抵御网络攻击&#xff0c;都是我们需要思考的问题。 为什么会遇到网络攻击&#xff1f; 以下是一些主要的因素&#xff1a; 技术漏洞&#xff1a;软件或操…

web学习记录--(5.14)

1.Sublime安装与汉化 直接点击windows即可下载&#xff0c;安装即可 Thank You - Sublime Text 汉化 Install Package ChineseLocalzation 2.PHPstorm下载以及激活,汉化 直接下载&#xff0c;然后找激活码激活即可 汉化 plugins&#xff08;插件&#xff09;/chinese&…

SpringBoot接收参数的19种方式

https://juejin.cn/post/7343243744479625267?share_token6D3AD82C-0404-47A7-949C-CA71F9BC9583

未授权访问:ZooKeeper 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验&#xff0c;一共有好多篇&#xff0c;内容主要是参考先知社区的一位大佬的关于未授权访问的好文章&#xff0c;还有其他大佬总结好的文章&#xff1a; 这里附上大…

在Ubuntu中如何解压zip压缩包??

2024年5月15日&#xff0c;周三上午 使用 unzip 命令 unzip 文件名.zip这会将压缩包中的内容解压到当前目录。如果想解压到特定目录&#xff0c;可以使用 -d 选项&#xff0c;例如&#xff1a; unzip 文件名.zip -d 目标目录使用 7-zip 还可以安装 7-zip 工具来解压 ZIP 文件。…

【Python探索之旅】冒泡排序(三种方法)

前言 算法步骤&#xff1a; 代码实现 方法一、嵌套循环 方法二 while循环 方法三、使用生成器表达式 解释&#xff1a; 时间复杂度&#xff1a; 完结撒花 前言 冒泡排序是一种简单的排序算法&#xff0c;它也是一种稳定排序算法。其实现原理是重复扫描待排序序列&#xf…

2025年第十一届北京国际印刷技术展览会

2025年第十一届北京国际印刷技术展览会 展览时间&#xff1a;2025年5月15-19日 展览地点&#xff1a;北京中国国际展览中心&#xff08;顺义馆&#xff09; 主办单位&#xff1a;中国印刷及设备器材工业协会中国国际展览中心集团有限公司 承办单位&#xff1a;北京中印协华港国…

海思Hi3065H 200MHz 高性能 RISCV32 A² MCU

这是一款海思自研的RISCV32内核的高性能实时控制专用MCU&#xff0c; 具有高性能、高集成度、高可靠性、易开发的特点&#xff0c;同时还有嵌入式AI能力。 CPU • RISC-V200MHzFPU 存储 • Up to 152KB Code Flash • 8KB Data Flash • 16KB SRAM 个人认为这是MCU梯队非常…

[Linux][网络][高级IO][IO多路转接][select][poll]详细讲解

目录 1.IO多路转接之select1.初识select2.select()3.关于fd_set结构4.关于timeval结构5.理解select执行过程6.select就绪条件7.select特点8.select优点(任何一个多路转接方案&#xff0c;都具备)9.select缺点10.select的一般编写代码的模式11.思考 && 问题 2.IO多路转接…

【PB案例学习笔记】-02 目录浏览器

写在前面 这是PB案例学习笔记系列文章的第二篇&#xff0c;该系列文章适合具有一定PB基础的读者&#xff0c; 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上…