OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sktcons2.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!|| sktcons2 ../engine/source/elements/solid/solide8z/sktcons2.F
25!||--- called by ------------------------------------------------------
26!|| mmstifs ../engine/source/elements/solid/solide8z/mmstifs.F
27!||--- calls -----------------------------------------------------
28!|| sktvonm4 ../engine/source/elements/solid/solide8z/sktvonm4.F
29!||--- uses -----------------------------------------------------
30!|| imp_ktan ../engine/share/modules/impbufdef_mod.F
31!|| imp_ktan_def ../engine/share/modules/impbufdef_mod.F
32!||====================================================================
33 SUBROUTINE sktcons2(
34 1 JFT, JLT, CC, LAMDA,
35 2 G, CG, G33, IR,
36 3 IS, IT, NEL, MTN)
37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE imp_ktan
41 USE imp_ktan_def
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "impl1_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER, INTENT(IN) :: NEL
58 INTEGER, INTENT(IN) :: MTN
59 INTEGER JFT, JLT ,IR,IS,IT
60C REAL
62 . lamda(*),g(*),cc(3,3,*),cg(3,3,*),g33(3,3,*)
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER I,MX,J,K,IPLAST
67C REAL
68 my_real
69 . nu,sig(6,mvsiz),alpha(mvsiz),g2,tt,tv
70 TYPE(l_ktbufep_) , POINTER :: LBUF
71 TYPE(mlaw_tag_) , POINTER :: MTAG
72C-----------------------------------------------
73 mtag => ktbuf_str(ng_imp)%MLAW_TAG(mtn)
74 lbuf => ktbuf_str(ng_imp)%KTBUFEP(ir,is,it)
75 IF (mtag%L_A_KT>0) THEN
76 DO i=jft,jlt
77c ...... SIG contains normalized deviatoric stresses ...
78 j=6*(i-1)
79 sig(1,i)= lbuf%SIGE(j+1)
80 sig(2,i)= lbuf%SIGE(j+2)
81 sig(3,i)= lbuf%SIGE(j+3)
82 sig(4,i)= lbuf%SIGE(j+4)
83 sig(5,i)= lbuf%SIGE(j+5)
84 sig(6,i)= lbuf%SIGE(j+6)
85c ..... ALPHA(I) is the alpha constant of the radial return..
86 alpha(i)= lbuf%A_KT(i)
87 ENDDO
88 ELSE
89 DO i=jft,jlt
90 alpha(i)= one
91 ENDDO
92 END IF !(MTAG%L_A_KT>0) THEN
93 DO i=jft,jlt
94 tv=lamda(i)+two_third*g(i)*(one-alpha(i))
95 tt=tv+two*g(i)*alpha(i)
96 cc(1,1,i)=tt
97 cc(2,2,i)=tt
98 cc(3,3,i)=tt
99 cc(1,2,i)=tv
100 cc(1,3,i)=tv
101 cc(2,3,i)=tv
102 cc(2,1,i)=tv
103 cc(3,1,i)=tv
104 cc(3,2,i)=tv
105 ENDDO
106 DO j = 1, 3
107 DO k = 1, 3
108 DO i=jft,jlt
109 cg(j,k,i)=zero
110 g33(j,k,i)=zero
111 ENDDO
112 ENDDO
113 ENDDO
114 DO i=jft,jlt
115 g2 = g(i)*alpha(i)
116 g33(1,1,i)=g2
117 g33(2,2,i)=g2
118 g33(3,3,i)=g2
119 ENDDO
120 CALL sktvonm4(1 ,nel ,cc ,sig ,cg ,
121 . g33 ,alpha )
122C
123 RETURN
124 END
subroutine cg(dim, mat, rhs, sol, max_iter, tol)
#define my_real
Definition cppsort.cpp:32
#define alpha
Definition eval.h:35
type(ktbuf_struct_), dimension(:), allocatable, target ktbuf_str
subroutine sktcons2(jft, jlt, cc, lamda, g, cg, g33, ir, is, it, nel, mtn)
Definition sktcons2.F:37
subroutine sktvonm4(lft, llt, dd, sig, dd1, gt, r)
Definition sktvonm4.F:30