%%%%%%%%%%% 一阶六面体单元绘制云图程序 %%%%%%%%%%% % Nodes节点坐标信息 % Elements单元信息 % U位移矩阵 % Component云图上节点的值,可以是位移、应力、应变等 function PlotContour(Nodes,Elements,U,Component) NodeCount = size(Nodes,1) ; % 节点个数 ElementCount = size(Elements,1) ; %单元个数 ElementNodeCount=8; %每个单元节点数 % 矩阵初始化,X Y Z点的坐标:value点的值,对每个单元按照节点序号依次绘制云图 X = zeros(ElementNodeCount,ElementCount) ; Y = zeros(ElementNodeCount,ElementCount) ; Z = zeros(ElementNodeCount,ElementCount) ; value = zeros(ElementNodeCount,ElementCount) ; %判断矩阵类型(位移,应力,应变) if size(Component,1)>1 for i=1:ElementCount nd=Elements(i,:); value(:,i) = Component(nd) ; end else %先进行磨平,再把Component行向量转化成矩阵形式 Difference=max(Component)-min(Component);%全域上的最大值-最小值 AVG=0.75; % 默认阈值75% for i=1:1:NodeCount %遍历节点,进行应力磨平 TElements=Elements';%转置Elements itemp=(TElements==i);%进行逻辑判断,itemp:元素为0 1的矩阵 Cut=max(Component(1,itemp))-min(Component(1,itemp));%该节点的应力(应变)差 if 0