OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fredynain.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"
#include "scr16_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine fredynain (ikad, key0, kdynain, dynain_data)

Function/Subroutine Documentation

◆ fredynain()

subroutine fredynain ( integer, dimension(0:*) ikad,
character, dimension(*) key0,
integer kdynain,
type (dynain_database), intent(inout) dynain_data )

Definition at line 37 of file fredynain.F.

38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
41 USE message_mod
42 USE state_mod
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER IKAD(0:*),KDYNAIN
52 CHARACTER KEY0(*)*5
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "units_c.inc"
57#include "scr16_c.inc"
58C-----------------------------------------------
59C E x t e r n a l F u n c t i o n s
60C-----------------------------------------------
61 INTEGER NVAR
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER I, NBC, K, IKEY, IV2(10), J
66 CHARACTER(LEN=120) :: LINE
67 CHARACTER(LEN=NCHARKEY) :: KEY2
68 CHARACTER(LEN=NCHARKEY) :: KEY3
69 CHARACTER(LEN=NCHARKEY) :: KEY4
70 CHARACTER(LEN=NCHARKEY) :: KEY5
71 CHARACTER(LEN=NCHARKEY) :: KEY6
72 CHARACTER(LEN=NCHARKEY) :: KEY7
73 CHARACTER(LEN=NCHARKEY) :: KEY8
74 CHARACTER(LEN=NCHARLINE100) :: CARTE
75 TYPE (DYNAIN_DATABASE), INTENT(INOUT) :: DYNAIN_DATA
76C-----------------------------------------------
77C S o u r c e L i n e s
78C-----------------------------------------------
79
80 ikey=kdynain
81
82 dynain_data%TDYNAIN0 = zero
83 dynain_data%DTDYNAIN0 = zero
84
85 DO i = 1,dynain_data%MX_DYNAIN
86 dynain_data%DYNAIN_C(i) = 0
87 ENDDO
88
89 dynain_data%NDYNAINPRT=0
90 dynain_data%NDYNAINALL=0
91 dynain_data%ZIPDYNAIN=0
92
93c---
94 IF (ikad(ikey) /= ikad(ikey+1)) THEN
95 k = 0
96 1175 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)')line
97 CALL fredec_8key_i(line,key2,key3,key4,key5,key6,key7,key8,nbc)
98 k=k+1
99 IF (key2(1:5) == 'DT ') THEN
100 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)',err=9990)carte
101 CALL wriusc2(ikad(ikey)+k,1,key0(ikey))
102 IF(nvar(carte) ==2 ) THEN
103 READ(iusc2,*)dynain_data%TDYNAIN0,dynain_data%DTDYNAIN0
104 ELSE
105 READ(iusc2,*)dynain_data%TDYNAIN0,dynain_data%DTDYNAIN0,dynain_data%ZIPDYNAIN
106 ENDIF
107 k=k+1
108 IF (key3(1:3) == 'ALL') THEN
109 dynain_data%NDYNAINPRT = 0
110 dynain_data%NDYNAINALL = 1
111 IF (nbc /= 1) THEN
112 CALL ancmsg(msgid=73,anmode=aninfo,
113 . c1=key0(ikey),c2=line(1:35))
114 CALL arret(0)
115 ENDIF
116 ELSE
117 DO i=2,nbc
118 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)',err=9990)carte
119 CALL wriusc2(ikad(ikey)+k,1,key0(ikey))
120 k=k+1
121 READ(iusc2,*,err=9990,END=9990)(IV2(J),J=1,NVAR(CARTE))
122 DO j=1,nvar(carte)
123 WRITE(iin,'(I10)')iv2(j)
124 dynain_data%NDYNAINPRT=dynain_data%NDYNAINPRT+1
125 ENDDO
126 ENDDO ! DO I=2,NBC
127 IF(dynain_data%NDYNAINPRT == 0)THEN
128 CALL ancmsg(msgid=291,anmode=aninfo)
129 CALL arret(0)
130 ENDIF
131 ENDIF
132 ELSE
133 IF (key2(1:5) == 'SHELL') THEN
134 IF (key3(1:5) == 'STRES') THEN
135 IF (key4(1:5) == 'FULL ') THEN
136 dynain_data%DYNAIN_C(4) = 1
137 ELSE
138 GOTO 9990
139 ENDIF
140 ELSEIF (key3(1:5) == 'STRAI') THEN
141 IF (key4(1:5) == 'FULL ') THEN
142 dynain_data%DYNAIN_C(5) = 1
143 ELSE
144 GOTO 9990
145 ENDIF
146 ELSE
147 GOTO 9990
148 ENDIF ! IF (KEY3)
149
150 endif!KEY2
151 ENDIF !IF (KEY2)
152c
153 IF (ikad(ikey)+k /= ikad(ikey+1)) GOTO 1175
154c
155 ENDIF ! IF (IKAD(IKEY) /= IKAD(IKEY+1))
156C-----------------------------------------------
157 dynain_data%NC_DYNAIN = 0
158 DO i = 1,dynain_data%MX_DYNAIN
159 dynain_data%NC_DYNAIN = dynain_data%NC_DYNAIN + dynain_data%DYNAIN_C(i)
160 ENDDO
161C
162 RETURN
163C-----------------------------------------------
164 9990 CONTINUE
165 CALL ancmsg(msgid=73,anmode=aninfo,
166 . c1=key0(ikey),c2=line(1:35))
167 CALL arret(0)
subroutine fredec_8key_i(cart, key2, key3, key4, key5, key6, key7, key8, nbc)
integer, parameter ncharline100
integer, parameter ncharkey
integer function nvar(text)
Definition nvar.F:32
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 arret(nn)
Definition arret.F:87
subroutine wriusc2(irec, nbc, key0)
Definition wriusc2.F:60