|
建议参照有限元后处理应力磨平操作进行计算,即对每个单元进行循环,循环的过程中累积节点的温度,并且记录每个节点所在的单元数,最后用累积温度除以每个节点所在的单元数即可: do ie=1,ne !单元总数循环 do inode=1,nd !每个单元的节点数 T(ELEMS(inode.ie))=T(ELEMS(inode.ie))+每个单元计算出来的节点温度 !累积单元节点温度 nn(ELEMS(inode.ie))=nn(ELEMS(inode.ie))+1 !累积每个节点所在的单元数 enddo enddo ! 再平均 T(1:NNODE)=T(1:NNODE)/NN(1:NNODE) |
|
你这算法有点罗嗦,还不如分情况填呢。 [Fortran] 查看源码 复制源码 tem = [6 12 24 36]!单元温度
NJoints = 6 !节点数
NElems = 4 !单元数
NJE = 4 !每个单元节点数
Elems = [1 2 5 4;
2 3 6 5;
4 5 8 7;
5 6 9 8!单元节点构造
node_tem = zeros(NJoints,1)
do k = 1:NJoints
t = 0;
ne = 0;
do iel = 1:NElems
do jel =1: NJE
if Elems(iel,jel) == k
ne = ne+1;
t = t + tem(iel);
end
enddo
enddo
node_tem = t/ne;
enddo |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-11-7 03:31