常用计算电磁学算法特性与电磁软件分析

常用计算电磁学算法特性与电磁软件分析

参考网站:
计算电磁学三大数值算法FDTD、FEM、MOM
ADS、HFSS、CST 优缺点和应用范围详细教程

## 基于时域有限差分法的FDTD的计算电磁学算法(含Matlab代码)-框架介绍
参考书籍:The finite-difference time-domain method for electromagnetics with MATLAB simulations(国内翻译版本:MATLAB模拟的电磁学时域有限差分法)
代码推荐:The finite-difference time-domain method for electromagnetics with MATLAB simulations的附件代码

1、计算电磁学算法与软件

1.1 经典计算电磁学算法

电磁模拟有三种主要的数值方法: FDTD, FEM和MOM,每种方法都最适合特定的情况,各有优缺点。

  1. FDTD算法:采用差分直接离散时域Maxwell方程,电磁场的求解基于时间步的迭代,无需存储全空间的电磁场信息,内存消耗较小,同时采用立方体网格和差分算法,网格形式和算法均十分简单,计算速度快,基于时域算法,特别适合“宽带问题”的求解。但是,简单的立方体方体网格带来的弊端就是模型拟合精度较低,对于含有精细结构的模型,计算精度较低,同时基于“微分方程”,计算区域需要设置截断
    总结:FDTD比较适合于不含有较多精细结构的电大尺寸模型的电性能计算以及宽带问题的计算;
  2. FEM算法:采用四面体网格对目标进行离散,拟合精度比FDTD算法更高计算精度也要明显优于FDTD算法。但是,FEM基于频域/微分算法,需要同时对整个区域内的电磁场信息进行求解和存储,内存消耗大计算速度慢计算模型的电尺寸也相对较小
    总结:FEM主要适合于微波电路器件,天线等目标“辐射问题”的精确计算
  3. MoM算法:通过“场-源关系”,将“场”的求解问题转化为“源”求解问题,采用的基函数“格林函数”天然满足辐射条件,无需设置截断计算精度高,同时矩阵的计算采用直接计算,不存在收敛性的问题,同时由于网格的剖分仅存在于目标体表面或内部,未知量数目大幅降低,矩阵规模小于FDTD和FEM,但是由于“源”之间均存在耦合,因此矩阵为“稠密”矩阵,计算复杂度大计算速度慢
    总结:MoM主要适合于含有精细结构电小尺寸目标“散射问题”的精确计算;
1.2 经典电磁软件

常用电磁软件使用的电磁算法:
CST:CST是基于FDID(有限积分法,与FDTD同属于时域方法)电磁场求解算法的仿真器,适合仿真宽带频谱结果,因为只需要输入一个时域脉冲就可以覆盖宽频带。


ADS:ADS内含矩量法(2.5D),是一种对第三维度进行简化的电磁场仿真器。对于电路多层板,如PCB,陶瓷等电路板,常见无源电路,如滤波器等结构,仿真速度极快,同时保证和HFSS相同的精度。因此作为板级和IC级电路设计 师,ADS momentum是最好的仿真工具,其效率远炒股HFSS和CST。ADS现在也支持FEM算法了
在这里插入图片描述


HFSS:HFSS是基于FEM(有限元法)电磁场求解算法的仿真器,适合仿真三维复杂结果,但是电长度较小,物体大一点仿真比较慢。


AWR AXIEM:这个也是用的矩量法,电路设计分析起来杠杠的。


Sonnet:employs a rigorous Method-of-Moments(矩量法) EM analysis based on Maxwell’s equations that includes all parasitic, cross-coupling, enclosure and package resonance effects


Remcom XFdtd:这个看名字就知道是FDTD


EMPro:EMPro配有 FDTD(有限差分时域)和FEM(有限元分析)全 3D 电磁仿真引擎,可以精确分析从小至 1 mm 的110 GHz连接器到整个战斗机机身的 3D 物理设计。

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

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

相关文章

【python】06.函数和模块的使用

函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。 可以用Python的程序来…

Spring Boot 整合支付宝实现在线支付方案(沙箱环境)

文章目录 1.理解沙箱环境2.沙箱环境接入准备2.1 访问开发者控制台2.2 获取重要信息2.3 处理秘钥 3.接入支付宝支付的流程4.实现支付4.1 添加 SDK 依赖4.2 创建配置类4.3 支付宝订单管理接口实现流程4.4 支付宝支付接口实现流程 5.支付宝支付功能演示7.总结 TIP:对于…

软件测试常见问题2

1.用jmeter怎么进行测试? 使用JMeter进行测试的步骤如下: 启动JMeter,右键点击测试计划,选择添加->Threads(Users)->线程组,在线程组下创建请求。在请求中添加HTTP请求信息头,右键点击HTTP请求&…

15-MT-Channel based Broker和Kafka Channel模式

部署MT-Channel based Broker URL: https://knative.dev/docs/install/yaml-install/eventing/install-eventing-with-yaml/#optional-install-a-broker-layer kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.12.1/mt-channel…

2023年复盘—坚持长期主义

大家好,这里是大话硬件。 按照往年的逻辑,很多知识博主都会在12月份发出2023年的年终总结出来,但是今年好像很多博主还没有更新类似总结文章。去年我是在12月24号更新的,今年的总结文章在上周有一些简单的构想,但是没有时间写,因此,这篇文章对2023 年进行一个复盘。 复…

【UEFI基础】EDK网络框架(VLAN)

VLAN VLAN代码综述 在MNP中有很多的VLAN介绍,MNP存在的一个重要原因也是为了处理VLAN,而本文介绍的NetworkPkg\VlanConfigDxe\VlanConfigDxe.inf其实只是一个帮助模块,真正的VLAN配置还是在MNP中。 VLAN同样是一个UEFI Driver Model&#…

[蓝桥杯 2013 省 B] 翻硬币

题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果同时翻转左边的两个硬币&…

力扣(leetcode)第680题验证回文串II(Python)

680.验证回文串II 题目链接:680.验证回文串II 给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。 示例 1: 输入&#x…

Redis实现分布式会话

Redis实现分布式会话 1 什么是分布式会话 1 这是我么之前学过的注册登录模式 2 如果非常多的人访问,因为单台服务器的访问承受能力是有限的,那么我们就想用多态服务器来承担压力 3 一般通过负载均衡的方式来实现,来分担服务器的压力。 4 负…

算法每日一题:统计出现过一次的公共字符串 | 哈希 | getOrDefault()

大家好,我是星恒 今天给大家带来的又是一道经典的哈希的题目;这道题本身并不难,但他将getOrDefault()函数利用的简直不要太优雅了,很适合作为理解Map应用的学习题目 题目:给你两个字符串数组 words1 和 words2 &#x…

【PlantUML】- 时序图

写在前面 本篇文章,我们来介绍一下PlantUML的时序图。这个相对类图来讲,比较简单,也不需要布局。读完文章,相信你就能实际操作了。 目录 写在前面一、基本概念二、具体步骤1.环境说明2.元素3.语法4.示例 三、参考资料写在后面系列…

作业-去重复统计(2)

扑克牌组合 题目描述 小明从一副扑克牌中(没有大小王,J认为是数字11,Q是12,K是13,A是1)抽出2张牌求和,请问能够组合出多少个不相等的数,按照由小到大输出这些数。 输入 第一行是一个…

软件测试|Python数据可视化神器——pyecharts教程(十)

使用pyecharts绘制漏斗图 简介 漏斗图(Funnel Chart)是一种用于可视化数据流程或转化率的图表类型。它通常由一系列阶段组成,每个阶段都有一个名称和一个值,表示在该阶段的转化量或数据流程的进展情况。漏斗图的名称来源于其外观…

Web自动化测试,一定得掌握的 8 个核心知识点

使用 cypress 进行端对端测试,和其他的一些框架有一个显著不同的地方,它使用 javascript 作为编程语言。传统主流的 selenium 框架是支持多语言的,大多数 QA 会的python 和 java 语言都可以编写 selenium 代码,遇到需要编写 js 代…

linux文件描述符管理

在实际的项目开发中,文件描述符是经常用到的并且在释放资源过程中也是很容易忽略的,使用之后不释放就会增加cpu负担,无异于内存泄漏;所以时刻掌握文件描述符的状态是非常重要的!下面介绍文件描述符的管理方法。 1. 文…

好用的便签有哪些?windows便签工具在哪打开?

每当我8点准时上班,在等待电脑开机的过程,我都会习惯性地思考整理今天要晚上的任务,列出所要完成的待办事项。随着每一项任务的清晰呈现,我的心情也逐渐明朗起来。当然了,这个时候,我迫切需要一款好用的便签…

VS游戏打包教程

我用得天天酷跑小游戏做的例子 1:安装打包插件 2:在解决方案里新建一个项目 3:新建一个setup项目 4:界面如下(通过右键folder,可以创建folder目录和输出) 5:素材文件 6:素材放完了就项目输出 7:创建快捷方式 右键这个主输出选择第一个create shortcut 8:将这个快捷方式,拖到,…

算法通关村番外篇-LeetCode编程从0到1系列一

大家好我是苏麟 , 今天开始带来LeetCode编程从0到1系列 . 编程基础 0 到 1 , 50 题掌握基础编程能力 大纲 1768.交替合并字符串389. 找不同28. 找出字符串中第一个匹配项的下标242. 有效的字母异位词459. 重复的子字符串283. 移动零66. 加一1822. 数组元素积的符号1502. 判断能…

02二位数组算法

1.杨辉三角 算法思想&#xff1a; a[i][j]a[i-1][j]a[i-1][j-1];代码&#xff1a; #include<iostream> using namespace std; const int N 1e2 10; int a[N][N]; int main() {int n; cin >> n;a[1][1] a[2][1] a[2][2] 1;for (int i 3; i < n; i) {for…

【已解决】C语言如何使用宽字符输出中文

本博文源于笔者正在运行的程序想要在宽字符下运行中文wchar_t wstr[10]L"12凡人";想要正确输出它。 问题来源 想要正确输入宽字符下的中文 问题解决方案 #include<stdio.h> #include<locale.h> int main() {setlocale(LC_ALL, "zh-cn");wc…