OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sctherm.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine sctherm (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, tel, heat, fphi, offg, off, nel, theaccfact)

Function/Subroutine Documentation

◆ sctherm()

subroutine sctherm ( pm,
integer, intent(in) imat,
vol,
integer, dimension(mvsiz) nc1,
integer, dimension(mvsiz) nc2,
integer, dimension(mvsiz) nc3,
integer, dimension(mvsiz) nc4,
integer, dimension(mvsiz) nc5,
integer, dimension(mvsiz) nc6,
integer, dimension(mvsiz) nc7,
integer, dimension(mvsiz) nc8,
px1,
px2,
px3,
px4,
py1,
py2,
py3,
py4,
pz1,
pz2,
pz3,
pz4,
dt1,
tempnc,
tel,
heat,
fphi,
offg,
off,
integer, intent(in) nel,
intent(in) theaccfact )

Definition at line 28 of file sctherm.F.

37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45#include "param_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER, INTENT(IN) :: NEL
50 INTEGER, INTENT(IN) :: IMAT
51 INTEGER NC1(MVSIZ),NC2(MVSIZ),
52 . NC3(MVSIZ),NC4(MVSIZ),NC5(MVSIZ),NC6(MVSIZ),
53 . NC7(MVSIZ),NC8(MVSIZ)
54 my_real, INTENT(IN) :: theaccfact
55 my_real :: vol(*), px1(mvsiz), py1(mvsiz),pz1(mvsiz),
56 . px2(mvsiz), py2(mvsiz),pz2(mvsiz),
57 . px3(mvsiz), py3(mvsiz),pz3(mvsiz),
58 . px4(mvsiz), py4(mvsiz),pz4(mvsiz),
59 . ni(8), tempnc(*), fphi(mvsiz,8), pm(npropm,*), heat(*),
60 . dt1, tel(*), off(*), offg(*)
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER I
66 . ca, cb, kc, phix, phiy, phiz, a
67C-----------------------------------------------
68 ca = pm(75,imat)
69 cb = pm(76,imat)
70!
71 DO i=1,nel
72 IF(off(i)==zero.OR.offg(i)<=zero) cycle
73 phix = zero
74 phiy = zero
75 phiz = zero
76C
77C - flux
78C
79 phix = tempnc(nc1(i))*px1(i) + tempnc(nc2(i))*px2(i) +
80 . tempnc(nc3(i))*px3(i) + tempnc(nc4(i))*px4(i) -
81 . tempnc(nc5(i))*px3(i) - tempnc(nc6(i))*px4(i) -
82 . tempnc(nc7(i))*px1(i) - tempnc(nc8(i))*px2(i)
83
84 phiy = tempnc(nc1(i))*py1(i) + tempnc(nc2(i))*py2(i) +
85 . tempnc(nc3(i))*py3(i) + tempnc(nc4(i))*py4(i) -
86 . tempnc(nc5(i))*py3(i) - tempnc(nc6(i))*py4(i) -
87 . tempnc(nc7(i))*py1(i) - tempnc(nc8(i))*py2(i)
88
89 phiz = tempnc(nc1(i))*pz1(i) + tempnc(nc2(i))*pz2(i) +
90 . tempnc(nc3(i))*pz3(i) + tempnc(nc4(i))*pz4(i) -
91 . tempnc(nc5(i))*pz3(i) - tempnc(nc6(i))*pz4(i) -
92 . tempnc(nc7(i))*pz1(i) - tempnc(nc8(i))*pz2(i)
93C
94 kc = (ca + cb*tel(i))*dt1*vol(i)*theaccfact
95 phix = kc*phix
96 phiy = kc*phiy
97 phiz = kc*phiz
98C
99C force thermique nodale
100C
101 a = heat(i)*one_over_8
102 fphi(i,1) = fphi(i,1) +
103 . a - (phix*px1(i) + phiy*py1(i) + phiz*pz1(i))
104 fphi(i,2) = fphi(i,2) +
105 . a - (phix*px2(i) + phiy*py2(i) + phiz*pz2(i))
106 fphi(i,3) = fphi(i,3) +
107 . a - (phix*px3(i) + phiy*py3(i) + phiz*pz3(i))
108 fphi(i,4) = fphi(i,4) +
109 . a - (phix*px4(i) + phiy*py4(i) + phiz*pz4(i))
110 fphi(i,5) = fphi(i,5) +
111 . a + (phix*px3(i) + phiy*py3(i) + phiz*pz3(i))
112 fphi(i,6) = fphi(i,6) +
113 . a + (phix*px4(i) + phiy*py4(i) + phiz*pz4(i))
114 fphi(i,7) = fphi(i,7) +
115 . a + (phix*px1(i) + phiy*py1(i) + phiz*pz1(i))
116 fphi(i,8) = fphi(i,8) +
117 . a + (phix*px2(i) + phiy*py2(i) + phiz*pz2(i))
118 ENDDO
119C
120 RETURN
#define my_real
Definition cppsort.cpp:32