OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i2_imp0.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!|| i2_imp0 ../engine/source/interfaces/interf/i2_imp0.F
25!||--- called by ------------------------------------------------------
26!|| upd_glob_k ../engine/source/implicit/upd_glob_k.F
27!||--- calls -----------------------------------------------------
28!|| i2_imp1 ../engine/source/interfaces/interf/i2_imp1.F
29!|| i2_impm ../engine/source/interfaces/interf/i2_imp1.F
30!||--- uses -----------------------------------------------------
31!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
32!||====================================================================
33 SUBROUTINE i2_imp0(NINT2 ,IINT2 ,IPARI ,
34 . INTBUF_TAB,X ,MS ,IN ,
35 . NMC2 ,IMIJ2 ,ITAB ,
36 . NSC2 ,ISIJ2 ,NSS2 ,ISS2,
37 . WEIGHT,IKC ,NDOF ,NDDL,IDDL ,
38 . IADK ,JDIK ,DIAG_K,LT_K,B )
39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE intbufdef_mod
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "param_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER IPARI(NPARI,*), WEIGHT(*),
55 . NINT2 ,IINT2(*),NSC2(*),ISIJ2(*),NSS2(*),ISS2(*),
56 . NMC2,IMIJ2(*),ITAB(*)
57 INTEGER NDDL,IADK(*),JDIK(*),NDOF(*),IDDL(*),IKC(*)
58C REAL
60 . x(*), ms(*),in(*),diag_k(*),lt_k(*),b(*)
61
62 TYPE(intbuf_struct_) INTBUF_TAB(*)
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER N, NTY, JI, JB, NSN, I, K,NK,NN,J
67C-----------------------------------------------
68 k=1
69 nk=1
70 nn=1
71 DO i=1,nint2
72 n=iint2(i)
73 ji=ipari(1,n)
74 jb=ipari(2,n)
75 nsn =ipari(5,n)
76 CALL i2_imp1(ipari(1,n),intbuf_tab(n),itab ,
77 . nsc2(i),isij2(nk),nss2(k),iss2(nn),
78 . x ,ms , in,weight,
79 . ikc ,ndof ,nddl,iddl ,iadk ,
80 . jdik ,diag_k ,lt_k ,b )
81 DO j=1,nsn
82 nn = nn + nss2(k+j-1)
83 ENDDO
84 k = k + nsn
85 nk = nk + 2*nsc2(i)
86 ENDDO
87 IF (nmc2>0)
88 . CALL i2_impm(ipari ,intbuf_tab,nmc2 ,imij2 ,
89 . x ,ms , in,weight,
90 . ndof ,nddl ,iddl ,iadk ,jdik ,
91 . lt_k ,diag_k )
92C
93 RETURN
94 END
95!||====================================================================
96!|| i2_impi ../engine/source/interfaces/interf/i2_imp0.F
97!||--- called by ------------------------------------------------------
98!|| upd_int_k ../engine/source/implicit/upd_glob_k.F
99!||--- calls -----------------------------------------------------
100!|| i2_imp1 ../engine/source/interfaces/interf/i2_imp1.F
101!||--- uses -----------------------------------------------------
102!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
103!||====================================================================
104 SUBROUTINE i2_impi(NINT2 ,IINT2 ,IPARI ,
105 . INTBUF_TAB,X ,MS ,IN ,
106 . NSS2 ,ISS2,WEIGHT,IKC ,NDOF ,
107 . NDDL ,IDDL ,IADK ,JDIK ,DIAG_K,
108 . LT_K ,IAINT2,B ,ITAB )
109C-----------------------------------------------
110C M o d u l e s
111C-----------------------------------------------
112 USE intbufdef_mod
113C-----------------------------------------------
114C I m p l i c i t T y p e s
115C-----------------------------------------------
116#include "implicit_f.inc"
117C-----------------------------------------------
118C C o m m o n B l o c k s
119C-----------------------------------------------
120#include "param_c.inc"
121C-----------------------------------------------
122C D u m m y A r g u m e n t s
123C-----------------------------------------------
124 INTEGER IPARI(NPARI,*), WEIGHT(*),
125 . NINT2 ,IINT2(*),NSS2(*),ISS2(*),IAINT2(*),ITAB(*)
126 INTEGER NDDL,IADK(*),JDIK(*),NDOF(*),IDDL(*),IKC(*)
127C REAL
128 my_real
129 . X(*), MS(*),IN(*),DIAG_K(*),LT_K(*),B(*)
130
131 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
132C-----------------------------------------------
133C L o c a l V a r i a b l e s
134C-----------------------------------------------
135 INTEGER N, JI, JB, NSN, I, K,J,NN,NSC2,ISIJ2
136C-----------------------------------------------
137 k=1
138 nn=1
139 nsc2=0
140 DO i=1,nint2
141 IF (iaint2(i)==1) THEN
142 n=iint2(i)
143 ji=ipari(1,n)
144 jb=ipari(2,n)
145 nsn =ipari(5,n)
146 CALL i2_imp1(ipari(1,n),intbuf_tab(n) ,itab ,
147 . nsc2,isij2,nss2(k),iss2(nn),
148 . x ,ms , in,weight,
149 . ikc ,ndof ,nddl,iddl ,iadk ,
150 . jdik ,diag_k ,lt_k ,b )
151 DO j=1,nsn
152 nn = nn + nss2(k+j-1)
153 ENDDO
154 k = k + nsn
155 ENDIF
156 ENDDO
157C
158 RETURN
159 END
#define my_real
Definition cppsort.cpp:32
subroutine i2_impi(nint2, iint2, ipari, intbuf_tab, x, ms, in, nss2, iss2, weight, ikc, ndof, nddl, iddl, iadk, jdik, diag_k, lt_k, iaint2, b, itab)
Definition i2_imp0.F:109
subroutine i2_imp0(nint2, iint2, ipari, intbuf_tab, x, ms, in, nmc2, imij2, itab, nsc2, isij2, nss2, iss2, weight, ikc, ndof, nddl, iddl, iadk, jdik, diag_k, lt_k, b)
Definition i2_imp0.F:39
subroutine i2_impm(ipari, intbuf_tab, nmc2, imij2, x, ms, in, weight, ndof, nddl, iddl, iadk, jdik, lt_k, diag_k)
Definition i2_imp1.F:121
subroutine i2_imp1(ipari, intbuf_tab, itab, nsc2, isij2, nss2, iss2, x, ms, in, weight, ikc, ndof, nddl, iddl, iadk, jdik, diag_k, lt_k, b)
Definition i2_imp1.F:39