OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cbatherm.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| cbatherm ../engine/source/elements/shell/coqueba/cbatherm.F
25!||--- called by ------------------------------------------------------
26!|| cbaforc3 ../engine/source/elements/shell/coqueba/cbaforc3.F
27!||--- uses -----------------------------------------------------
28!|| element_mod ../common_source/modules/elements/element_mod.f90
29!||====================================================================
30 SUBROUTINE cbatherm(JFT ,JLT ,PM ,THK ,IXC ,
31 2 BM ,AREA ,DTIME ,TEMPNC ,TEL ,DHEAT ,
32 3 NPLAT ,IPLAT ,FPHI ,THEACCFACT)
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
57 my_real
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
139 END
subroutine cbatherm(jft, jlt, pm, thk, ixc, bm, area, dtime, tempnc, tel, dheat, nplat, iplat, fphi, theaccfact)
Definition cbatherm.F:33
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)