OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8etemper.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!|| s8etemper ../engine/source/elements/solid/solide8e/s8etemper.F
25!||--- called by ------------------------------------------------------
26!|| eloff ../engine/source/elements/eloff.F
27!||====================================================================
28 SUBROUTINE s8etemper(TEMP, TEMPEL, NELA, NPTR, NPTS, NPTT,
29 . NC1, NC2, NC3, NC4, NC5, NC6, NC7, NC8 )
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C G l o b a l P a r a m e t e r s
36C-----------------------------------------------
37#include "mvsiz_p.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41 INTEGER NELA, NPTR, NPTS, NPTT
42 INTEGER NC1(*), NC2(*), NC3(*), NC4(*), NC5(*), NC6(*), NC7(*), NC8(*)
43 my_real temp(*), tempel(mvsiz,*)
44C
45C-----------------------------------------------
46C L o c a l V a r i a b l e s
47C-----------------------------------------------
48 INTEGER I, J
49 INTEGER IR,IS,IT,IP
50C
51 my_real rp,sp,tp,sm,rm,tm,ksi,eta,zeta
52 my_real ni(8),a_gauss(9,9)
53
54 DATA a_gauss /
55 1 0. ,0. ,0. ,
56 1 0. ,0. ,0. ,
57 1 0. ,0. ,0. ,
58 2 -.577350269189626,0.577350269189626,0. ,
59 2 0. ,0. ,0. ,
60 2 0. ,0. ,0. ,
61 3 -.774596669241483,0. ,0.774596669241483,
62 3 0. ,0. ,0. ,
63 3 0. ,0. ,0. ,
64 4 -.861136311594053,-.339981043584856,0.339981043584856,
65 4 0.861136311594053,0. ,0. ,
66 4 0. ,0. ,0. ,
67 5 -.906179845938664,-.538469310105683,0. ,
68 5 0.538469310105683,0.906179845938664,0. ,
69 5 0. ,0. ,0. ,
70 6 -.932469514203152,-.661209386466265,-.238619186083197,
71 6 0.238619186083197,0.661209386466265,0.932469514203152,
72 6 0. ,0. ,0. ,
73 7 -.949107912342759,-.741531185599394,-.405845151377397,
74 7 0. ,0.405845151377397,0.741531185599394,
75 7 0.949107912342759,0. ,0. ,
76 8 -.960289856497536,-.796666477413627,-.525532409916329,
77 8 -.183434642495650,0.183434642495650,0.525532409916329,
78 8 0.796666477413627,0.960289856497536,0. ,
79 9 -.968160239507626,-.836031107326636,-.613371432700590,
80 9 -.324253423403809,0. ,0.324253423403809,
81 9 0.613371432700590,0.836031107326636,0.968160239507626/
82C------------------------------------------------------------------------------
83 DO ir=1,nptr
84 DO is=1,npts
85 DO it=1,nptt
86 ip = ir + ( (is-1) + (it-1)*npts )*nptr
87 ksi = a_gauss(ir,nptr)
88 eta = a_gauss(is,npts)
89 zeta= a_gauss(it,nptt)
90 rp = one + ksi
91 sp = one + eta
92 tp = one + zeta
93 rm = one - ksi
94 sm = one - eta
95 tm = one - zeta
96 ni(1) = one_over_8*rm*sm*tm
97 ni(2) = one_over_8*rp*sm*tm
98 ni(3) = one_over_8*rp*sp*tm
99 ni(4) = one_over_8*rm*sp*tm
100 ni(5) = one_over_8*rm*sm*tp
101 ni(6) = one_over_8*rp*sm*tp
102 ni(7) = one_over_8*rp*sp*tp
103 ni(8) = one_over_8*rm*sp*tp
104 DO i=1,nela
105 tempel(i,ip)= ni(1)*temp(nc1(i)) + ni(2)*temp(nc2(i)) +
106 . ni(3)*temp(nc3(i)) + ni(4)*temp(nc4(i)) +
107 . ni(5)*temp(nc5(i)) + ni(6)*temp(nc6(i)) +
108 . ni(7)*temp(nc7(i)) + ni(8)*temp(nc8(i))
109 ENDDO
110 ENDDO ! IT=1,NPTT
111 ENDDO ! IS=1,NPTS
112 ENDDO ! IR=1,NPTR
113C
114 RETURN
115 END
116
#define my_real
Definition cppsort.cpp:32
subroutine s8etemper(temp, tempel, nela, nptr, npts, nptt, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
Definition s8etemper.F:30