OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lagm_ini.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!|| lagm_ini ../starter/source/tools/lagmul/lagm_ini.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| lgmini_bc ../starter/source/tools/lagmul/lgmini_bc.F
30!|| lgmini_fxv ../starter/source/tools/lagmul/lgmini_fxv.F
31!|| lgmini_gj ../starter/source/tools/lagmul/lgmini_gj.F
32!|| lgmini_i2 ../starter/source/tools/lagmul/lgmini_i2.F
33!|| lgmini_mpc ../starter/source/tools/lagmul/lgmini_mpc.f
34!||--- uses -----------------------------------------------------
35!|| message_mod ../starter/share/message_module/message_mod.F
36!||====================================================================
37 SUBROUTINE lagm_ini(NHF ,IADHF ,IADLL ,JLL ,LLL ,
38 2 IPARI ,INTBUF_TAB ,IGRNOD , IBCSLAG,
39 3 MASS ,INER ,GJBUFI ,IBUFNC ,IBUFNN ,
40 4 IBUFDL ,IBUFSK ,IBFV ,VEL ,ITAB ,
41 5 NOM_OPT,PTR_NOPT_INTER,PTR_NOPT_FXV,PTR_NOPT_BCS,
42 6 PTR_NOPT_MPC,PTR_NOPT_GJOINT)
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE message_mod
47 USE intbufdef_mod
48 USE groupdef_mod
49C----------------------------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "param_c.inc"
57#include "com04_c.inc"
58#include "lagmult.inc"
59#include "scr17_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER NHF
64 INTEGER IADHF(*), IADLL(*), JLL(*), LLL(*),
65 . IPARI(NPARI,NINTER),IBCSLAG(5,*),
66 . GJBUFI(LKJNI,*),IBFV(NIFV,*),
67 . IBUFNC(*),IBUFNN(*),IBUFDL(*),IBUFSK(*),ITAB(*)
69 . vel(lfxvelr,*),mass(*),iner(*)
70 INTEGER NOM_OPT(LNOPT1,*),PTR_NOPT_INTER,PTR_NOPT_FXV,
71 . PTR_NOPT_BCS,PTR_NOPT_MPC,PTR_NOPT_GJOINT
72 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
73C-----------------------------------------------
74 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
75C-----------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: LTSM
79 INTEGER IC, IK, J, JC, NCF, HIJ, ERR
80C======================================================================|
81 ALLOCATE(LTSM(6,NUMNOD), STAT=err)
82 IF (err /= 0) THEN
83 CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,
84 . c1='ltsm')
85 ENDIF
86 NCF = 0
87 LTSM = 0
88 NHF = 1
89 IADLL(1) = 1
90 IADHF(1) = 1
91c---
92 IF (NBCSLAG > 0)
93 . CALL LGMINI_BC(IADLL ,JLL ,LLL ,IGRNOD ,IBCSLAG,
94 . MASS ,INER ,NCF ,NOM_OPT(1,PTR_NOPT_BCS+1))
95 CALL LGMINI_I2(IADLL ,JLL ,LLL ,INTBUF_TAB ,IPARI ,NCF,
96 . MASS, ITAB ,NOM_OPT(1,PTR_NOPT_INTER+1))
97 IF (NGJOINT > 0)
98 . CALL LGMINI_GJ (IADLL ,JLL ,LLL ,GJBUFI ,NCF, MASS,
99 . INER, ITAB ,NOM_OPT(1,PTR_NOPT_GJOINT+1))
100 IF (NUMMPC > 0)
101 . CALL LGMINI_MPC(IADLL ,JLL ,LLL ,IBUFNC ,IBUFNN ,
102 . IBUFDL ,IBUFSK ,NCF, MASS, INER, ITAB ,
103 . NOM_OPT(1,PTR_NOPT_MPC+1))
104 IF (NFVLAG > 0)
105 . CALL LGMINI_FXV(IADLL ,JLL ,LLL ,IBFV ,VEL ,
106 . NCF, MASS, INER, ITAB,NOM_OPT(1,PTR_NOPT_FXV+1))
107c---
108 DO IC=1,NCF
109 DO IK=IADLL(IC),IADLL(IC+1)-1
110 LTSM(JLL(IK),LLL(IK)) = 1
111 ENDDO
112 DO JC=IC+1,NCF
113 HIJ = 0
114 DO IK=IADLL(JC),IADLL(JC+1)-1
115 HIJ = HIJ + LTSM(JLL(IK),LLL(IK))
116 ENDDO
117 IF (HIJ > 0) NHF = NHF + 1
118 ENDDO
119 IADHF(IC+1) = NHF
120 DO IK=IADLL(IC),IADLL(IC+1)-1
121 LTSM(JLL(IK),LLL(IK)) = 0
122 ENDDO
123 ENDDO
124 NHF = NHF-1
125 IF (ALLOCATED(LTSM)) DEALLOCATE(LTSM)
126C-----------
127 RETURN
128 END
129
#define my_real
Definition cppsort.cpp:32
subroutine lagm_ini(nhf, iadhf, iadll, jll, lll, ipari, intbuf_tab, igrnod, ibcslag, mass, iner, gjbufi, ibufnc, ibufnn, ibufdl, ibufsk, ibfv, vel, itab, nom_opt, ptr_nopt_inter, ptr_nopt_fxv, ptr_nopt_bcs, ptr_nopt_mpc, ptr_nopt_gjoint)
Definition lagm_ini.F:43
subroutine lgmini_mpc(iadll, jll, lll, ibufnc, ibufnn, ibufdl, ibufsk, nc, mass, iner, itab, nom_opt)
Definition lgmini_mpc.F:36
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
program starter
Definition starter.F:39