OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
forints.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!|| forints ../engine/source/elements/forints.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- calls -----------------------------------------------------
28!|| initbuf ../engine/share/resol/initbuf.F
29!|| startimeg ../engine/source/system/timer.F
30!|| stoptimeg ../engine/source/system/timer.F
31!|| xforc3 ../engine/source/elements/xelem/xforc3.F
32!||--- uses -----------------------------------------------------
33!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
34!|| initbuf_mod ../engine/share/resol/initbuf.F
35!||====================================================================
36 SUBROUTINE forints(
37 1 PM ,GEO ,X ,A ,AR ,
38 2 V ,VR ,MS ,IN ,W ,
39 3 ELBUF ,VAL2 ,VEUL ,FV ,
40 4 STIFN ,STIFR ,FSKY ,TF ,BUFMAT ,
41 5 PARTSAV ,FANI ,FSAV ,
42 6 SKEW ,DT2T ,
43 7 IADS ,IPARG ,NPC ,IXS ,
44 8 NELTST ,ITYPTST ,IPART ,IPARTS ,ITAB ,
45 9 FSKYI ,BUFGEO ,KXX ,IXX ,ISKY ,
46 A IPARTX ,GRESAV ,GRTH ,
47 B IGRTH ,ELBUF_TAB )
48C-----------------------------------------------
49C M o d u l e s
50C-----------------------------------------------
51 USE initbuf_mod
52 USE elbufdef_mod
53C-----------------------------------------------
54C I m p l i c i t T y p e s
55C-----------------------------------------------
56#include "implicit_f.inc"
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "com01_c.inc"
61#include "param_c.inc"
62#include "vect01_c.inc"
63#include "scr17_c.inc"
64#include "task_c.inc"
65#include "parit_c.inc"
66#include "scr23_c.inc"
67C-----------------------------------------------------------------
68C D u m m y A r g u m e n t s
69C-----------------------------------------------
70 INTEGER IXS(NIXS,*),IPART(LIPART1,*) ,IPARTS(*) ,
71 . NPC(*), IPARG(NPARG,*),IADS(8,*),NELTST,ITYPTST,
72 . KXX(NIXX,*),I XX(*), ITAB(*),
73 . IPARTX(*), ISKY(*),GRTH(*),IGRTH(*)
74C REAL
75 my_real
76 . X(3,*) ,V(3,*) ,VR(3,*),
77 . MS(*) ,IN(*) ,PM(NPROPM,*),SKEW(LSKEW,*),GEO(NPROPG,*),
78 . BUFMAT(*) ,W(3,*) ,VEUL(*),TF(*) ,
79 . FSAV(NTHVKI,*) ,ELBUF(*) ,
80 . FV(*) ,A(3,*) ,AR(3,*) ,VAL2(*) ,
81 . fani(3,*) ,partsav(*),stifn(*) ,stifr(*),
82 . fsky(*) ,
83 . dt2t,fskyi(lskyi,nfskyi) ,bufgeo(*),gresav(*)
84C
85 TYPE(elbuf_struct_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
86C-----------------------------------------------
87C L o c a l V a r i a b l e s
88C-----------------------------------------------
89 INTEGER I,N, NG, NVC, MLW, JFT, JLT ,K ,
90 . K1, K2, KAD,IAD2,NF1,IPRI,NGLOC, NELEM, OFFSET,
91 . NSG, NEL,ISOLNOD
92 INTEGER IADUIX,IADUX ,IADUV ,IADUVR,IADUMS,
93 . IADUIN,IADUSM,IADUSR,IADUMV,IADURV,
94 . IADUF ,IADUTQ
95C-----------------------------------------------
96C
97 DO 240 ng=1,ngroup
98 IF(iparg(8,ng)==1.OR.iparg(5,ng)/=100)GOTO 240
99 IF (iddw>0) CALL startimeg(ng)
100 DO nelem = 1,iparg(2,ng),nvsiz
101C---
102C
103 offset = nelem - 1
104C
105 CALL initbuf(iparg ,ng ,
106 2 mtn ,nel ,nft ,iad ,ity ,
107 3 npt ,jale ,ismstr ,jeul ,jtur ,
108 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
109 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
110 6 irep ,iint ,igtyp ,israt ,isrot ,
111 7 icsen ,isorth ,isorthg ,ifailure,jsms )
112C
113 nsg =iparg(10,ng)
114 nvc =iparg(19,ng)
115 jhbe =iparg(23,ng)
116 igre =iparg(51,ng)
117C
118 lft=1
119 llt=min(nvsiz,nel-nelem+1)
120C Multi-purpose element Groups are constituted,
121C but Multi-purpose element is not supposed to be vectorized ..
122 CALL xforc3(
123 1 nft, nel, geo, pm,
124 2 itab, kxx, ixx, x,
125 3 v, vr, a, ar,
126 4 elbuf(iad), npc, tf, skew,
127 5 dt2t, neltst, ityptst, stifn,
128 6 stifr, ms, in, fskyi,
129 7 isky, partsav, ipartx, bufmat,
130 8 bufgeo, gresav, grth, igrth,
131 9 elbuf_tab(ng),igre)
132 IF (iddw>0) CALL stoptimeg(ng)
133 END DO
134 240 CONTINUE
135C----------------------------------
136 RETURN
137 END
subroutine startimeg(ng)
Definition timer.F:1487
subroutine stoptimeg(ng)
Definition timer.F:1535
subroutine forints(pm, geo, x, a, ar, v, vr, ms, in, w, elbuf, val2, veul, fv, stifn, stifr, fsky, tf, bufmat, partsav, fani, fsav, skew, dt2t, iads, iparg, npc, ixs, neltst, ityptst, ipart, iparts, itab, fskyi, bufgeo, kxx, ixx, isky, ipartx, gresav, grth, igrth, elbuf_tab)
Definition forints.F:48
#define min(a, b)
Definition macros.h:20
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261
subroutine xforc3(nft, nel, geo, pm, itab, kxx, ixx, x, v, vr, f, ar, ev, npc, pld, skew, dt2t, neltst, ityptst, stifn, stifr, ms, in, fskyi, isky, partsav, ipartx, bufmat, bufgeo, gresav, grth, igrth, elbuf_str, igre)
Definition xforc3.F:52