54 interfacenumelems, interfacenumnodes, &
56 mapnode,lwrbnd,uppbnd, coor, mapsfelvolel,&
57 elconnvol,ieltype,numelvol,bcqflux)
68 INTEGER :: lwrbnd,uppbnd
70 INTEGER :: ieltype,numelvol
71 INTEGER,
DIMENSION(1:iElType,1:NumElVol) :: elconnvol
73 INTEGER :: interfacenumelems,interfacenumnodes
74 INTEGER,
DIMENSION(1:UppBnd,1:InterfaceNumElems) :: interfaceelemconn
78 INTEGER,
DIMENSION(1:InterfaceNumNodes) :: mapnode
80 REAL*8,
DIMENSION(1:numnp) :: rnet
84 INTEGER,
DIMENSION(1:3) :: triconn
87 REAL*8,
DIMENSION(1:InterfaceNumElems) :: bcqflux
89 INTEGER,
DIMENSION(1:NumElVol) :: mapsfelvolel
92 REAL*8,
DIMENSION(1:3,1:numnp) :: coor
102 REAL*8 :: x1x0, y1y0, z1z0
103 REAL*8 :: x2x0, y2y0, z2z0
105 REAL*8 :: xnorm, area
109 DO i = 1, interfacenumelems
113 triconn(1:3) = interfaceelemconn(1:3,
i)
119 x0p = coor(1,mapnode(triconn(1)))
120 y0p = coor(2,mapnode(triconn(1)))
121 z0p = coor(3,mapnode(triconn(1)))
123 x1p = coor(1,mapnode(triconn(2)))
124 y1p = coor(2,mapnode(triconn(2)))
125 z1p = coor(3,mapnode(triconn(2)))
127 x2p = coor(1,mapnode(triconn(3)))
128 y2p = coor(2,mapnode(triconn(3)))
129 z2p = coor(3,mapnode(triconn(3)))
143 x3p = y1y0 * z2z0 - z1z0 * y2y0
144 y3p = z1z0 * x2x0 - x1x0 * z2z0
145 z3p = x1x0 * y2y0 - y1y0 * x2x0
149 xnorm =
sqrt( x3p*x3p + y3p*y3p + z3p*z3p )
159 triconn(1:3) = interfaceelemconn(lwrbnd:uppbnd,
i)
161 rnet(mapnode(triconn(1))) = rnet(mapnode(triconn(1))) + bcqflux(
i)*area/3.d0
162 rnet(mapnode(triconn(2))) = rnet(mapnode(triconn(2))) + bcqflux(
i)*area/3.d0
163 rnet(mapnode(triconn(3))) = rnet(mapnode(triconn(3))) + bcqflux(
i)*area/3.d0
subroutine heatfluxload(Rnet, NumNP, InterfaceNumElems, InterfaceNumNodes, InterfaceElemConn, MapNode, LwrBnd, UppBnd, Coor, MapSFElVolEl, ElConnVol, iElType, NumElVol, BCqflux)