32 1 VOL, NC1, NC2, NC3, NC4,
33 2 NC5, NC6, NC7, NC8, PX1,
37 6 TEMPNC, TEMPEL, HEAT, FPHI,
38 7 OFFG, OFF, PARTSAV, IPARTS,
39 8 VOL0, NEL, NUMNOD ,THEACCFACT)
47#include "implicit_f.inc"
56 INTEGER,
INTENT(IN) :: NEL
57 INTEGER,
INTENT(IN) :: NUMNOD
58 INTEGER NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ),NC4(MVSIZ),
59 . NC5(MVSIZ),NC6(MVSIZ),NC7(MVSIZ),NC8(MVSIZ)
62 my_real ,
INTENT(IN) :: THEACCFACT
63 my_real ,
INTENT(IN) :: HEAT(MVSIZ)
64 my_real :: tempnc(numnod)
70 my_real :: px1(*), px2(*), px3(*), px4(*),
71 . py1(*), py2(*), py3(*), py4(*),
72 . pz1(*), pz2(*), pz3(*), pz4(*)
73 my_real :: fphi(mvsiz,8)
74 my_real :: partsav(npsav,*)
75 type (matparam_struct_) ,
intent(in) :: mat_param
80 my_real AS, BS, KC, PHIX, PHIY, PHIZ, A, B, RHOCP, T0
81!==============================================================================
82 as = mat_param%THERM%AS
83 bs = mat_param%THERM%BS
84 rhocp = mat_param%THERM%RHOCP
85 t0 = mat_param%THERM%TINI
90 IF(off(i)==zero.OR.offg(i)<=zero) cycle
91 phix = tempnc(nc1(i))*px1(i) + tempnc(nc2(i))*px2(i) +
92 . tempnc(nc3(i))*px3(i) + tempnc(nc4(i))*px4(i) -
93 . tempnc(nc5(i))*px3(i) - tempnc(nc6(i))*px4(i) -
94 . tempnc(nc7(i))*px1(i) - tempnc(nc8(i))*px2(i)
96 phiy = tempnc(nc1(i))*py1(i) + tempnc(nc2(i))*py2(i) +
97 . tempnc(nc3(i))*py3(i) + tempnc(nc4(i))*py4(i) -
98 . tempnc(nc5(i))*py3(i) - tempnc(nc6(i))*py4(i) -
99 . tempnc(nc7(i))*py1(i) - tempnc(nc8(i))*py2(i)
101 phiz = tempnc(nc1(i))*pz1(i) + tempnc(nc2(i))*pz2(i) +
103 . tempnc(nc5(i))*pz3(i) - tempnc(nc6(i))*pz4(i) -
104 . tempnc(nc7(i))*pz1(i) - tempnc(nc8(i))*pz2(i)
106 kc = (as + bs*tempel(i))*vol(i)*dt1*theaccfact
113 a = one_over_8 * heat(i)
114 b = phix*px1(i) + phiy*py1(i) + pz1(i)*phiz
117 b = phix*px2(i) + phiy*py2(i) + pz2(i)*phiz
120 b = phix*px3(i) + phiy*py3(i) + pz3(i)*phiz
123 b = phix*px4(i) + phiy*py4(i) + pz4(i)*phiz
129 IF (off(i)==zero.OR.offg(i)<=zero) cycle
131 partsav(28,m) = partsav(28,m) + rhocp*vol0(i)*(tempel(i)-t0) + heat(i)
subroutine stherm(mat_param, 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)