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

Go to the source code of this file.

Functions/Subroutines

subroutine frebcs (ikad, key0, kbcs, kbcsr, nbcs1, nbcs2, bcs_sk_fr)

Function/Subroutine Documentation

◆ frebcs()

subroutine frebcs ( integer, dimension(0:*) ikad,
character, dimension(*) key0,
integer kbcs,
integer kbcsr,
integer nbcs1,
integer nbcs2,
integer, dimension(*) bcs_sk_fr )

Definition at line 36 of file frebcs.F.

37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE message_mod
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER IKAD(0:*),
49 . KBCS,KBCSR,NBCS1,NBCS2,BCS_SK_FR(*)
50 CHARACTER KEY0(*)*5
51C-----------------------------------------------
52C C o m m o n B l o c k s
53C-----------------------------------------------
54#include "units_c.inc"
55C-----------------------------------------------
56C E x t e r n a l F u n c t i o n s
57C-----------------------------------------------
58 INTEGER IXYZ
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I, J, N, NBC, K, KK, NN, NS, K4,IV1(40),IKEY,NBCS
63 CHARACTER *80, KEY2*5, KEY3*5
64C
65 k=0
66 nbcs = 0
67 ikey = kbcs
68 DO nn=1,nbcs1
69 nbcs = nbcs + 1
70 READ(iusc1,rec=ikad(ikey)+k,fmt='(7X,A,1X,A,1X,I5,25X,I10)',
71 . err=9990)key2,key3,k4,nbc
72 IF ( bcs_sk_fr(nbcs)>99999) k4 = bcs_sk_fr(nbcs)
73 k=k+1
74 kk=k
75 ns=0
76 DO i=1,nbc
77 CALL wciusc2(ikad(ikey)+k,1,n,key0(ikey))
78 READ(iusc2,*,err=9990,END=9990)(IV1(J),J=1,N)
79 k=k+1
80 IF(key2=='TRA ')THEN
81 WRITE(iin,'(I10,1X,I3.3,4X,4X,4X,I10)')
82 . (iv1(j),ixyz(key3),k4,j=1,n)
83 ELSEIF(key2=='ROT ')THEN
84 WRITE(iin,'(I10,4X,1X,I3.3,4X,4X,I10)')
85 . (iv1(j),ixyz(key3),k4,j=1,n)
86 ELSEIF(key2=='ALE ')THEN
87 WRITE(iin,'(I10,4X,4X,1X,I3.3,4X,I10)')
88 . (iv1(j),ixyz(key3),k4,j=1,n)
89 ELSEIF(key2=='LAG ')THEN
90 WRITE(iin,'(I10,4X,4X,4X,1X,I3.3,I10)')
91 . (iv1(j),ixyz(key3),k4,j=1,n)
92 ELSE
93 CALL errmsg(key2)
94 ENDIF
95 ENDDO
96 ENDDO
97C
98 k=0
99 ikey=kbcsr
100 DO nn=1,nbcs2
101 READ(iusc1,rec=ikad(ikey)+k,fmt='(7X,A,1X,A,1X,I5,25X,I10)',
102 . err=9990)key2,key3,k4,nbc
103 k=k+1
104 kk=k
105 ns=0
106 DO i=1,nbc
107 CALL wciusc2(ikad(ikey)+k,1,n,key0(ikey))
108 READ(iusc2,*,err=9990,END=9990)(IV1(J),J=1,N)
109 k=k+1
110 IF(key2=='TRA ')THEN
111 WRITE(iin,'(I10,1X,I3.3,4X,4X,4X,I10)')
112 . (iv1(j),2*ixyz(key3),k4,j=1,n)
113 ELSEIF(key2=='ROT ')THEN
114 WRITE(iin,'(I10,4X,1X,I3.3,4X,4X,I10)')
115 . (iv1(j),2*ixyz(key3),k4,j=1,n)
116 ELSEIF(key2=='ALE ')THEN
117 WRITE(iin,'(I10,4X,4X,1X,I3.3,4X,I10)')
118 . (iv1(j),2*ixyz(key3),k4,j=1,n)
119 ELSEIF(key2=='LAG ')THEN
120 WRITE(iin,'(i10,4x,4x,4x,1x,i3.3,i10)')
121 . (IV1(J),2*IXYZ(KEY3),K4,J=1,N)
122 ELSE
123 CALL ERRMSG(KEY2)
124 ENDIF
125 ENDDO
126 ENDDO
127C
128 RETURN
129C
130 9990 CONTINUE
131 CALL ANCMSG(MSGID=73,ANMODE=ANINFO,
132 . C1=KEY0(IKEY))
133 CALL ARRET(0)
subroutine errmsg(key)
Definition errmsg.F:40
integer function ixyz(chr)
Definition ixyz.F:34
subroutine wciusc2(irec, nbc, n, key0)
Definition wciusc2.F:38