36 7 TEMPNC, TEMPEL, HEAT, FPHI,
37 8 OFFG, OFF, PARTSAV, IPARTS,
38 9 VOL0, NEL, NUMNOD ,THEACCFACT)
42#include "implicit_f.inc"
51 INTEGER,
INTENT(IN) :: NEL
52 INTEGER,
INTENT(IN) :: NUMNOD
53 INTEGER,
INTENT(IN) :: IMAT
54 INTEGER (MVSIZ),NC2(MVSIZ),NC3(MVSIZ),NC4(MVSIZ),
55 . NC5(MVSIZ),NC6(MVSIZ),NC7(MVSIZ),NC8(MVSIZ)
58 my_real ,
INTENT(IN) :: THEACCFACT
59 my_real ,
INTENT(IN) :: HEAT(MVSIZ)
60 my_real :: tempnc(numnod)
61 my_real :: tempel(nel)
66 my_real :: px1(*), px2(*), px3(*), px4(*),
67 . py1(*), py2(*), py3(*), py4(*),
68 . pz1(*), pz2(*), pz3(*), pz4(*)
70 my_real :: pm(npropm,*)
71 my_real :: partsav(npsav,*)
76 my_real AS, BS, KC, PHIX, PHIY, PHIZ, A, B, RHOCP,
86 IF(off(i)==zero.OR.offg(i)<=zero) cycle
87 phix = tempnc(nc1(i))*px1(i) + tempnc(nc2(i))*px2(i) +
88 . tempnc(nc3(i))*px3(i) + tempnc(nc4(i))*px4(i) -
89 . tempnc(nc5(i))*px3(i) - tempnc(nc6(i))*px4(i) -
90 . tempnc(nc7(i))*px1(i) - tempnc(nc8(i))*px2(i)
92 phiy = tempnc(nc1(i))*py1(i) + tempnc(nc2(i))*py2(i) +
93 . tempnc(nc3(i))*py3(i) + tempnc(nc4(i))*py4(i) -
94 . tempnc(nc5(i))*py3(i) - tempnc(nc6(i))*py4(i) -
95 . tempnc(nc7(i))*py1(i) - tempnc(nc8(i))*py2(i)
97 phiz = tempnc(nc1(i))*pz1(i) + tempnc(nc2(i))*pz2(i) +
98 . tempnc(nc3(i))*pz3(i) + tempnc(nc4(i))*pz4(i) -
99 . tempnc(nc5(i))*pz3(i) - tempnc(nc6(i))*pz4(i) -
100 . tempnc(nc7(i))*pz1(i) - tempnc(nc8(i))*pz2(i)
102 kc = (as + bs*tempel(i))*vol(i)*dt1*theaccfact
109 a = one_over_8 * heat(i)
110 b = phix*px1(i) + phiy*py1(i) + pz1(i)*phiz
113 b = phix*px2(i) + phiy*py2(i) + pz2(i)*phiz
116 b = phix*px3(i) + phiy*py3(i) + pz3(i)*phiz
119 b = phix*px4(i) + phiy*py4(i) + pz4(i)*phiz
125 IF (off(i)==zero.OR.offg(i
127 partsav(28,m) = partsav(28,m) + rhocp*vol0(i)*(tempel(i)-t0) + heat(i)
subroutine stherm(pm, imat, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tempel, heat, fphi, offg, off, partsav, iparts, vol0, nel, numnod, theaccfact)