OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mstiforth.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!|| mstiforth ../engine/source/elements/solid/solide8z/mstiforth.f
25!||--- called by ------------------------------------------------------
26!|| mmats ../engine/source/elements/solid/solide8z/mmats.F
27!||--- calls -----------------------------------------------------
28!|| cbatran3 ../engine/source/elements/shell/coqueba/cbasumg3.F
29!||====================================================================
30 SUBROUTINE mstiforth(JFT ,JLT ,QC ,QCG ,QGC ,
31 . QG ,CC ,G3 ,G33 ,CG )
32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C G l o b a l P a r a m e t e r s
38C-----------------------------------------------
39#include "mvsiz_p.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 INTEGER JFT, JLT
44C REAL
46 . qc(3,3,*),qcg(3,3,*),qgc(3,3,*),qg(3,3,*),
47 . g3(3,*),cc(3,3,*),cg(3,3,*),g33(3,3,*)
48C-----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
51 INTEGER I,J,K,ISYM
52C REAL
54 . a(3,3,mvsiz),b(3,3,mvsiz)
55C-----------------------------------------------
56 isym = 0
57 DO j= 1,3
58 DO k= j,3
59 DO i=jft,jlt
60 a(j,k,i)=cc(j,k,i)
61 b(j,k,i)=zero
62 ENDDO
63 ENDDO
64 ENDDO
65C
66 DO j= 1,3
67 DO k= j+1,3
68 DO i=jft,jlt
69 a(k,j,i)=cc(j,k,i)
70 b(k,j,i)=zero
71 ENDDO
72 ENDDO
73 ENDDO
74C
75 DO j= 1,3
76 DO i=jft,jlt
77 b(j,j,i)=g3(j,i)
78 ENDDO
79 ENDDO
80 CALL cbatran3(jft ,jlt ,qc ,a ,qcg,isym)
81 CALL cbatran3(jft ,jlt ,qgc ,b ,qg ,isym)
82C
83 DO j= 1,3
84 DO k= 1,3
85 DO i=jft,jlt
86 cg(j,k,i)=half*a(j,k,i)+two*b(j,k,i)
87 ENDDO
88 ENDDO
89 ENDDO
90C---------------[G']->[G33]----
91 isym = 1
92 DO j= 1,3
93 DO k= j,3
94 DO i=jft,jlt
95 a(j,k,i)=cc(j,k,i)
96 b(j,k,i)=zero
97 ENDDO
98 ENDDO
99 ENDDO
100C
101 DO j= 1,3
102 DO i=jft,jlt
103 b(j,j,i)=g3(j,i)
104 ENDDO
105 ENDDO
106 CALL cbatran3(jft ,jlt ,qcg ,a ,qcg,isym)
107 CALL cbatran3(jft ,jlt ,qg ,b ,qg ,isym)
108C
109 DO j= 1,3
110 DO k= j,3
111 DO i=jft,jlt
112 g33(j,k,i)=fourth*a(j,k,i)+b(j,k,i)
113 ENDDO
114 ENDDO
115 ENDDO
116C---------------[C']->[CC]----
117 DO j= 1,3
118 DO k= j,3
119 DO i=jft,jlt
120 a(j,k,i)=cc(j,k,i)
121 b(j,k,i)=zero
122 ENDDO
123 ENDDO
124 ENDDO
125C
126 DO j= 1,3
127 DO i=jft,jlt
128 b(j,j,i)=g3(j,i)
129 ENDDO
130 ENDDO
131 CALL cbatran3(jft ,jlt ,qc ,a ,qc ,isym)
132 CALL cbatran3(jft ,jlt ,qgc ,b ,qgc,isym)
133C
134 DO j= 1,3
135 DO k= j,3
136 DO i=jft,jlt
137 cc(j,k,i)=a(j,k,i)+four*b(j,k,i)
138 ENDDO
139 ENDDO
140 ENDDO
141C
142 DO j= 1,3
143 DO k= j+1,3
144 DO i=jft,jlt
145 cc(k,j,i)=cc(j,k,i)
146 g33(k,j,i)=g33(j,k,i)
147 ENDDO
148 ENDDO
149 ENDDO
150C
151 RETURN
152 END
subroutine cbatran3(jft, jlt, vqi, kk, vqj, isym)
Definition cbasumg3.F:382
subroutine cg(dim, mat, rhs, sol, max_iter, tol)
#define my_real
Definition cppsort.cpp:32
subroutine mstiforth(jft, jlt, qc, qcg, qgc, qg, cc, g3, g33, cg)
Definition mstiforth.F:32