0引言

前两篇博客我们介绍了基于RWG函数的三维矩量法的基本原理和其对应的代码实现(源代码已上传本站,正在审核中)。
矩量法作为最早提出的经典数值算法之一,以较高的计算精度和对任意形状目标良好的适应性而被广大学者所偏爱。从理论上来说,在计算机硬件许可的条件下,矩量法可求解任意类型的线性算子方程。然而,考虑到矩量法生成的阻抗矩阵是一个稠密的复数矩阵,其直接求解的内存需求量和计算量分别为O(N2)和O(N3),这就导致矩量法在分析一些大尺寸目标或大规模阵列目标时会显得力不从心或者需要借助庞大的计算集群才能完成相关工作。
以一个包含104个未知量数目的问题为例,矩量法生成的阻抗矩阵为一个规模为104×104的复矩阵。若计算过程中均采用单精度浮点数,该阻抗矩阵共包含2×108个单精度浮点数,对应的内存需求量为2×108×4Byte≈0.75GB。按此推论,若未知量的数目变为105个,则阻抗矩阵的内存消耗则为75GB左右,这对于单机来说往往难以满足。在实际的电磁问题分析过程中,为了保证计算精度,目标的网格剖分最大尺寸通常不超过0.1倍的波长。因此,对于一些三维的电大尺寸目标或大规模阵列目标而言,其未知量的数目很容易地就会超过105个。在这种情况下,若还想利用矩量法在单机上分析问题,势必需要对矩量法进行一定的改进。

1 综合函数矩量法原理

综合函数矩量法是传统矩量法的一种改进形式,它采用综合函数代替传统的低阶RWG函数对目标方程进行离散和检验,从而得到一个高度压缩的矩阵方程,能够有效降低传统矩量法的未知量数目,达到缩减内存和降低计算复杂度的目的。并且,综合函数矩量法关于电大尺寸目标通常是通过区域分解的形式分块处理的,这也是综合函数矩量法能够降低算法内存的一个重要因素。下面,对综合函数矩量法的原理进行简单介绍。

以上就是综合函数矩量法基本思想,怎么样,是不是很简单?熟悉矩量法的小伙伴可能会问,那么这种综合函数该如何构造呢?而且,综合函数矩量法的矩阵方程与传统矩量法的矩阵方程之间是否有转化关系呢?毕竟从零开始实现一种算法是很让人崩溃的,而如果我们能够直接利用现有的矩量法通过一系列改造就能实现综合函数矩量法的话,无疑会大大降低其难度。

2 综合函数构造及与传统矩量法的关系



以上就是综合函数矩量法的核心思想,不难发现,基于传统矩量法的矩阵方程,我们可以很容易地推导出综合函数矩量法的矩阵方程,其关键问题就在于我们该如何获取综合函数相对于RWG函数的展开系数矩阵P?

3 综合函数展开系数矩阵获取

前面我们说过,综合函数矩量法对于目标是通过区域分块处理的,而综合函数的定义也是针对每个分解模块依次展开的。通常,对于一个特定的分解部件而言,影响其综合函数的因素包含两个方面:1)空间原始激励对于带分析部件的作用;2)剩余部件对于待分析部件的耦合作用。其中,第一条因素比较好理解,而第二条因素则可以通过等效原理进行等价转化。如下图所示,我们在待分析部件的周围建立一个包含该部件的虚拟封闭曲面。对该曲面进行表面三角剖分,可以定义一系列RWG函数。这些虚拟的RWG函数与待分析部件本身的RWG函数会通过电场积分算子建立相互作用,从而表征剩余部件对待分析部件的耦合效应。

上面关于综合函数的构造说明可能比较抽象,特别是关于式(3.23)可能比较懵。这里,以金属目标的EFIE方程为例,按照式(3.23)所示的方式结合金属目标的电场积分方程可以得到其综合函数解空间的求解方程为

不难发现,其实综合函数构造的关键就是三步:1)在待分析部件周围建立一系列外部等效源,也就是一系列虚拟的RWG函数;2)利用方程原来的积分算子计算待分析部件与外部等效源的作用效应,构建解空间方程;3)对解空间方程进行SVD分解,提取少量相互独立的向量作为综合函数相对于RWG函数的展开系数。

4 算法性能分析

以上就是综合函数矩量法的基本思想和实现步骤,总体上还是比较简单的,这里再给大家捋一下:
1)综合函数矩量法的核心思想是利用综合函数代替传统的RWG函数对目标方程进行离散和检验,从而得到一个高度压缩的矩阵方程,算法的核心是如何构造这样的综合函数;
2)综合函数一般定义为RWG函数的线性组合,且综合函数的定义是这对不同分解部件依次独立展开的;
3)综合函数相对于RWG函数的展开系数包含两个部分,分别为空间自然激励对待分析部件的效应和外部等效源对待分析部件的效应,外部等效源实际上表征的是其余分解部件对于待分析部件的耦合效应;
4)外部等效源对于待分析部件的效应实际上就是利用原方程的积分算子对两者作內积。

从上面的结果来看,综合函数矩量法对于算法内存的缩减还是卓有成效的,能够较大程度上提升传统矩量法分析电大尺度问题的能力。

综合函数矩量法原理及实现思路相关推荐

  1. api中重载函数的原理_小心重载API方法

    api中重载函数的原理 重载方法是API设计中的一个重要概念,尤其是当您的API是流利的API或DSL( 特定于域的语言 )时. 对于jOOQ就是这种情况,在这种情况下,您经常想使用与完全相同的方法名 ...

  2. 回调函数的原理及PHP实例

    背景:在最近的一个开发项目中,用户要先调用服务才能开始进行一系列的查询活动,想了好久,经同事提醒, 用回调函数即可解决该问题.在这里,对PHP下回调函数的原理及实现分别做一下讲解. 1 什么是回调 软 ...

  3. 手游辅助制作原理和学习思路

    手游辅助制作原理和学习思路 随着网络游戏不断发展 越来越多的人从事手游开发,现在的游戏公司为了能更好的有市场,不断提高游戏质量和服务,手游辅助由此诞生. 很多人都想做手游辅助,其中的原理大家都知道. ...

  4. 自动投票器的原理及设计思路 http://blog.csdn.net/lkfstar/archive/2008/01/12/2039070.aspx

    自动投票器的原理及设计思路 ___________________________罗坤凡 2008-01-12 网络投票和平时浏览网页.登陆邮箱一样,都是客户端和网站服务器之间的通讯过程.客户端发出信 ...

  5. 【Android 插件化】“ 插桩式 “ 插件化框架 ( 原理与实现思路 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  6. c语言scanf()函数的原理

    scanf()函数的原理 想象输入设备(键盘)连接着一个叫"缓冲"的东西,把缓冲认为是一个字符数组. 当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住 ...

  7. python中f点flush是什么函数_Python文件操作及内置函数flush原理解析

    1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='ut ...

  8. php new对象 调用函数,关于JS中new调用函数的原理介绍

    这篇文章主要介绍了关于JS中new调用函数的原理介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数) ...

  9. 【转】malloc函数实现原理!

    [转]malloc函数实现原理! https://blog.csdn.net/YEDITABA/article/details/53443792 重载new和delete来检测内存泄漏 posted ...

  10. 【转】c++虚函数实现原理

    [转]c++虚函数实现原理 原文链接:https://blog.csdn.net/neiloid/article/details/6934135 C++中的虚函数的作用主要是实现了多态的机制.关于多态 ...

最新文章

  1. 合工大建筑和计算机专业哪个好,合肥工业大学最好的专业是什么(10大热门专业排名)...
  2. Machine Vision 浅谈
  3. 在导出本地文件时报了ABAP错误
  4. 关于 SAP 电商云 Spartacus UI 修改 div 层级结果是否算是 breaking change 的问题
  5. C语言的atoi和C++的to_string
  6. java xy x y_为什么该语句在Java中不起作用x ^ = y ^ = x ^ = y;
  7. pcb天线和纯铜天线_如何简化天线设计?相控阵波束成形IC来助您
  8. Docker : 在宿主机查看docker使用cpu、内存、网络、io情况
  9. mysql多线程复制binlog_MySQL并发复制系列一:binlog组提交 (转载)
  10. 音乐播放器 android 回放增益,每日佳软:安卓强悍音乐播放器之PowerAMP
  11. Android项目之利用手机传感器做惯性导航
  12. 简单的CSS3动画案例——奔跑的熊哥
  13. a0图框标题栏尺寸_机械制图140标题栏-机械制图a0标题栏-机械制图图框标题栏标准...
  14. Windows下cmd命令无法切换盘符
  15. shell 脚本实战 五
  16. 2020微信小微商户、微信支付商业版签约商户流程
  17. 【飞桨黑客松】AIGC - 剑 - 铁匠铺计划
  18. python语言创意绘画-校招资讯|拼多多、百度、中建六局等名企校园招聘
  19. 经典Robocode例子代码--SnippetBot
  20. 利用python渲染IPsec配置

热门文章

  1. 关于成立一个软件工作室
  2. 20170605——login页面(代码知识点分析)
  3. 特征筛选利器:详解T-test(T检验)原理、参数分析、单\双尾检验选择
  4. eclipse常用搜索快捷键
  5. ParNew回收器和Parallel Scavenge回收器介绍
  6. 无心剑中译伊玛·拉扎罗斯《新巨人·自由女神》
  7. mysql查询各专业人数_查询各专业的学生数。
  8. excel两行数据匹配【vlookup、countif】
  9. 访问文件或图片报403的处理方式
  10. 计算机无法添加无线网络,Win7电脑无法连接无线网络的原因和处理方法