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 cbasumg3(jft, jlt, vqn, vq, nplat, iplat, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, m11, m12, m13, m14, m22, m23, m24, m33, m34, m44, mf11, mf12, mf13, mf14, mf22, mf23, mf24, mf33, mf34, mf44, fm12, fm13, fm14, fm23, fm24, fm34, ke11, ke22, ke33, ke44, ke12, ke13, ke14, ke23, ke24, ke34, vcore, idril, iorth)
Definition cbasumg3.F:43
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