基于FastCAE的电磁仿真求解器集成中个性化功能与技术实现方法分享

本文介绍了基于FastCAE源码的个性化定制开发,包括网格区分颜色渲染、渲染效率提升、网格划分优化、几何模型层次化显示及后处理定制。通过OpenMP提高渲染效率,使用Gmsh的Compound功能改善网格质量,以及利用QWT库定制后处理图表,实现了软件功能的增强和用户体验的提升。
摘要由CSDN通过智能技术生成

本期内容将基于FastCAE源码的个性化开发,着重介绍个性化功能要求与技术实现方法。抛砖引玉,供各位参考。

基于FastCAE源码的个性化定制开发是一种灵活度较高的定制开发方式,能够实现复杂的个性化功能,也能够对FastCAE的基础功能进行修改。本文以中算电磁仿真软件作为项目介绍案例,主要涉及到前后处理显示以及GMSH网格划分的相关个性化优化操作

简易F22模型的电磁反射效果图

中算电磁仿真软件基于FastCAE开发,并对部分功能进行修改与完善,集成其提供的电磁求解计算程序,形成一款完整的软件,并支持后续迭代。该软件能够实现对飞行器电磁反射特性的分析。

在本案例中,针对求解器的特点和算例的数据规模,需要在网格划分、前处理渲染功能与渲染效率,以及后处理数据可视化效果上做出个性化定制。

1. 网格区分颜色渲染

  • 个性化需求

网格要求能够设置不同的颜色进行区分渲染,同时在树形菜单点击相应的节点时能够高亮组件对象。

  • 解决方法

通过对网格渲染模块的重构,为每一个单元添加颜色的属性标记。

  • 问题难点

交互渲染时每一个网格单元的颜色判断逻辑。

  • 效果展示

2.网格渲染效率提升

  • 问题描述

前处理网格在指定颜色时,渲染效率变慢,主要原因是遍历网格单元,修改属性标记,遍历的操作耗时很长。

  • 解决方案

采用OpenMP单机多线程并行的方式进行加速。

  • 优化结果

七核并行状态下,运行时间缩短80%。

  • 部分代码展示

3.网格划分跨越边界

  • 问题描述

导入的几何模型,存在很多细长的面片,在网格划分时候会导致网格质量很差,需要在这些面的边界位置跨越边界。

  • 解决方案

采用Gmsh的Compond功能,该功能通过可以将曲线或曲面指定为一个整体,在网格划分时不将交界点或者交界线作为采点硬约束,能够避免狭长面片带来的网格质量问题。软件中可根据用户交互自动识别Compond对象,生成Geo脚本。

  • 难点

需要根据模型的拓扑关系,借鉴波前法思路,自动遍历检索生成可以合并的线的编号。

  • 效果展示

4.几何模型层次化显示

  • 个性化需求

要求几何模型有solid-shell-face-edge的层次化结构,同时点击对应的节点能够对渲染模型进行高亮显示。

  • 解决方案

对几何读取与树形结构以及渲染、选取等部分进行重构,满足其要求。

  • 效果展示

5. 后处理个性化定制

  • 问题描述

后处理对二维与三维的要求较高,要求XY图,极坐标图,二维云图,三维云图等,且个性化要求较强。

  • 解决方法

采用QWT开源库对后处理代码进行重构,针对其个性化功能进行专门的定制开发。除了QWT之外,还可以使用QCustomplot与QChart库实现相似的功能,但二者均为GPL协议,对软件发布并不友好。

  • 效果展示

总结

针对求解器的特点和算例的数据规模,本文案例在网格划分模块个性化定制,给网格划分颜色区域的过程中发现了新的问题,针对渲染效率低的问题进行改进以满足需求。除此之外还对于网格的边界和层次结构进行优化。

基于已有的后处理结果提取程序,对后处理模块进行代码重构,完成定制开发,积累了关于后处理个性化定制的经验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FastCAE2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值