OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
intti2v.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!|| intti2v ../engine/source/interfaces/interf/intti2v.F
25!||--- called by ------------------------------------------------------
26!|| intti2 ../engine/source/interfaces/interf/intti2.F
27!||--- calls -----------------------------------------------------
28!|| i2curvv ../engine/source/interfaces/interf/i2curvv.F
29!|| i2rot10 ../engine/source/interfaces/interf/i2vit10.F
30!|| i2rot3 ../engine/source/interfaces/interf/i2vit3.F
31!|| i2virot3 ../engine/source/interfaces/interf/i2vit3.F
32!|| i2vit10 ../engine/source/interfaces/interf/i2vit10.F
33!|| i2vit27 ../engine/source/interfaces/interf/i2vit27.F
34!|| i2vit28 ../engine/source/interfaces/interf/i2vit28.F
35!|| i2vit3 ../engine/source/interfaces/interf/i2vit3.F
36!|| i2vit3n ../engine/source/interfaces/interf/i2vit3.F
37!||--- uses -----------------------------------------------------
38!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
39!||====================================================================
40 SUBROUTINE intti2v(IPARI,X ,V ,
41 . A ,VR ,AR ,MS ,IN ,
42 . WEIGHT,INTBUF_TAB)
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE intbufdef_mod
47C-----------------------------------------------
48C I m p l i c i t T y p e s
49C-----------------------------------------------
50#include "implicit_f.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER IPARI(*), WEIGHT(*)
55C REAL
57 . x(*), v(*), a(*),
58 . ms(*),in(*),ar(*),vr(*)
59
60 TYPE(intbuf_struct_) INTBUF_TAB
61C-----------------------------------------------
62C C o m m o n B l o c k s
63C-----------------------------------------------
64#include "com01_c.inc"
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68 INTEGER NSN,NMN,NRTS,NRTM,ILEV,IDEL2
69C=======================================================================
70 nrts = ipari(3)
71 nrtm = ipari(4)
72 nsn = ipari(5)
73 nmn = ipari(6)
74 ilev = ipari(20)
75 idel2 = ipari(17)
76C
77 IF (ilev == 25 .or. ilev == 26) THEN
78 CONTINUE
79 ELSEIF (ilev == 27) THEN
80 CALL i2vit27(intbuf_tab,ipari,weight,nsn ,
81 . x ,v ,a ,vr ,ar ,
82 . ms ,in )
83c
84 ELSEIF (ilev == 28) THEN
85 CALL i2vit28(intbuf_tab,ipari,weight,nsn ,
86 . x ,v ,a ,vr ,ar ,
87 . ms ,in )
88c
89 ELSEIF (ilev == 1.AND.iroddl /= 0) THEN
90C
91C FORMULATION SANS MOMENT SUR MAIN
92C
93 CALL i2virot3(nsn ,nmn ,
94 2 a ,intbuf_tab%IRECTM,
95 3 intbuf_tab%DPARA,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
96 4 v ,ms ,ar ,vr ,
97 5 x ,weight)
98 ELSEIF(ilev == 2)THEN
99C
100C FORMULATION AVEC MOMENT SUR MAIN
101C
102 CALL i2vit3(nsn ,nmn ,
103 2 a ,intbuf_tab%IRECTM,
104 3 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
105 4 v ,ms ,weight ,intbuf_tab%NMAS)
106C
107 IF(iroddl /= 0)THEN
108 CALL i2rot3(nsn ,nmn ,
109 2 ar ,intbuf_tab%IRECTM,
110 3 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
111 4 vr ,in ,a ,v ,
112 5 x )
113 ENDIF
114C
115 ELSEIF(ilev == 4)THEN
116C
117C FORMULATION decouplant les ddl rot
118C
119 CALL i2vit3(nsn ,nmn ,
120 2 a ,intbuf_tab%IRECTM,
121 3 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
122 4 v ,ms ,weight ,intbuf_tab%NMAS)
123C
124 ELSEIF (ilev >= 10 .AND. ilev < 23) THEN
125C FORMULATION AVEC RUPTURE
126C
127 CALL i2vit10(
128 1 nsn ,nmn ,ms ,v ,a ,
129 2 ar ,vr ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
130 3 intbuf_tab%MSR,intbuf_tab%IRTLM,intbuf_tab%CSTS,intbuf_tab%IRUPT,weight )
131 IF(iroddl /= 0) THEN
132 CALL i2rot10(
133 1 nsn ,nmn ,ms ,v ,a ,
134 2 ar ,vr ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
135 3 intbuf_tab%MSR,intbuf_tab%IRTLM,intbuf_tab%CSTS,intbuf_tab%IRUPT,weight )
136 ENDIF
137 ELSEIF (ilev == 30 .AND. iroddl /= 0) THEN
138C Formulation avec courbure du main
139 CALL i2curvv(
140 1 nsn ,nmn ,ms ,v ,a ,
141 2 ar ,vr ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
142 3 intbuf_tab%MSR,intbuf_tab%IRTLM,intbuf_tab%CSTS,weight )
143C
144 ELSEIF(ilev == 0.OR.iroddl == 0)THEN
145C FORMULATION AVEC MOMENT SUR MAIN
146C
147 CALL i2vit3n(nsn ,nmn ,
148 2 a ,intbuf_tab%IRECTM,
149 3 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
150 4 v ,ms ,weight ,intbuf_tab%NMAS)
151C
152 IF(iroddl /= 0)THEN
153 CALL i2rot3(nsn ,nmn ,
154 2 ar ,intbuf_tab%IRECTM,
155 3 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
156 4 vr ,in ,a ,v ,
157 5 x )
158 ENDIF
159 ENDIF
160C-----------
161 RETURN
162 END
#define my_real
Definition cppsort.cpp:32
subroutine i2curvv(nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, weight)
Definition i2curvv.F:36
subroutine i2vit10(nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, irupt, weight)
Definition i2vit10.F:32
subroutine i2rot10(nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, irupt, weight)
Definition i2vit10.F:107
subroutine i2vit27(intbuf_tab, ipari, weight, nsn, x, v, a, vr, ar, ms, in)
Definition i2vit27.F:36
subroutine i2vit28(intbuf_tab, ipari, weight, nsn, x, v, a, vr, ar, ms, in)
Definition i2vit28.F:35
subroutine i2vit3(nsn, nmn, a, irect, crst, msr, nsv, irtl, v, ms, weight, mmass)
Definition i2vit3.F:119
subroutine i2virot3(nsn, nmn, a, irect, dpara, msr, nsv, irtl, v, ms, ar, vr, x, weight)
Definition i2vit3.F:319
subroutine i2vit3n(nsn, nmn, a, irect, crst, msr, nsv, irtl, v, ms, weight, mmass)
Definition i2vit3.F:32
subroutine i2rot3(nsn, nmn, ar, irect, crst, msr, nsv, irtl, vr, in, a, v, x)
Definition i2vit3.F:213
subroutine intti2v(ipari, x, v, a, vr, ar, ms, in, weight, intbuf_tab)
Definition intti2v.F:43