OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lecdamp.F File Reference
#include "implicit_f.inc"
#include "scr07_c.inc"
#include "stati_c.inc"
#include "statr_c.inc"
#include "units_c.inc"
#include "com04_c.inc"
#include "warn_c.inc"
#include "param_c.inc"
#include "task_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine lecdamp (nd, dampr, igrnod)

Function/Subroutine Documentation

◆ lecdamp()

subroutine lecdamp ( integer nd,
dampr,
type(group_), dimension(ngrnod) igrnod )

Definition at line 35 of file lecdamp.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE message_mod
40 USE groupdef_mod
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "scr07_c.inc"
49#include "stati_c.inc"
50#include "statr_c.inc"
51#include "units_c.inc"
52#include "com04_c.inc"
53#include "warn_c.inc"
54#include "param_c.inc"
55#include "task_c.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER ND
60 my_real dampr(nrdamp,*)
61 TYPE(GROUP_) ,DIMENSION(NGRNOD) :: IGRNOD
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER K, L, ID, IDNEW, NGR, OK, KORTH
66C REAL
68 . dampa,dampb,dampay,dampby,dampaz,dampbz,factb,
69 . damparx,dampbrx,dampary,dampbry,damparz,dampbrz
70c . TSTART,TSTOP
71C-----------------------------------------------
72C E x t e r n a l F u n c t i o n s
73C-----------------------------------------------
74 INTEGER NGR2USR
75 EXTERNAL ngr2usr
76C-----------------------------------------------
77 IF (nd>0) THEN
78 IF (idamp0 == 1) THEN
79 IF (nd>1) THEN
80 IF (ispmd==0)THEN
81 WRITE(istdo,*)' ** ERROR: INPUT ERROR IN OPTION DAMP'
82 WRITE(iout,* )' ** ERROR: INPUT ERROR IN OPTION DAMP'
83 WRITE(iout,*) ' V41 FORMAT ALLOWS ONLY ONE /DAMP OPTION'
84 END IF
85 CALL arret(2)
86 ENDIF
87 dampa0 = 0.
88 dampb0 = 0.
89 READ (iin,'(I10,2E16.9,I8)') idnew,dampa0,dampb0,ngr
90 IF (mcheck==0) THEN
91 idampg = ngr2usr(ngr,igrnod,ngrnod)
92 IF (idampg==0) ngr = 0
93 dampa = dampa0
94 dampb = dampb0
95 IF (ispmd==0) WRITE(iout,2241) ngr,dampa,dampb
96 ENDIF
97 ELSEIF (ndamp>0) THEN
98 IF (ispmd==0) WRITE (iout,2000) nd
99 DO k=1,nd
100 READ (iin,'(i10,2e20.0,2i10,e20.0)') IDNEW,DAMPA,DAMPB,NGR,
101 . KORTH,FACTB
102c READ (IIN,'(I10,2E20.0,2I10,2E20.0)') IDNEW,DAMPA,DAMPB,NGR,
103c . KORTH,TSTART,TSTOP
104c FACTB = ZERO
105c IF(TSTOP == ZERO) TSTOP = EP30
106 IF (NGR/=0) THEN
107 IF (ISPMD==0) THEN
108 WRITE(ISTDO,*)' ** error: input error in option damp'
109 WRITE(IOUT,* )' ** error: input error in option damp'
110 WRITE(IOUT,*) ' not a v44 FORMAT '
111 END IF
112 CALL ARRET(2)
113 ENDIF
114 IF (FACTB == ZERO) FACTB = ONE
115 IF(KORTH==0)THEN
116 IF (ISPMD==0) WRITE (IOUT,2200) IDNEW,DAMPA,DAMPB,FACTB
117c IF (ISPMD==0) WRITE (IOUT,2200) IDNEW,DAMPA,DAMPB,FACTB,
118c . TSTART,TSTOP
119 OK=0
120.AND. IF (NDAMP == 1 IDNEW == 0) THEN
121 ID = DAMPR(1,1)
122 DAMPR(3,1) = DAMPA
123 DAMPR(4,1) = DAMPB
124 DAMPR(16,1)= FACTB
125 OK=1
126 ELSE
127 DO L=1,NDAMP
128 ID = DAMPR(1,L)
129 IF(ID==IDNEW) THEN
130 DAMPR(3,L) = DAMPA
131 DAMPR(4,L) = DAMPB
132 DAMPR(5,L) = DAMPA
133 DAMPR(6,L) = DAMPB
134 DAMPR(7,L) = DAMPA
135 DAMPR(8,L) = DAMPB
136 DAMPR(9,L) = DAMPA
137 DAMPR(10,L) = DAMPB
138 DAMPR(11,L) = DAMPA
139 DAMPR(12,L) = DAMPB
140 DAMPR(13,L) = DAMPA
141 DAMPR(14,L) = DAMPB
142 DAMPR(16,L) = FACTB
143c DAMPR(17,L) = TSTART
144c DAMPR(18,L) = TSTOP
145 OK=1
146 ENDIF
147 ENDDO
148 ENDIF
149 ELSE
150 IF(NRDAMP<15)THEN
151 IERR=IERR+1
152 IF (ISPMD==0) THEN
153 CALL ANCMSG(MSGID=203,ANMODE=ANINFO,
154 . I1=IDNEW)
155 END IF
156 CALL ARRET(2)
157 END IF
158 READ (IIN,'(2e20.0)') DAMPAY,DAMPBY
159 READ (IIN,'(2e20.0)') DAMPAZ,DAMPBZ
160 READ (IIN,'(2e20.0)') DAMPARX,DAMPBRX
161 READ (IIN,'(2e20.0)') DAMPARY,DAMPBRY
162 READ (IIN,'(2e20.0)') DAMPARZ,DAMPBRZ
163 IF (ISPMD==0) WRITE (IOUT,2250) IDNEW,
164 . DAMPA,DAMPB,DAMPAY,DAMPBY,DAMPAZ,DAMPBZ,
165 . DAMPARX,DAMPBRX,DAMPARY,DAMPBRY,DAMPARZ,DAMPBRZ
166c IF (ISPMD==0) WRITE (IOUT,2250) IDNEW,
167c . DAMPA,DAMPB,DAMPAY,DAMPBY,DAMPAZ,DAMPBZ,
168c . DAMPARX,DAMPBRX,DAMPARY,DAMPBRY,DAMPARZ,DAMPBRZ,
169c . TSTART,TSTOP
170 OK=0
171 DO L=1,NDAMP
172 ID = DAMPR(1,L)
173 IF(ID==IDNEW) THEN
174 DAMPR(3,L) = DAMPA
175 DAMPR(4,L) = DAMPB
176 DAMPR(5,L) = DAMPAY
177 DAMPR(6,L) = DAMPBY
178 DAMPR(7,L) = DAMPAZ
179 DAMPR(8,L) = DAMPBZ
180 DAMPR(9,L) = DAMPARX
181 DAMPR(10,L) = DAMPBRX
182 DAMPR(11,L) = DAMPARY
183 DAMPR(12,L) = DAMPBRY
184 DAMPR(13,L) = DAMPARZ
185 DAMPR(14,L) = DAMPBRZ
186 DAMPR(16,L) = FACTB
187c DAMPR(17,L) = TSTART
188c DAMPR(18,L) = TSTOP
189 OK=1
190 ENDIF
191 ENDDO
192 END IF
193 IF(OK==0)THEN
194 IERR=IERR+1
195 IF (ISPMD==0) THEN
196 CALL ANCMSG(MSGID=203,ANMODE=ANINFO,
197 . I1=IDNEW)
198 END IF
199 CALL ARRET(2)
200 ENDIF
201 ENDDO
202 ELSE
203 IF (ISPMD==0) THEN
204 CALL ANCMSG(MSGID=204,ANMODE=ANINFO)
205 END IF
206 CALL ARRET(2)
207 ENDIF
208 ENDIF
209C
210 RETURN
211C
212 2000 FORMAT(' rayleigh damping' /
213 . ' number of new damping parameters. . . . . . =' ,I8 /)
214 2050 FORMAT(' ** error: input error in option damp',/
215 .' wrong number of damping parameters for /damp/id number:',
216 . I10/)
217 2100 FORMAT(' ** error: input error in option damp',/
218 . ' /damp/id number:',I10,' not found'/)
219 2200 FORMAT('damping id . . . . . . . . . . . . .',I10
220 . /5X,'alpha. . . . . . . . . . . . . .',1pg20.13
221 . /5x,'BETA . . . . . . . . . . . . . .',1pg20.13
222 . /5x,'MAX TIME STEP FACTOR . . . . . .',1pg20.13/)
223c . /5X,'START TIME . . . . . . . . . . .',1PG20.13
224c . /5X,'STOP TIME . . . . . . . . . . .',1PG20.13/)
225 2250 FORMAT('DAMPING ID . . . . . . . . . . . . .',i10
226 . /5x,'ALPHAX . . . . . . . . . . . . .',1pg20.13
227 . /5x,'BETAX. . . . . . . . . . . . . .',1pg20.13
228 . /5x,'alphay . . . . . . . . . . . . .',1PG20.13
229 . /5X,'betay. . . . . . . . . . . . . .',1PG20.13
230 . /5X,'alphaz . . . . . . . . . . . . .',1PG20.13
231 . /5X,'betaz. . . . . . . . . . . . . .',1PG20.13
232 . /5X,'alpharx. . . . . . . . . . . . .',1PG20.13
233 . /5X,'betarx . . . . . . . . . . . . .',1PG20.13
234 . /5X,'alphary. . . . . . . . . . . . .',1PG20.13
235 . /5X,'betary . . . . . . . . . . . . .',1PG20.13
236 . /5X,'alpharz. . . . . . . . . . . . .',1PG20.13
237 . /5X,'betarz . . . . . . . . . . . . .',1PG20.13/)
238c . /5X,'START TIME . . . . . . . . . . .',1PG20.13
239c . /5X,'STOP TIME . . . . . . . . . . .',1PG20.13/)
240 2241 FORMAT(/
241 . ' rayleigh damping '/
242 . ' node group id(=0 all nodes) . . . . . . . . . . ',I5/
243 . ' alpha . . . . . . . . . . . . . . . . . . . . . ',G14.7/
244 . ' beta . . . . . . . . . . . . . . . . . . . . . . ',G14.7/)
#define my_real
Definition cppsort.cpp:32
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
Definition damping.F:882
#define alpha
Definition eval.h:35
initmumps id
for(i8=*sizetab-1;i8 >=0;i8--)
integer function ngr2usr(iu, igr, ngr)
Definition nintrr.F:325
subroutine arret(nn)
Definition arret.F:87