OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
gfhour_or.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!|| gfhour_or ../engine/source/elements/solid/solidez/gfhour_or.F
25!||--- called by ------------------------------------------------------
26!|| szhour3_or ../engine/source/elements/solid/solidez/szhour3_or.F
27!||====================================================================
28 SUBROUTINE gfhour_or(LFT,LLT,
29 . FHOUR,JR0,JS0,JT0,FCL,
30 . HGX1, HGX2, HGX3, HGX4,
31 . HGY1, HGY2, HGY3, HGY4,
32 . HGZ1, HGZ2, HGZ3, HGZ4,
33 . H11 , H22 , H33 ,
34 . H12 , H13 , H23 ,
35 . JR_1,JS_1 , JT_1, NU ,NU2 ,
36 . CC ,CG ,G33 ,NFHOUR,NEL)
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"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER LFT,LLT,NEL
49 my_real
50 . FHOUR(NEL,3,4),JR0(*),JS0(*),JT0(*) ,NU(*),NU2(*),
51 . H11(*), H22(*), H33(*),FCL(*),
52 . H12(*), H13(*), H23(*),
53 . HGX1(*), HGX2(*), HGX3(*), HGX4(*),
54 . HGY1(*), HGY2(*), HGY3(*), HGY4(*),
55 . HGZ1(*), HGZ2(*), HGZ3(*), HGZ4(*),
56 . jr_1(*),js_1(*),jt_1(*),nfhour(mvsiz,3,4)
57 my_real
58 . cc(mvsiz,3,3),cg(mvsiz,3,3),g33(mvsiz,3,3)
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I, MX, J,K
63 my_real
64 . T13,T22,T31,T32,SXY,SYZ,SXZ,SYX,SZY,SZX,
65 . s1211,s1222,s1311,s1333,s2322,s2333,
66 . t1211,t1222,t1311,t1333,t2322,t2333,t12,t23
67 my_real
68 . fhourt(3,4),nucc(mvsiz,3,3),r1,r2,r3
69C-----------------------------------------------
70 DO j=1,3
71 DO k=j,3
72 DO i=lft,llt
73 nucc(i,j,k) = nu2(i)*cc(i,j,k)
74 nucc(i,k,j) = nucc(i,j,k)
75 ENDDO
76 ENDDO
77 ENDDO
78 DO i=lft,llt
79 fhourt(1,1) = fhour(i,1,1)*jr0(i)+fcl(i)*hgx1(i)
80 fhourt(1,2) = fhour(i,1,2)*jr0(i)+fcl(i)*hgx2(i)
81 fhourt(1,3) = fhour(i,1,3)*jr0(i)+fcl(i)*hgx3(i)
82 fhourt(1,4) = fhour(i,1,4)*jr0(i)+fcl(i)*hgx4(i)
83 fhourt(2,1) = fhour(i,2,1)*js0(i)+fcl(i)*hgy1(i)
84 fhourt(2,2) = fhour(i,2,2)*js0(i)+fcl(i)*hgy2(i)
85 fhourt(2,3) = fhour(i,2,3)*js0(i)+fcl(i)*hgy3(i)
86 fhourt(2,4) = fhour(i,2,4)*js0(i)+fcl(i)*hgy4(i)
87 fhourt(3,1) = fhour(i,3,1)*jt0(i)+fcl(i)*hgz1(i)
88 fhourt(3,2) = fhour(i,3,2)*jt0(i)+fcl(i)*hgz2(i)
89 fhourt(3,3) = fhour(i,3,3)*jt0(i)+fcl(i)*hgz3(i)
90 fhourt(3,4) = fhour(i,3,4)*jt0(i)+fcl(i)*hgz4(i)
91C-----
92 t31 = nu2(i)*cg(i,3,1)
93 t12 = nu2(i)*cg(i,1,2)
94 t23 = nu2(i)*cg(i,2,3)
95 sxy = (cg(i,1,1)-t31)*fhourt(1,2)
96 syx = (cg(i,2,1)-t31)*fhourt(2,1)
97 syz = (cg(i,2,2)-t12)*fhourt(2,3)
98 szy = (cg(i,3,2)-t12)*fhourt(3,2)
99 sxz = (cg(i,1,3)-t23)*fhourt(1,3)
100 szx = (cg(i,3,3)-t23)*fhourt(3,1)
101 s1211 = jr0(i)*js_1(i)*fhourt(1,1)
102 s1222 = js0(i)*jr_1(i)*fhourt(2,2)
103 s1311 = jr0(i)*jt_1(i)*fhourt(1,1)
104 s1333 = jt0(i)*jr_1(i)*fhourt(3,3)
105 s2322 = js0(i)*jt_1(i)*fhourt(2,2)
106 s2333 = jt0(i)*js_1(i)*fhourt(3,3)
107 t1211 = s1211*g33(i,1,1)
108 t1222 = s1222*g33(i,1,1)
109C-------verify w/ Radioss convention
110 t1311 = s1311*g33(i,3,3)
111 t1333 = s1333*g33(i,3,3)
112 t2322 = s2322*g33(i,2,2)
113 t2333 = s2333*g33(i,2,2)
114 nfhour(i,1,1) = h12(i)*(sxy+t1211)+h22(i)*(syx+t1222)+
115 . h13(i)*(sxz+t1311)+h33(i)*(szx+t1333)
116 nfhour(i,2,2) = h11(i)*(sxy+t1211)+h12(i)*(syx+t1222)+
117 . h23(i)*(syz+t2322)+h33(i)*(szy+t2333)
118 nfhour(i,3,3) = h11(i)*(sxz+t1311)+h13(i)*(szx+t1333)+
119 . h22(i)*(syz+t2322)+h23(i)*(szy+t2333)
120c
121 nfhour(i,1,2) = h11(i)*fhourt(1,2)*(
122 . (cc(i,1,1)-nucc(i,1,3)-nu2(i)*(cc(i,3,1)-nucc(i,3,3))))+
123 . h12(i)*fhourt(2,1)*(
124 . (cc(i,1,2)-nucc(i,1,3)-nu2(i)*(cc(i,3,2)-nucc(i,3,3))))+
125 . (cg(i,1,1)-t31)*(h11(i)*s1211+h12(i)*s1222)
126 nfhour(i,1,3) =h11(i)*fhourt(1,3)*(
127 . (cc(i,1,1)-nucc(i,1,2)-nu2(i)*(cc(i,2,1)-nucc(i,2,2))))+
128 . h13(i)*fhourt(3,1)*(
129 . (cc(i,1,3)-nucc(i,1,2)-nu2(i)*(cc(i,2,3)-nucc(i,2,2))))+
130 . (cg(i,1,3)-t23)*(h11(i)*s1311+h13(i)*s1333)
131 nfhour(i,1,4) = third*h11(i)*fhourt(1,4)*(
132 . (cc(i,1,1)-nu(i)*(two*(cc(i,1,2)+cc(i,1,3)-nu(i)*cc(i,2,3))-
133 . nu(i)*(cc(i,2,2)+cc(i,3,3)))))
134C
135 nfhour(i,2,1) = h12(i)*fhourt(1,2)*(
136 . (cc(i,2,1)-nucc(i,2,3)-nu2(i)*(cc(i,3,1)-nucc(i,3,3))))+
137 . h22(i)*fhourt(2,1)*(
138 . (cc(i,2,2)-nucc(i,2,3)-nu2(i)*(cc(i,3,2)-nucc(i,3,3))))+
139 . (cg(i,2,1)-t31)*(h12(i)*s1211+h22(i)*s1222)
140 nfhour(i,2,3) = h22(i)*fhourt(2,3)*(
141 . (cc(i,2,2)-nucc(i,2,1)-nu2(i)*(cc(i,1,2)-nucc(i,1,1))))+
142 . h23(i)*fhourt(3,2)*(
143 . (cc(i,2,3)-nucc(i,2,1)-nu2(i)*(cc(i,1,3)-nucc(i,1,1))))+
144 . (cg(i,2,2)-t12)*(h22(i)*s2322+h23(i)*s2333)
145 nfhour(i,2,4) = third*h22(i)*fhourt(2,4)*(
146 . (cc(i,2,2)-nu(i)*(two*(cc(i,1,2)+cc(i,2,3)-nu(i)*cc(i,1,3))-
147 . nu(i)*(cc(i,1,1)+cc(i,3,3)))))
148c
149 nfhour(i,3,1) = h13(i)*fhourt(1,3)*(
150 . (cc(i,3,1)-nucc(i,3,2)-nu2(i)*(cc(i,2,1)-nucc(i,2,2))))+
151 . h33(i)*fhourt(3,1)*(
152 . (cc(i,3,3)-nucc(i,3,2)-nu2(i)*(cc(i,2,3)-nucc(i,2,2))))+
153 . (cg(i,3,3)-t23)*(h13(i)*s1311+h33(i)*s1333)
154 nfhour(i,3,2) = h23(i)*fhourt(2,3)*(
155 . (cc(i,3,2)-nucc(i,3,1)-nu2(i)*(cc(i,1,2)-nucc(i,1,1))))+
156 . h33(i)*fhourt(3,2)*(
157 . (cc(i,3,3)-nucc(i,3,1)-nu2(i)*(cc(i,1,3)-nucc(i,1,1))))+
158 . (cg(i,3,2)-t12)*(h23(i)*s2322+h33(i)*s2333)
159 nfhour(i,3,4) = third*h33(i)*fhourt(3,4)*(
160 . (cc(i,3,3)-nu(i)*(two*(cc(i,1,3)+cc(i,2,3)-nu(i)*cc(i,1,2))-
161 . nu(i)*(cc(i,1,1)+cc(i,2,2)))))
162 ENDDO
163C
164 RETURN
165 END
subroutine cg(dim, mat, rhs, sol, max_iter, tol)
subroutine gfhour_or(lft, llt, fhour, jr0, js0, jt0, fcl, hgx1, hgx2, hgx3, hgx4, hgy1, hgy2, hgy3, hgy4, hgz1, hgz2, hgz3, hgz4, h11, h22, h33, h12, h13, h23, jr_1, js_1, jt_1, nu, nu2, cc, cg, g33, nfhour, nel)
Definition gfhour_or.F:37