【技术实现步骤摘要】
一种基于WebGL的有限元仿真结果在线显示的方法
[0001]本专利技术涉及基于网页端渲染模型的
,具体涉及一种基于WebGL的有限元仿真结果在线显示的方法,可以实现多种有限元网格模型和仿真结果的web端显示。
技术介绍
[0002]有限元仿真分析是航空、航天和航海领域高端装备设计分析最重要的技术和手段之一。目前主流的有限元软件,如ANSYS、Abaqus等,都是以桌面应用形式为主。桌面应用形式的有限元软件十分依赖电脑的运算能力,当处理复杂模型时,运算量会非常大,分析过程十分依赖用户主机的CPU和GPU性能。这些软件需要根据电脑的操作系统来下载相应的桌面客户端,在智能手机等移动设备端无法安装,并且其安装需要占用的存储容量通常很大。用户在桌面端所生成的项目和文件在本地进行保存,更换设备后便无法查看之前保存的项目。
[0003]随着工业化和信息化技术的快速发展,基于云计算的技术可以在云端完成本地用户的仿真计算。同时需要解决用户对于云端仿真计算结果在网页端显示的需求。基于网页的有限元在线显示,与传统的桌面端的显示相比 ...
【技术保护点】
【技术特征摘要】
1.一种基于WebGL的有限元仿真结果在线显示的方法,其特征在于,步骤如下:S1:有限元仿真分析:导入二维或三维模型,通过有限元仿真软件对该模型进行仿真分析,得到二维或三维网格构成的有限元仿真结果;S2:有限元仿真数据解析与处理:从有限元仿真软件中直接导出的网页端在线显示所需要的有限元仿真结果数据,包括inp格式的网格数据文件和TXT文本格式的应力应变文件;需要编写数据解析端口对有限元软件生成的文件数据进行解析和转化,通过正则表达式提取数据文件中的关键数据,将不同类型的网格数据和有限元仿真所需数据分类,并把所提取的数据转化为程序渲染专用的格式,使得有限元数据文件在程序中易于解析,以便有限元数据在程序中的快速读取;S3:设计网页端有限元仿真结果数据渲染的程序模块:相机模块:屏幕上看到的画面都是二维的,通过相机模块进行视图变换以及投影变换,使得二维的屏幕显示一个三维的模型,具体为:采用视图变换矩阵和投影变换矩阵,并在最后的有限元仿真模型显示到屏幕的过程中,将这两种矩阵与计算所得的有限元模型数据本身的位置相乘,得到最后在屏幕中显示的有限元仿真结构的模型;鼠标事件模块:当有限元模型显示到网页上后,只是一个3D模型,不能在显示页面进行操作,对canvas元素的加入事件监听函数addEventListener()后用来监听canvas上事件,canvas对象支持所有javascript的鼠标事件;有限元模块:有限元模块的显示需要网格、应力、应变和颜色数据;有限元仿真结果显示的是一阶和二阶的三角形单元、四边形单元、四面体单元、六面体单元,其中二阶单元是在一阶单元基础上在网格线中点插入点;不同类型的网格全基于基础的三角形网格来完成的;一个四边形网格通过两个三角形网格共用一条边拼接而成,一个六面体网格的六个面通过六个四边形网格绘制成,同样一个四面体网格通过四个三角形网格形成;绘制网格的方法如下:当输入一个数据文件之后,首先需要判断网格类型,用switch语句来完成,通过case'网格单元类型'判断导入的有限元数据网格类型,返回处理该网格单元类型所对应的方法函数;每次调用该函数将会绘制一次该类型的网格;其中网格单元的绘制过程包括网格单元线和网格单元面的绘制,网格单元线是单纯的绘制网格的轮廓线,默认为黑色,方便区分网格和网格的边界;网格单元面绘制过程需要导入应力应变数据,根据应力应变数据的大小显示对应的颜色;二维网格绘制网格线和面只需要根据给出的坐标数据绘制出二维网格的网格面和网格线;三维网格的绘制过程,是多个二维网格组合而成,绘制三维网格的每个面都看作是一次绘制二维网格的过程,通过for循环,s从第一个面到最后一个面来控制三维...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。