MindScience之MindElec 电磁仿真结果可视化

1. MindElec(电磁仿真)简介

仿真就是对实际物体进行模型模拟,期望改善实力产品的性能,找到最优的设计方案。

电磁仿真就是对物体的电磁性能进行仿真模拟,以代替昂贵的原形,并改进设计。

其在手机容差、天线优化和芯片设计等场景中应用广泛。

MindElec是基于MindSpore开发的AI电磁仿真工具包,由数据构建及转换、仿真计算、

以及结果可视化组成。可以支持端到端的AI电磁仿真。

2. MindElec(电磁仿真)安装

a. 目前只支持Ascend

b. 需要安装mindspore包

c. 还有一些其他的依赖

numpy >= 1.17.0

scipy >= 1.7.0

matplotlib >= 3.1.3

pyevtk >= 1.4.1

opencv-python >= 4.1.2.30

pythonocc-core >= 7.4.0

easydict >= 1.9 # for st test and examples

d. 安装步骤

一、下载源码:

git clone mindscience: MindScience is scientific computing kits for various industries based on the converged MindSpore framework. -b master

二、编译与安装:由于mindelec跟mindsponge共用一个仓,所以需要进入电磁仿真的目录后进行编译cd mindscience/MindElecbash build.sh最后在output里面有个mindscience_mindelec_ascend-0.1.0rc1-cp37-cp37m-linux_aarch64.whl安装包

安装: pip install mindscience_mindelec_ascend-0.1.0rc1-cp37-cp37m-linux_aarch64.whl3. 电磁仿真结果可视化电磁仿真的结果一般包含仿真区域内的电磁场、S参数等物理量,因此仿真结果的可视化是非常重要的,它能够直观反映
电磁仿真物理量的大小和分布情况,辅助设计人员调试调优。mindelec.vision就是对训练/测试过程,以及仿
真结果的可视化模块。一、训练/测试过程可视化
可视化文件通过回调函数Callback函数生成,MonitorEval中有个参数draw_flag=True, 指定是否保存summary记录。默认值:True

solver = Solver(network=model_net,
                mode="Data",
                optimizer=optim,
                loss_fn=nn.MSELoss())

monitor_train = MonitorTrain(per_print_times=1,
                             summary_dir='./summary_dir_train')

monitor_eval = MonitorEval(summary_dir='./summary_dir_eval',
                           model=solver,
                           eval_ds=data["eval_loader"],
                           eval_interval=opt.print_interval,
                           draw_flag=True)

callbacks_train = [monitor_train, monitor_eval]

进入mindscience/MindElec/examples/data_driven/gprinversion

train.py 的draw_flag设置为True

执行训练:python train.py --epoch 10 --device_target "Ascend" --device_num 0 --checkpoint_dir './ckpt/'

执行完成后,看了一下保存文件的地址summary_dir_eval 里面确实有文件

然而教程也没有说这个文件是什么类型,该用什么打开,我尝试把它当成 jpg 打开,然而,失败了

二、S11可视化

MindElec提供了plot_s11函数可视化S11曲线

代码用法

import numpy as np
from mindelec.vision import plot_s11
s11 = np.random.rand(1001, 2).astype(np.float32)
s11[:, 0] = np.linspace(0, 4 * 10 ** 9, 1001)
s11 = s11.astype(np.float32)
s11_tensor = s11
path_image_save = './result_s11'
legend = 's11'
dpi = 300
plot_s11(s11_tensor, path_image_save, legend, dpi)

s11_tensor 虽然名字是Tensor,但是输入类型却是numpy,

结果如下图所示,生成的是jpg文件

之后用看图软件打开:

三、二维电磁场可视化

plot_eh函数可视化电磁波的二维剖面

具体代码如下面所示

import numpy as np
from mindelec.vision import plot_eh
simu_res_tensor = np.random.rand(20, 10, 10, 10, 6).astype(np.float32)
path_image_save = './result_eh'
z_index = 5
dpi = 300
plot_eh(simu_res_tensor, path_image_save, z_index, dpi)

path_image_save 是文件生成的地址

下面是生成的文件,都在result_eh

result_eh
├── Ex_0.jpg
├── Ex_10.jpg
├── Ex_11.jpg
├── Ex_12.jpg
├── Ex_13.jpg
├── Ex_14.jpg
├── Ex_15.jpg
├── Ex_16.jpg
├── Ex_17.jpg
├── Ex_18.jpg
├── Ex_19.jpg
├── Ex_1.jpg
├── Ex_2.jpg
├── Ex_3.jpg
├── Ex_4.jpg
├── Ex_5.jpg
├── Ex_6.jpg
├── Ex_7.jpg
├── Ex_8.jpg
├── Ex_9.jpg
├── Ey_0.jpg
├── Ey_10.jpg
├── Ey_11.jpg
├── Ey_12.jpg

Ex开头的文件是不同时刻的Ex二维可视化结果

Ey开头的文件是不同时刻的Ey二维可视化结果

三、三维结果可视化

三维可视化用的是vtk_structure函数, 可以为仿真结果生成每个时刻的三维可视化文件,

以vts结尾。

可以通过ParaView读取展示三维效果

ParaView是对二维和三维数据进行分析和可视化的程序,它既是一个应用程序框架,

也可以直接使用(Turn-Key )

代码如下图所示

import numpy as np
from mindelec.vision import vtk_structure
grid_tensor = np.random.rand(20, 10, 10, 10, 4).astype(np.float32)
eh_tensor = np.random.rand(20, 10, 10, 10, 6).astype(np.float32)
path_res = './result_vtk'
vtk_structure(grid_tensor, eh_tensor, path_res)

grid_tensor为三维网格坐标文件, shape是 (dim_t, dim_x, dim_y, dim_z, 4)

eh_tensor为生成的电磁场三维网格文件, shape是(dim_t, dim_x, dim_y, dim_z, 6)

path_res 是保存文件的地址

最后生成的文件是以vts结尾的:

打开vts文件的软件没有安装,就不展示了

总结:

以上就是MindElec 电磁仿真结果可视化的各种结果,其中S11可视化和二维电磁场可视化生成的文件都是jpg结尾的

最后一个三维结果可视化是以vts结尾的文件可以用ParaView读取,但是第一个通过MonitorEval保存的文件

就不知道是什么格式了

而且有一个疑问,这个可视化就是指保存文件吗,我以为的可视化是边执行边显示图,但是这边的接口

并没有写明有这个功能,也没有

调用函数去解析这些生成文件的功能

MindSpore:MindScience之MindElec 电磁仿真结果可视化相关推荐

  1. MindSpore Science科学计算行业套件——MindSpore Elec电磁仿真套件

    当前多种算力正在激发跨领域的应用融合,AI已经成为研究科学计算的新范式.因此我们将MindSpore拓展到科学计算领域.通过多尺度混合计算和高阶混合微分两大关键创新,将MindSpore原有的AI计算 ...

  2. 《HFSS电磁仿真设计从入门到精通》一第2章 入门实例——T形波导的内场分析和优化设计...

    本节书摘来自异步社区<HFSS电磁仿真设计从入门到精通>一书中的第2章,作者 易迪拓培训 , 李明洋 , 刘敏,更多章节内容可以访问云栖社区"异步社区"公众号查看 第2 ...

  3. 喜用神最正确的算法_各种电磁仿真算法的优缺点和适用范围(FDTD, FEM和MOM等)...

    从实际工程应用的角度谈一下我对这几种算法的理解. 先说结论,FDTD算的快但是不精确,可以用来算电大尺寸的物体,要是一个物体的尺寸大于10个波长,一般的服务站是跑不动FEM的,那必须得用FDTD了.F ...

  4. 《HFSS电磁仿真设计从入门到精通》一2.3 T形波导的优化分析

    本节书摘来自异步社区<HFSS电磁仿真设计从入门到精通>一书中的第2章,第2.3节,作者 易迪拓培训 , 李明洋 , 刘敏,更多章节内容可以访问云栖社区"异步社区"公众 ...

  5. 算法的优缺点_各种电磁仿真算法的优缺点和适用范围(FDTD, FEM和MOM等)

    从实际工程应用的角度谈一下我对这几种算法的理解. 先说结论,FDTD算的快但是不精确,可以用来算电大尺寸的物体,要是一个物体的尺寸大于10个波长,一般的服务站是跑不动FEM的,那必须得用FDTD了.F ...

  6. 《HFSS电磁仿真设计从入门到精通》一1.3 HFSS工程的通用设置

    本节书摘来自异步社区<HFSS电磁仿真设计从入门到精通>一书中的第1章,第1.3节,作者 易迪拓培训 , 李明洋 , 刘敏,更多章节内容可以访问云栖社区"异步社区"公众 ...

  7. APDL电磁仿真学习中可能会遇到的问题1

    APDL是ANSYS的经典版,在电磁仿真方面,感觉用的人越来越少了!遇到问题时,感觉资料也不是很好找!我在这里分享一下自己在学习过程遇到的一些问题的解决方案以及APDL电磁仿真的使用心得吧!希望对有需 ...

  8. PCB(AD)转HFSS进行电磁仿真

    PCB(AD)转HFSS进行电磁仿真 AD输出Geber文件 先来导出Gerber Files 导出NC drill文件 打包压缩包 HFSS 3D layout 导入geber文件 设置版的叠层 ~ ...

  9. Ansoft Designer v4.0 -ISO 1CD(电子电磁仿真)

    Etap.PowerStation.v7.0-ISO 1CD(电气专业设计.分析软件) MemResearch产品: Memresearch EM3DS v2008 1CD(意大利产出的电磁三维软件) ...

最新文章

  1. 老弟,你连HTTPS 原理都不懂,还给我讲“中间人攻击”,逗我吗...
  2. python就业方向及工资-Python的就业的方向和前景
  3. oracle 常用语句
  4. 两个数相乘积一定比每个因数都大_小升初数学知识点大全含公式+20类必考应用题(含答案解析),孩子考试一定用得上!...
  5. 编写超级可读代码的15个最佳实践
  6. VS2013+OpenCV3.0编译CMT跟踪算法
  7. numpy保存/读取pickle
  8. 计算机高速接口与嵌入式设计与实现,基于嵌入式双结构通信系统高速接口的设计与实现...
  9. java cookie p3p_利用P3P实现单点登录和COOKIE的跨域读写
  10. 机器学习为什么重要_什么是机器学习? 为什么对您的业务很重要?
  11. 词法分析器代码分析报告
  12. 图像的上采样、下采样
  13. 动手学深度学习(使用Pytorch)网址收藏
  14. 100 余个超实用网站
  15. 深度linux安装Qt后需要解决的问题
  16. SNARK性能及安全——Verifier篇
  17. 【 vue 】局部样式与全局样式
  18. 假设检验 - 区间估计 (总体标准差σ已知)
  19. 多线程操作同一个变量
  20. 直流电机及PWM介绍

热门文章

  1. H5移动端div固定到底部实现底部导航条的几种方式
  2. 08 Python之Pandas库选择查看、选择
  3. 09 Python之Pandas库之数据处理与规整
  4. RVB2601评估板的开箱和开发环境建立
  5. 学习笔记(77):R语言入门基础-判断逻辑
  6. 【转】图灵机与计算问题(张江)
  7. 直播翻车的罗永浩,和多次哽咽的罗玉龙是什么关系?
  8. 原始套接字头结构定义
  9. 强制下载钉钉直播回放,简单易 附爬取工具
  10. ubuntu 下载verycd下资源