OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mstiforthv.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!|| mstiforthv ../engine/source/elements/solid/solidez/mstiforthv.F
25!||--- called by ------------------------------------------------------
26!|| mmodul ../engine/source/elements/solid/solidez/mmodul.F
27!||--- calls -----------------------------------------------------
28!|| cbatran3v ../engine/source/elements/solid/solidez/cbatran3v.F
29!||====================================================================
30 SUBROUTINE mstiforthv(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(mvsiz,3,3),qcg(mvsiz,3,3),qgc(mvsiz,3,3),qg(mvsiz,3,3),
47 . g3(mvsiz,3),cc(mvsiz,3,3),cg(mvsiz,3,3),g33(mvsiz,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(mvsiz,3,3),b(mvsiz,3,3)
55C-----------------------------------------------
56 isym = 0
57 DO j= 1,3
58 DO k= j,3
59 DO i=jft,jlt
60 a(i,j,k)=cc(i,j,k)
61 b(i,j,k)=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(i,k,j)=cc(i,j,k)
70 b(i,k,j)=zero
71 ENDDO
72 ENDDO
73 ENDDO
74C
75 DO j= 1,3
76 DO i=jft,jlt
77 b(i,j,j)=g3(i,j)
78 ENDDO
79 ENDDO
80 CALL cbatran3v(jft ,jlt ,qc ,a ,qcg,isym)
81 CALL cbatran3v(jft ,jlt ,qgc ,b ,qg ,isym)
82C
83 DO j= 1,3
84 DO k= 1,3
85 DO i=jft,jlt
86 cg(i,j,k)=half*a(i,j,k)+two*b(i,j,k)
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(i,j,k)=cc(i,j,k)
96 b(i,j,k)=zero
97 ENDDO
98 ENDDO
99 ENDDO
100C
101 DO j= 1,3
102 DO i=jft,jlt
103 b(i,j,j)=g3(i,j)
104 ENDDO
105 ENDDO
106 CALL cbatran3v(jft ,jlt ,qcg ,a ,qcg,isym)
107 CALL cbatran3v(jft ,jlt ,qg ,b ,qg ,isym)
108C
109 DO j= 1,3
110 DO k= j,3
111 DO i=jft,jlt
112 g33(i,j,k)=fourth*a(i,j,k)+b(i,j,k)
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(i,j,k)=cc(i,j,k)
121 b(i,j,k)=zero
122 ENDDO
123 ENDDO
124 ENDDO
125C
126 DO j= 1,3
127 DO i=jft,jlt
128 b(i,j,j)=g3(i,j)
129 ENDDO
130 ENDDO
131 CALL cbatran3v(jft ,jlt ,qc ,a ,qc ,isym)
132 CALL cbatran3v(jft ,jlt ,qgc ,b ,qgc,isym)
133C
134 DO j= 1,3
135 DO k= j,3
136 DO i=jft,jlt
137 cc(i,j,k)=a(i,j,k)+four*b(i,j,k)
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(i,k,j)=cc(i,j,k)
146 g33(i,k,j)=g33(i,j,k)
147 ENDDO
148 ENDDO
149 ENDDO
150C
151 RETURN
152 END
subroutine cbatran3v(jft, jlt, vqi, kk, vqj, isym)
Definition cbatran3v.F:31
subroutine cg(dim, mat, rhs, sol, max_iter, tol)
#define my_real
Definition cppsort.cpp:32
subroutine mstiforthv(jft, jlt, qc, qcg, qgc, qg, cc, g3, g33, cg)
Definition mstiforthv.F:32