OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lgmini_fxv.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!|| lgmini_fxv ../starter/source/tools/lagmul/lgmini_fxv.F
25!||--- called by ------------------------------------------------------
26!|| lagm_ini ../starter/source/tools/lagmul/lagm_ini.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| fretitl2 ../starter/source/starter/freform.F
30!||--- uses -----------------------------------------------------
31!|| message_mod ../starter/share/message_module/message_mod.F
32!||====================================================================
33 SUBROUTINE lgmini_fxv(IADLL ,JLL ,LLL ,IBFV ,VEL ,
34 . NC, MASS, INER, ITAB ,NOM_OPT)
35 USE message_mod
37C----------------------------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44#include "param_c.inc"
45#include "com04_c.inc"
46#include "scr17_c.inc"
47#include "lagmult.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER NC, IADLL(*), JLL(*), LLL(*), IBFV(NIFV,*),
52 . itab(*)
54 . vel(lfxvelr,*), mass(*), iner(*)
55 INTEGER NOM_OPT(LNOPT1,*)
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I, J, N, IK, ISK, NNO
60 INTEGER ID
61 CHARACTER(LEN=NCHARTITLE) :: TITR
62C======================================================================|
63 DO n=1,nfxvel
64 id=nom_opt(1,ibfv(12,n))
65 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,ibfv(12,n)),ltitr)
66 IF (ibfv(8,n)/=0) THEN
67 nno = iabs(ibfv(1,n))
68 isk = ibfv(2,n)/10
69 j=ibfv(2,n)-10*isk
70 nc = nc + 1
71 IF(j<=3.AND.mass(nno)==0)THEN
72 CALL ancmsg(msgid=535,
73 . msgtype=msgerror,
74 . anmode=aninfo_blind_1,
75 . c1='FIXED TRANSLATIONAL VELOCITY',
76 . i1=id,
77 . c2='FIXED TRANSLATIONAL VELOCITY',
78 . c3=titr,c4=' ',
79 . i2=itab(iabs(ibfv(1,n))))
80 ELSEIF(j>3.AND.mass(nno)==0)THEN
81 CALL ancmsg(msgid=535,
82 . msgtype=msgerror,
83 . anmode=aninfo_blind_1,
84 . c1='FIXED ROTATIONAL VELOCITY',
85 . i1=id,
86 . c2='FIXED ROTATIONAL VELOCITY',
87 . c3=titr,c4=' ',
88 . i2=itab(iabs(ibfv(1,n))))
89 ENDIF
90Cm41u07---
91 IF(nc>lag_ncf)THEN
92 CALL ancmsg(msgid=468,
93 . msgtype=msgerror,
94 . anmode=aninfo,
95 . i1=id,
96 . c1='IMPOSED VELOCITY',
97 . c2='IMPOSED VELOCITY',
98 . c3=titr)
99 ENDIF
100 IF (isk<=1) THEN
101 iadll(nc+1)=iadll(nc) + 1
102 IF(iadll(nc+1)-1>lag_nkf)THEN
103 CALL ancmsg(msgid=469,
104 . msgtype=msgerror,
105 . anmode=aninfo,
106 . c1='IMPOSED VELOCITY',
107 . i1=id,
108 . c2='IMPOSED VELOCITY',
109 . c3=titr)
110 ENDIF
111 ik = iadll(nc)
112 lll(ik) = nno
113 jll(ik) = j
114 IF(j>3.AND.iner(nno)==0)THEN
115 CALL ancmsg(msgid=536,
116 . msgtype=msgerror,
117 . anmode=aninfo_blind_1,
118 . c1='FIXED ROTATIONAL VELOCITY',
119 . i1=id,
120 . c2='FIXED ROTATIONAL VELOCITY',
121 . c3=titr,
122 . i2=itab(iabs(ibfv(1,n))))
123 ENDIF
124 ELSE
125 iadll(nc+1)=iadll(nc) + 3
126 IF(iadll(nc+1)-1>lag_nkf)THEN
127 CALL ancmsg(msgid=469,
128 . msgtype=msgerror,
129 . anmode=aninfo,
130 . i1=id,
131 . c1='IMPOSED VELOCITY',
132 . c2='IMPOSED VELOCITY',
133 . c3=titr)
134 ENDIF
135 IF(j<=3)THEN
136 ik = iadll(nc)
137 lll(ik) = nno
138 jll(ik) = 1
139 ik = ik + 1
140 lll(ik) = nno
141 jll(ik) = 2
142 ik = ik + 1
143 lll(ik) = nno
144 jll(ik) = 3
145 ELSE
146 IF(iner(nno)==0)THEN
147 CALL ancmsg(msgid=536,
148 . msgtype=msgerror,
149 . anmode=aninfo_blind_1,
150 . c1='FIXED ROTATIONAL VELOCITY',
151 . i1=id,
152 . c2='FIXED ROTATIONAL VELOCITY',
153 . c3=titr,
154 . i2=itab(iabs(ibfv(1,n))))
155 ENDIF
156 ik = iadll(nc)
157 lll(ik) = nno
158 jll(ik) = 4
159 ik = ik + 1
160 lll(ik) = nno
161 jll(ik) = 5
162 ik = ik + 1
163 lll(ik) = nno
164 jll(ik) = 6
165 ENDIF
166 ENDIF
167 ENDIF
168 ENDDO
169C---
170 RETURN
171 END
#define my_real
Definition cppsort.cpp:32
subroutine lgmini_fxv(iadll, jll, lll, ibfv, vel, nc, mass, iner, itab, nom_opt)
Definition lgmini_fxv.F:35
integer, parameter nchartitle
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
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804