OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cbatherm.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 cbatherm (jft, jlt, pm, thk, ixc, bm, area, dtime, tempnc, tel, dheat, nplat, iplat, fphi, theaccfact)

Function/Subroutine Documentation

◆ cbatherm()

subroutine cbatherm ( integer jft,
integer jlt,
pm,
thk,
integer, dimension(nixc,*) ixc,
bm,
area,
intent(in) dtime,
tempnc,
tel,
dheat,
integer nplat,
integer, dimension(*) iplat,
fphi,
intent(in) theaccfact )

Definition at line 30 of file cbatherm.F.

33 use element_mod , only : nixc
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42#include "param_c.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER :: JFT,JLT,NPLAT
47 INTEGER :: IXC(NIXC,*),IPLAT(*)
48 my_real ,INTENT(IN) :: theaccfact
49 my_real ,INTENT(IN) :: dtime
50 my_real :: area(*),
51 . tempnc(*), fphi(mvsiz,4), pm(npropm),dheat(*),
52 . thk(*),tel(*),bm(mvsiz,*)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER I,EP,N1,N2,N3,N4
58 . ca,cb ,kc ,phix,phiy,a,temp1,temp2,temp3,temp4,
59 . temp13,temp24,temph
60C------------------------------------------
61 ca = pm(75)
62 cb = pm(76)
63
64 DO ep=jft,nplat
65 i=iplat(ep)
66
67 kc = ( ca + cb*tel(i))*dtime*theaccfact
68C
69 n1 = ixc(2,i)
70 n2 = ixc(3,i)
71 n3 = ixc(4,i)
72 n4 = ixc(5,i)
73
74 temp13 = tempnc(n1)-tempnc(n3)
75 temp24 = tempnc(n2)-tempnc(n4)
76 temph = tempnc(n1)-tempnc(n2)+tempnc(n3)-tempnc(n4)
77C
78C - flux : K gradT = B * T
79C
80
81 phix = temp13*bm(i,1) + temp24*bm(i,2)+bm(i,3)*temph
82
83 phiy = temp13*bm(i,5) + temp24*bm(i,6)+bm(i,7)*temph
84C
85 phix = kc*phix*thk(i)*area(i)
86 phiy = kc*phiy*thk(i)*area(i)
87C
88C Thermal nodal Force
89C
90
91 a = fourth *fourth * dheat(i)
92
93 fphi(i,1) = a - (phix*(bm(i,1)+bm(i,3)) + phiy*(bm(i,5)+bm(i,7)))
94 fphi(i,2) = a - (phix*(bm(i,2)-bm(i,3)) + phiy*(bm(i,6)-bm(i,7)))
95 fphi(i,3) = a - (phix*(bm(i,3)-bm(i,1)) + phiy*(bm(i,7)-bm(i,5)))
96 fphi(i,4) = a + (phix*(bm(i,2)+bm(i,3)) + phiy*(bm(i,6)+bm(i,7)))
97
98 END DO
99
100 DO ep=nplat+1,jlt
101
102 i=iplat(ep)
103
104 kc = ( ca + cb*tel(i))*dtime
105C
106 n1 = ixc(2,i)
107 n2 = ixc(3,i)
108 n3 = ixc(4,i)
109 n4 = ixc(5,i)
110
111 temp1 = tempnc(n1)
112 temp2 = tempnc(n2)
113 temp3 = tempnc(n3)
114 temp4 = tempnc(n4)
115C
116C - flux : K gradT = B * T
117C
118 phix = (bm(i,1)+bm(i,4))*temp1 + (bm(i,10)+bm(i,13))*temp2
119 . + (bm(i,19)+bm(i,22))*temp3 + (bm(i,28)+bm(i,31))*temp2
120
121 phiy = (bm(i,2)+bm(i,5))*temp1 + (bm(i,11)+bm(i,14))*temp2
122 . + (bm(i,20)+bm(i,23))*temp3 + (bm(i,29)+bm(i,32))*temp2
123
124 phix = kc*phix*thk(i)*area(i)
125 phiy = kc*phiy*thk(i)*area(i)
126C
127C Thermal nodal Force
128C
129 a = fourth *fourth * dheat(i)
130
131 fphi(i,1) = a - (phix*(bm(i,1)+bm(i,4)) + phiy*(bm(i,2)+bm(i,5)))
132 fphi(i,2) = a - (phix*(bm(i,10)+bm(i,13)) + phiy*(bm(i,11)+bm(i,14)))
133 fphi(i,3) = a - (phix*(bm(i,19)+bm(i,22)) + phiy*(bm(i,20)+bm(i,23)))
134 fphi(i,4) = a - (phix*(bm(i,28)+bm(i,31)) + phiy*(bm(i,29)+bm(i,32)))
135
136 END DO
137!-----------
138 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)