今天给大家分享的是:如何将 Matlab 有限元分析结果导入进 Paraview 中?
提供了 vtkwrite
函数(https://github.com/joe-of-all-trades/vtkwrite)用于数据转换为vtk 文件;将位移结果在Paraview中显示,可以显示网格和云图; 云图显示值“顺序”有所偏差,处于探索阶段。
该模型采用 4 节点单元,力、位移边界条件,对于一直节点位移的情况,采用乘大数法处理边界条件,之前的推文也有所介绍,详细的视频会在以后进行更新讲解。
Matlab求解过程就不在此过多阐述了,在求得位移后,得到的结果是一个向量数组。
%% GEOMETRY
np = 6;
x = node(:,1);
y = node(:,2);
z = 1;
[X,Y,Z] = meshgrid(x,y,z);
%% VARIABLES
r = rand(np,np);
% s = cos(X);
s = 1;
grad_s_x = repmat(UUG(1:2:12),[1,6]);
grad_s_y = repmat(UUG(2:2:12),[1,6]);
%% OUTPUT
tic
filename = 'out_ASCII.vtk';
vtkwrite(filename,'structured_grid',X,Y,Z,...
'scalars','r',r,'scalars','s',s,...
'vectors','grad',grad_s_x,grad_s_y,zeros(np))
toc
注:node
为节点坐标信息,UUG
为节点位移结果,主要调用vtkwrite
函数即可,细节可不用参考我上面展示的,因为出现了Problem...
接下来说下我遇到的问题:
由于对程序不熟悉,只能疯狂试错,运行后产生的vtk文件在Paraview中,网格、位移云图可显示出,云图最大值也和Abaqus可以对的上,但是云图分布有点奇奇怪怪,可能是数组的处理不对,需要继续探索,你们若有成功的,可联系木木,真心求教!!!
下图是Paraview与Abaqus后处理云图对比,是不是怪怪的!
革命尚未成功,同志仍需努力。想把这个问题解决了,因为编制云图显示的matlab后处理程序,对于我这种编程基础不咋滴的人来说,学起来太复杂了。
Paraview是个非常不错的免费开源有限元后处理工具,在官网上即可下载,利用好这个工具,可以为我们的有限元结果“如虎添翼”,渲染出来的效果真的很棒,两个字:丝滑。
Paraview预置有非常多炫酷的色谱,切换色谱的方法:
以本次模型为例,展示一下预置的色谱(下方图片可左右滑动):
<<< 左右滑动见更多 >>>
<<< 左右滑动见更多 >>>
<<< 左右滑动见更多 >>>
<<< 左右滑动见更多 >>>
<<< 左右滑动见更多 >>>
<<< 左右滑动见更多 >>>
<<< 左右滑动见更多 >>>
-End-
易木木响叮当
想陪你一起度过短暂且漫长的科研生活