comsol显示电场计算结果_在 COMSOL 中构建磁流体动力学多物理场模型

COMSOL Multiphysics® 软件中的模型都是从零开始构建的,软件支持多物理场,因此用户可以按照自己的意愿轻松地组合代表不同物理场现象的模型。有时这可以通过使用软件的内置功能来实现,但有些情况下,用户需要做一些额外的工作。我们以构建磁流体动力学(MHD)模型为例介绍一下这个工作流程。

磁流体动力学的多物理场建模

MHD 现象的建模本质上是一个多物理场问题;必须用数值方法求解流体流动、电流和磁场之间的耦合问题。这些不同的场都是由偏微分方程描述的,可以通过有限元方法求解。

f799105b5d41c8ab633fd99f53ae965c.png

施加电流时两个磁体之间通道中导电流体的 MHD 问题。我们看看如何在一个相对简单的问题背景下进行建模:如上所述,绝缘的矩形通道内为不可压缩导电流体,这个通道连接两个流体静压相等的无限大容器(未建模)。有两个电极穿过流动通道在两侧伸出,通过施加电势差驱动电流通过流体。此外,在上方和下方分别放置一个圆形磁铁。磁体产生静磁场7d80a180b5e72f0d3f9ac2fce8eb24e1.png,使得具有导电性 854426264e4502b6ba9942a66b024a9d.png以一定速度 852e85c2658e0c2ff06d3279af67889d.png移动通过该磁场,从而产生感应电流。77bdfcdbbe5ab418bb5457f24c37c228.png。除了这些感应电流之外,由于电势场的边界条件,还会产生电流 2a7bd476e6195f37a06c8ed19285ccae.png,因此流体中的总电流变为:

ff80f0f40630d24f364a8068dd2ba437.png

流经磁场的电流将对流体产生体积力 4cf87f9f3dd4dec81823116c88c49488.png,并将流体从一个容器泵送到另一个容器。我们假设系统在稳定状态下运行。

耦合电场、磁场和流场

对于这个问题,我们需要求解流体中的偏微分方程组来描述电场和磁场。方程式为:60c4b9ebbc465c0f5bd275ab42668cca.pngb6172e5560d24d05f363c91bdfd99d6d.png这组方程通过磁场和电场接口(AC/DC模块的一部),使用安培定律和电流守恒特征以及单独的速度(洛伦兹项) 特征求解。在移动流体周围的空间中,没有电流,所以我们只需求解单矢量方程:

be9f27f4131100e873419d46f331bd1a.png

其中ee9b4132cf72fcc490d85f4295b1351d.png是剩余磁通密度,它仅在磁域中非零。当单独求解上述方程时,请使用磁场和电场接口中的安培定律特征。我们假设通道壁的属性不影响场,因此在模型中忽略它们。使用一组材料属性和边界条件来给出说明性结果。任何位置的磁场边界条件都是磁绝缘条件, xy 平面除外,该平面采用理想磁导体条件来利用系统的对称性。表示电极的域必须一直延伸到建模域的边界,接触磁绝缘边界,以提供电流返回路径。电压型接地和终端条件应用于这些外表面,而电绝缘条件应用于所有其他适用的边界。此外,我们还需要求解通道中的流场。我们假设流动是层流,从而在通道域中求解纳维-斯托克斯方程。如果流动是湍流,我们可以添加一个湍流模型。开放边界条件应用于通道的两端,表压为零。对称条件应用于 xy 平面。计算域如下图所示。

45231502a5704565a3dfba0f3a3da83e.png

计算域和边界条件。流动将由流体中电流和磁场的相互作用产生的体积力 47bf29870cc228a2e9f9deee4e4d1c7f.png。这个力的表达式没有内置到软件中,所以在这里我们需要做一些手工操作。我们需要找到电流和磁场分量的内置表达式,可以通过查看方程视图并生成报告来实现,如知识库条目中关于实现用户定义的多物理场耦合的描述。这些内置表达式用于定义流体上的体积力,如下面的屏幕截图所示。

c087a48c81618cfe43b5df6aadddc74d.png

显示计算力分量的变量的屏幕截图。最后,要将计算出的速度场耦合回电磁问题,请使用磁场和电场接口中的速度(洛伦兹项) 特征,如下面的屏幕截图所示。请注意,软件会自动将流体速度场识别为此特征的输入。非常简单!这两个物理场之间的耦合现在完全实现了。

3b35010e324a6f700b05d2ce88e9e521.png

显示速度如何耦合到磁场和电场接口的屏幕截图。

MHD 问题的网格划分和求解

说到单元网格划分和单元阶次,这里一个重要的问题是模型的计算量。求解流体和周围域中的磁场和电场是模型中计算量最大的部分,因此我们希望将整个模型中的网格单元总数保持最少。基于线性静态问题的一些经验法则,我们可以说至少具有二阶单元是一个很好的起点。因此,我们将流体流动的离散化转换为 P2 + P2 离散化,这意味着速度和压力都用二阶基函数来描述。磁场和电场都用二阶离散化来描述。由于所有场都被离散化为至少二阶,因此几何形状的阶次也将自动变为二阶。对可选网格阶次和网格大小的全面调查留给有积极性的读者作为练习。求解时,软件将自动采用所谓的分离方法,在确定电磁场和速度场之间来回切换,并计算这些场的线性子系统,每个子系统都有自己的优化迭代求解器。由于这种多物理场问题本质上是非线性的,因此了解解决此类问题时可能出现的难题以及如何解决这些难题通常也很有帮助,正如此条知识库条目中关于提高非线性稳态模型的收敛性所述。多物理场分析的结果如下图所示。我们观察到明显的泵送效应:施加的电压导致电流流过流体,当这些电荷在磁场中移动时,它们会受到一个力的作用,这个力被传递给流体。

a0e85a563cf6bf3dfe49d4f1bf2b5ca6.png

由于 MHD 多物理场耦合引起的流体泵送的结果图。

简化 MHD 模型

到目前为止,我们已经建立了一个包括磁场、电流和流体流动的模型,我们考虑了所有物理场方程之间的双向耦合。也就是说,每一种物理场现象都会影响其他物理场现象。但事实证明,对于这种特殊情况,我们不需要这样做。接下来我们看一下其中的原因,以及它如何让我们的模型更简单。如果我们回过头来看一下之前的所有控制方程,我们可以看到只有两个方程引入了物理场现象之间的耦合。方程 4cf87f9f3dd4dec81823116c88c49488.png由于电流和磁场而对流体施加一个力,还有一个方程 

34f2e3500f1f46d16e8e0c23ac5f42e6.png

后一个方程表明,电流是由于外加电压边界条件以及导电流体通过磁场的运动而产生的。但是,如果我们假设前一项远大于后一项(即5b75ea58523b7899296ec0eba5bebb18.png),那么我们将当前的方程简化为:080cfa1cf933c8ce427ac384f59ae945.png。这意味着流体流动问题不会影响电流,流动方程可以与电磁场方程完全分开求解。也就是说,我们可以首先求解电磁场,一旦知道了电磁场,就使用这些场作为流动问题的输入,从而使问题单向耦合。我们还可以进行额外的简化。严格地说,磁场是由磁铁和电流引起的。然而,对于我们这里分析的边界条件和材料特性,由于电流产生的磁场远小于由磁体引起的磁场。因此,我们可以做出简化的假设,即磁场仅仅是由于磁铁而产生的;也就是说,电流不会产生明显的磁场。这样,我们可以在无电流假设下求解磁场,并分别使用磁场,无电流和电流接口求解电流。这些物理场接口具有与前面讨论的类似的一组边界和域条件。磁场,无电流接口定义了方程 9d9704aa4e491845d622b09b81db704f.png,该方程的计算量远低于磁场和电场接口中定义的方程组。此外,这个方程可以独立于电流求解。

618446b08612897601ac6cfcb311f29a.png

显示简化模型设置的屏幕截图。上面的屏幕截图显示了分析这些简化后新模型的设置。流体上体积力的表达式将使用不同的变量名,但除此之外,该模型与之前非常相似。请注意,三个不同的物理场接口在三个单独的研究步骤中求解。磁场,无电流和电流接口方程可以分别求解,两者都必须在层流接口方程之前求解。

55646b7b5ad0cf7da6d49103fa9ac2e9.png

简化的 MHD 模型的结果。与完全耦合的情况相比,求解这种简化模型时,求解时间将大大减少,这是因为,物理场方程是分开求解的,软件不需要在它们之间进行迭代。从上面显示的结果我们可以看出,这些解几乎与之前未简化的情况相同。当然,我们所做的这些假设和简化确实有其局限性,因此对照完整的模型进行检查是没有坏处的,但 COMSOL Multiphysics 平台具有强大的功能和灵活性,我们可以用它来轻松构建简化模型和完整模型,对它们进行比较,并根据需要进行修改。你准备好开始你自己的多物理场建模了吗?

0f2a98a539b87e0d97cb4874d7aada60.gif

推荐阅读

分析大型强子对撞机的超导磁体失超如何在 COMSOL 软件中对铁磁材料进行建模?

314ab5d220417a5bb21ceef2b98e0ce0.png

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

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

相关文章

数据挖掘初次接触!学习代码

import pandas as pd import numpy as np from time import timedatapd.read_csv("dankuan.csv",sep;,index_col0) #打开表 data.head() #查看前几行的数据,默认前5行 data.describe() #数据的快速统计汇总 data.g4_term_type.value_counts() data2data.fillna(value…

心率过100怎么处理_心跳每分钟超过100次,为何血压很正常?心跳太快该怎么办?...

在人们的心中一个人要是心跳速度很快,那么就意味着血压升高了。大家也知道正常情况下,每分钟心跳在55下到100下之间,都是正常情况。不过,现在有很多人心跳虽然很快,每分钟都超过100次了,但是一检查血压还是…

python卷子_Python试卷

3、写一个函数&#xff0c;计算一个给定的日期是该年的第几天。def getday(self,yNone,mNone,dNone):date datetime(y,m,d)days date.strftime(%j)return days4、写一个函数&#xff0c;给定N&#xff0c;返回斐波那契数列第N项。def getn_vlaue(self,n):if n<2:return 1e…

JS日期选择器

<html><head><title>JS日期选择器</title><script type"text/JavaScript">function HS_DateAdd(interval, number, date) {number parseInt(number);if (typeof (date) "string") {var date new Date(date.split("-…

微运行库2015_vc++2015运行库下载_vc++2015运行库64位官方下载「vc2015」-太平洋下载中心...

常见问答&#xff1a;(1)win10安装vc2015提示错误0x80070666如何解决&#xff1f;步骤&#xff1a;前提需要通过程序和功能 将旧版的vc 卸载1、首先下载"VC6.0垃圾文件清理工具"&#xff1b;2、将下载的到压缩包解压出来&#xff1b;3、打开文件夹&#xff0c;在Copy…

python爬silverlight_Python创建Silverlight控件编写过程经验分享

Python编程语言可以帮助我们实现哪些功能呢&#xff1f;它的主要应用范围都包括哪些呢&#xff1f;我们今天先来了解一下有关Python创建Silverlight控件的相关实现方法&#xff0c;以此来初步熟悉一下这一语言的应用方式以及功能特点。其实关注Silverlight很久了&#xff0c;只…

RGB转LAB色彩空间

https://www.cnblogs.com/hrlnw/p/4126017.html 1.原理 RGB无法直接转换成LAB&#xff0c;需要先转换成XYZ再转换成LAB&#xff0c;即&#xff1a;RGB——XYZ——LAB 因此转换公式分两部分&#xff1a; &#xff08;1&#xff09;RGB转XYZ 假设r,g,b为像素三个通道&#xff0c;…

fileitem方法_FileItem的常用方法

下面介绍FileItem类中的几个常用的方法&#xff1a;1. isFormField方法isFormField方法用于判断FileItem类对象封装的数据是否属于一个普通表单字段&#xff0c;还是属于一个文件表单字段&#xff0c;如果是普通表单字段则返回true&#xff0c;否则返回false。该方法的完整语法…

python hack库_常用的Python库

Tkinter———— Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块&#xff0c;Tkinter库提供了对Tk API的接口&#xff0c;它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言&#xff0c;用于简化shell下复…

Java异常介绍及Spring Boot统一异常处理

1. 异常介绍 Java异常处理是Java编程语言中用于处理程序运行时出现的异常情况的一种机制。异常情况指的是程序运行过程中出现的非正常情况&#xff0c;比如除以零、数组越界、空指针访问等。Java异常处理机制可以帮助程序员更好地管理这些异常情况&#xff0c;保证程序的稳定性…

React- jsx的使用可以渲染html标签 或React组件

React 的 JSX 使用大、小写的约定来区分本地组件的类和 HTML 标签。既渲染html标签需要使用小写字母开头的标签名而渲染本地React组件需要使用大写字母开头的标签名 注意: 由于 JSX 就是 JavaScript&#xff0c;一些标识符像 class 和 for 不建议作为 XML 属性名。作为替代&…

bigdecimal保留4位小数_四年级数学小数的加减乘法知识点汇总,带练习!

张老师 - 4年级(多品小学教育)顺城中心小学郭老师和环县虎洞中心小学谭老师需要的这份学习资料现在分享。本资料已制作电子版下载码是&#xff1a;76qa32vd《小数的加减乘法》知识点一、小数加、减法的计算法则(1)小数点要对齐&#xff0c;也就是相同数位要对齐&#xff1b;相同…

python 字符串 4位一组_Python基础4- 字符串

Python字符串是由数字、字母、下划线组成的一串字符,我们可以使用引号来创建字符串。如:str Helloworld在Python中没有char类型,单个字符也作为string使用;Python的字符串列表有2种取值顺序&#xff1a;A.自左向右,默认索引从0开始,索引长度最长为字符串长度-1B.自右向左,默认…

学python编脚本_python 学习写脚本

学习python中&#xff0c;练手&#xff01;模拟注册登录的例子写的一个简单的脚本#!/usr/bin/env python#--coding: utf-8 --#如果需要开启输入密码不可见&#xff0c;请去掉所有含getpass的代码行的注释&#xff0c;并注释相关的行。此行为注释说明#import getpass#确认python…

毕业设计后续工作目标

周数 工作内容 10周 周一 1.需求调研模块&#xff1a;人员&#xff0c;设备&#xff0c;资金&#xff0c;日程的设置及进程管理 周二 1.需求分析和调研模块&#xff1a;完成用例图&#xff0c;交互图和用例文档的上传、查看及保存 周三 1.生成软件需求规格说明书&#…

vs未指定启动文件_高效开发利器之自定义模板文件

简介越来越多的设计模式, 最佳实践, 优化了软件开发方式, 提高了软件质量, 但是也带来了大量的类似的文件. 比如说: 现在都使用三层模式来开发Web程序, 都会有服务层(Service), DI的流行, 每个服务类都会自动注入一些固定的对象, 日志对象, 缓存对象等等. 实体类(Entity)到DTO对…

react-router 4.0 学习笔记

1、安装react-router-dom 2、页面上要使用的时候要引入  import {BrowserRouter as Router,Route,Link } from react-router-dom 3、使用的时候要在外层包一个<Router> 4、param 在路径上如果带有/:id类似这种的&#xff0c;要取值的时候&#xff0c;match.params.id取…

分数优先遵循志愿php源码_2021年南昌中考志愿填报指导,这七大要点你都了解吗?...

中考是孩子即将面对人生的第一个十字路口&#xff0c;家长们也因此开始为孩子的未来紧张。都说选择大于努力&#xff0c;给孩子选一个适合的学校也很重要&#xff0c;为了大家可以更好的填报志愿&#xff0c;小编为大家汇总了这份指南&#xff0c;快来一起看看吧~1、认清自己&a…

gin ip 和 本地访问的结果不一样_golang web开发——gin实战之整合swagger

背景如果我们之前搞过java web开发&#xff0c;我们应该都知道swagger这个API文档自动生成利器&#xff0c;有了swagger可以方便我们与客户端的联调&#xff0c;基本上是一目了然&#xff0c;swagger支持java&#xff0c;自然它也能支持golang的gin框架&#xff0c;本小节&…

常用运算符和表达式

运算符在程序中应用广泛&#xff0c;尤其在计算功能中&#xff0c;常常需要大量的运算符。运算符结合操作数&#xff0c;便形成了表达式&#xff0c;并返回运算结果。 一. 运算符 1.算术运算符 算术运算符用于对数值数据进行计算。 在C#语言中&#xff0c;根据两个操作数的类型…