OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i2for28p.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!|| i2for28p ../engine/source/interfaces/interf/i2for28p.F
25!||--- called by ------------------------------------------------------
26!|| intti2f ../engine/source/interfaces/interf/intti2f.F
27!||--- calls -----------------------------------------------------
28!|| i2for28p_cin ../engine/source/interfaces/interf/i2for28p_cin.F
29!|| i2for28p_pen ../engine/source/interfaces/interf/i2for28p_pen.F
30!||--- uses -----------------------------------------------------
31!|| h3d_mod ../engine/share/modules/h3d_mod.F
32!||====================================================================
33 SUBROUTINE i2for28p(
34 . X ,V ,VR ,A ,AR ,
35 . MS ,IN ,STIFN ,STIFR ,WEIGHT ,
36 . IRECTM ,NSV ,IRTLM ,CSTS ,SKEW ,
37 . DR ,DL ,FINI ,FSAV ,FNCONT ,
38 . NSN ,I0 ,I2SIZE ,IADI2 ,FSKYI2 ,
39 . STFN_PEN ,STFR_PEN ,VISC ,PENFLAG ,IROT ,
40 . NOINT ,NODNX_SMS ,DMINT2 ,DT2T ,NELTST ,
41 . ITYPTST ,MMAS ,SMAS ,SINER ,MINER ,
42 . MSR ,IPENA ,ADI ,IDEL2 ,NIR ,
43 . NMN ,DPARA ,
44 . NMAS ,DMAST ,ADM ,H3D_DATA ,FNCONTP ,
45 . FTCONTP )
46C-----------------------------------------------
47C M o d u l e s
48C-----------------------------------------------
49 USE h3d_mod
50C-----------------------------------------------
51C I m p l i c i t T y p e s
52C-----------------------------------------------
53#include "implicit_f.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER NSN,NMN,NOINT,NELTST,ITYPTST,IDEL2,I0,I2SIZE,PENFLAG,IROT,NIR
58 INTEGER IRECTM(4,*),NSV(*),MSR(*),IRTLM(*),WEIGHT(*),IADI2(4,*),
59 . NODNX_SMS(*),IPENA(*)
60 my_real
61 . visc,dt2t
62 my_real
63 . x(3,*),v(3,*),a(3,*),vr(3,*),ar(3,*),ms(*),in(*),fini(6,4,*),
64 . dl(3,4,*),dr(3,4,*),stifn(*),stifr(*),stfn_pen(*),stfr_pen(*),
65 . fsav(*),fncont(3,*),dmint2(4,*),
66 . csts(2,*),smas(*),mmas(*),siner(*),miner(*),adi(*),skew(9,*),
67 . fskyi2(i2size,*),
68 . dpara(7,*),dmast,adm(*),nmas(*),fncontp(3,*) ,ftcontp(3,*)
69 TYPE (H3D_DATABASE) :: H3D_DATA
70C-----------------------------------------------
71C L o c a l V a r i a b l e s
72C-----------------------------------------------
73 INTEGER I,ISN,NI,I0BASE,NINDXC,NINDXP
74 INTEGER IADX(NSN),INDXC(NSN),INDXP(NSN)
75C===============================================
76 INDXC(1:NSN) = 0
77 indxp(1:nsn) = 0
78 iadx(1:nsn) = 0
79 nindxc = 0
80 nindxp = 0
81 i0base = i0
82 ni = 0
83C----------------
84 DO i=1,nsn
85 isn = abs(nsv(i))
86 IF (weight(isn) == 1) THEN
87 ni = ni+1
88 iadx(i) = ni
89 ENDIF
90c
91 IF (ipena(i) == 0) THEN
92 nindxc = nindxc + 1
93 indxc(i) = i
94 ELSE
95 nindxp = nindxp + 1
96 indxp(i) = i
97 ENDIF
98 ENDDO
99c-----------
100 IF (nindxc > 0) THEN
101 i0 = i0base
102 CALL i2for28p_cin(
103 1 nsn ,nmn ,a ,irectm ,dpara ,
104 2 msr ,nsv ,irtlm ,ms ,weight ,
105 3 ar ,in ,x ,stifn ,stifr ,
106 4 fskyi2 ,iadi2 ,fsav ,dmast ,adm ,
107 5 mmas ,i0 ,nir ,i2size ,idel2 ,
108 6 smas ,siner ,csts ,fncont ,indxc ,
109 7 iadx ,h3d_data,fncontp,ftcontp)
110c
111 ENDIF
112c
113 IF (nindxp > 0) THEN
114 i0 = i0base
115 CALL i2for28p_pen(
116 . x ,v ,vr ,a ,ar ,
117 . ms ,in ,stifn ,stifr ,weight ,
118 . nsv ,irtlm ,csts ,skew ,dl ,
119 . dr ,fini ,fsav ,fncont ,nsn ,
120 . i0 ,i2size ,iadi2 ,fskyi2 ,stfn_pen ,
121 . stfr_pen ,visc ,penflag ,irot ,noint ,
122 . nodnx_sms ,dmint2 ,dt2t ,neltst ,ityptst ,
123 . irectm ,indxp ,iadx ,
124 . h3d_data ,fncontp ,ftcontp)
125c
126 ENDIF
127 i0 = i0base + ni
128c-----------
129 RETURN
130 END SUBROUTINE i2for28p
subroutine i2for28p(x, v, vr, a, ar, ms, in, stifn, stifr, weight, irectm, nsv, irtlm, csts, skew, dr, dl, fini, fsav, fncont, nsn, i0, i2size, iadi2, fskyi2, stfn_pen, stfr_pen, visc, penflag, irot, noint, nodnx_sms, dmint2, dt2t, neltst, ityptst, mmas, smas, siner, miner, msr, ipena, adi, idel2, nir, nmn, dpara, nmas, dmast, adm, h3d_data, fncontp, ftcontp)
Definition i2for28p.F:46
subroutine i2for28p_cin(nsn, nmn, a, irect, dpara, msr, nsv, irtl, ms, weight, ar, in, x, stifn, stifr, fskyi2, iadi2, fsav, dmast, adm, mmass, i0, nir, i2size, idel2, smass, siner, crst, fncont, indxc, iadx, h3d_data, fncontp, ftcontp)
subroutine i2for28p_pen(x, v, vr, a, ar, ms, in, stifn, stifr, weight, nsv, irtl, crst, skew, dx, dr, fini, fsav, fncont, nsn, i0, i2size, iadi2, fskyi2, stfn, stfr, visc, penflag, irot, noint, nodnx_sms, dmint2, dt2t, neltst, ityptst, irect, indxp, iadx, h3d_data, fncontp, ftcontp)