【案例分享】光滑有限元软件——静态模块

案例分享——

光滑有限元软件——静态模块

光滑有限元法(S-FEM)是建立在有限元法(FEM)基础之上的一种“近似”无网格方法。静态问题模块线弹性静力学求解器基于线弹性静力学的基本理论,在T-mesh背景的网格基础之上,通过线性插值并引入梯度光滑技术,开发了求解二、三维固体位移、应变、应力等物理量的线弹性静力学求解器。

本案例通过可视化定制与插件拓展相结合的形式,实现了线弹性静力学求解器与FastCAE的无缝集成。通过可视化定制对参数以及边界条件等必要信息进行定制拓展,满足了求解器对输入参数的要求;通过插件模式拓展了对su2格式网格文件的读入支持。

 架构体系

在开发过程中,使用定制插件对案例中参数以及边界条件进行动态拓展,网格文件解析交由程序插件实现数据管理以及模型的可视化由FastCAE统一实现。

在软件求解时。FastCAE将网格、参数等数据信息按照标准格式输出,核心求解器参照FastCAE数据标准进行数据读取并完成求解,求解结果通过标准文件交还FastCAE进行可视化渲染。

 实现效果

定制插件模式以及案例插件的加载

前处理网格可视化以及组件的创建

定制模式下创建的算例树结构

后处理结果可视化

 关键代码

1、注册代码

1void Register(GUI::MainWindow* m, QList<Plugins::PluginBase*>* ps)
2{
3    Plugins::PluginBase* p = new Plugins::SfemPlugin(m);
4    ps->append(p);
5}

2、插件安装代码

1bool SfemPlugin::install()
2{
3
4        IO::IOConfigure::RegisterMeshImporter("su2", importMeshFun);
5        return true;
6}

3、网格读取代码

 1bool Su2Reader::read()
 2{
 3QFileInfo info(_fileName);
 4if (!info.exists()) return false;
 5QString name = info.fileName();
 6QString path = info.filePath();
 7QFile file(_fileName);
 8if (!file.open(QIODevice::ReadOnly)) return false;
 9_stream = new QTextStream(&file);
10_gird = vtkUnstructuredGrid::New();
11QString line;
12bool success = false;
13while (!_stream->atEnd())
14{
15line = this->readLine();
16if (line.contains("nelem="))
17{
18_cellNum = 
19line.remove("nelem").remove("=").toInt();
20success = this->readElements();
21}
22else if (success && line.contains("npoin"))
23{
24_nodeNum = 
25line.remove("npoin").remove("=").toInt();
26success = this->readNodes();
27}
28}
29if (!success)
30{
31_gird->Delete();
32_gird = nullptr;
33return false;
34}
35MeshKernal* k = new MeshKernal;
36k->setName(name);
37k->setPath(path);
38k->setMeshData(_gird);
39_meshData->appendMeshKernal(k);
40return success;
41}

                                                                          END

更多FastCAE相关案例及产品信息,请关注FastCAE公众号

也可访问FastCAE官方网站:www.fastcae.com

更多信息,等你来探索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FastCAE2022

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

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

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

打赏作者

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

抵扣说明:

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

余额充值