OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lcbcsf.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "units_c.inc"
#include "task_c.inc"
#include "warn_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine lcbcsf (icode, iskew, numbcsn, itab, itabm1, npby, iskwn, weight)

Function/Subroutine Documentation

◆ lcbcsf()

subroutine lcbcsf ( integer, dimension(*) icode,
integer, dimension(*) iskew,
integer numbcsn,
integer, dimension(*) itab,
integer, dimension(*) itabm1,
integer, dimension(*) npby,
integer, dimension(liskn,*) iskwn,
integer, dimension(*) weight )

Definition at line 34 of file lcbcsf.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE message_mod
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER NUMBCSN
48 INTEGER ICODE(*), ISKEW(*), ITAB(*), ITABM1(*), NPBY(*),
49 . ISKWN(LISKN,*), WEIGHT(*)
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "com01_c.inc"
54#include "com04_c.inc"
55#include "units_c.inc"
56#include "task_c.inc"
57#include "warn_c.inc"
58#include "param_c.inc"
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER JJ(12), JO(12), IC, NC, N, NUSR, IS, NOSYS, ICO, ICO1,
63 . ICO2, ICO3, ICO4, I, IC1, IC2, IC3, IC4, LL, NOSYSV
64 CHARACTER MESS*40
65C-----------------------------------------------
66C E x t e r n a l F u n c t i o n s
67C-----------------------------------------------
68 INTEGER SYSFUS2
69C REAL
70C-----------------------------------------------
71C
72 DATA mess/'BOUNDARY CONDITIONS '/
73C
74 ic=0
75 nc=1
76 DO 10 n=1,numbcsn
77 READ (iin,'(I10,4(1X,3I1),I10)') nusr,jj,is
78 nosys=sysfus2(nusr,itabm1,numnod)
79 nosysv = nosys
80 IF(nspmd > 1) CALL spmd_glob_isum9(nosysv,1)
81 IF(ispmd==0) THEN
82 IF(nosysv==0) THEN
83 CALL ancmsg(msgid=202,anmode=aninfo,
84 . i1=nusr)
85 ierr=ierr+1
86 END IF
87 END IF
88 IF(nosys==0)GOTO 10
89C
90 ico=icode(nosys)
91 ico1=ico/512
92 ico2=(ico-512*ico1)/64
93 ico3=(ico-512*ico1-64*ico2)/8
94 ico4=(ico-512*ico1-64*ico2-8*ico3)
95 jo(1)=ico1/4
96 jo(2)=(ico1-4*jo(1))/2
97 jo(3)=(ico1-4*jo(1)-2*jo(2))
98 jo(4)=ico2/4
99 jo(5)=(ico2-4*jo(4))/2
100 jo(6)=(ico2-4*jo(4)-2*jo(5))
101 jo(7)=ico3/4
102 jo(8)=(ico3-4*jo(7))/2
103 jo(9)=(ico3-4*jo(7)-2*jo(8))
104 jo(10)=ico4/4
105 jo(11)=(ico4-4*jo(10))/2
106 jo(12)=(ico4-4*jo(10)-2*jo(11))
107C
108 DO 5 i=1,12
109 IF(jj(i)==0)THEN
110 jj(i)=jo(i)
111 ELSEIF(jj(i)==2)THEN
112 jj(i)=0
113 ENDIF
114 5 CONTINUE
115C
116 ic1=jj(1)*4 +jj(2)*2 +jj(3)
117 ic2=jj(4)*4 +jj(5)*2 +jj(6)
118 ic3=jj(7)*4 +jj(8)*2 +jj(9)
119 ic4=jj(10)*4+jj(11)*2+jj(12)
120 ic=ic1*512+ic2*64+ic3*8+ic4
121 icode(nosys)=ic
122 DO 7 ll=0,numskw
123 7 IF(is==iskwn(4,ll+1)) iskew(nosys)=ll+1
124C ISKEW(NOSYS)=IS
125 10 CONTINUE
126C
127 IF(ispmd==0) WRITE(iout,1300)
128 DO 500 n=1,numnod
129 ic=icode(n)
130 IF (ic==0) GO TO 500
131 ic1=ic/512
132 ic2=(ic-512*ic1)/64
133 ic3=(ic-512*ic1-64*ic2)/8
134 ic4=(ic-512*ic1-64*ic2-8*ic3)
135 jj(1)=ic1/4
136 jj(2)=(ic1-4*jj(1))/2
137 jj(3)=(ic1-4*jj(1)-2*jj(2))
138 jj(4)=ic2/4
139 jj(5)=(ic2-4*jj(4))/2
140 jj(6)=(ic2-4*jj(4)-2*jj(5))
141 jj(7)=ic3/4
142 jj(8)=(ic3-4*jj(7))/2
143 jj(9)=(ic3-4*jj(7)-2*jj(8))
144 jj(10)=ic4/4
145 jj(11)=(ic4-4*jj(10))/2
146 jj(12)=(ic4-4*jj(10)-2*jj(11))
147 IF(weight(n)==1)
148 . WRITE(iout,'(1X,I10,4(1X,3I2),3X,I10)')itab(n),jj,
149 . iskwn(4,iskew(n))
150 500 CONTINUE
151 RETURN
152C-----------------------------------------------------------------
153 1300 FORMAT(/,
154 . 1x,' BOUNDARY CONDITIONS',/
155 . 1x,' -------------------',/
156 . 1x,' NODE TRANS. ROTAT. GRID LAGRA. SKEW',/)
157C
integer function sysfus2(iu, itabm1, numnod)
Definition sysfus.F:99
subroutine spmd_glob_isum9(v, len)
Definition spmd_th.F:523
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