OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
printbcs.F File Reference
#include "implicit_f.inc"
#include "scr17_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "units_c.inc"
#include "scr03_c.inc"
#include "titr_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine printbcs (icode, iskew, itab, itabm1, ikine, igrnod, ibcslag, lag_ncf, lag_nkf, lag_nhf, ikine1lag, iskn, nom_opt, nbcslag)

Function/Subroutine Documentation

◆ printbcs()

subroutine printbcs ( integer, dimension(*) icode,
integer, dimension(*) iskew,
integer, dimension(*) itab,
integer, dimension(*) itabm1,
integer, dimension(*) ikine,
type (group_), dimension(ngrnod), target igrnod,
integer, dimension(5,*) ibcslag,
integer lag_ncf,
integer lag_nkf,
integer lag_nhf,
integer, dimension(*) ikine1lag,
integer, dimension(liskn,*) iskn,
integer, dimension(lnopt1,*) nom_opt,
integer nbcslag )

Definition at line 33 of file printbcs.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE message_mod
40 USE groupdef_mod
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "scr17_c.inc"
50#include "com01_c.inc"
51#include "com04_c.inc"
52#include "units_c.inc"
53#include "scr03_c.inc"
54#include "titr_c.inc"
55#include "param_c.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER ICODE(*), ISKEW(*), ITAB(*), ITABM1(*), IKINE(*),
60 . IBCSLAG(5,*),
61 . LAG_NCF,LAG_NKF,LAG_NHF,IKINE1LAG(*),ISKN(LISKN,*)
62 INTEGER NOM_OPT(LNOPT1,*), NBCSLAG
63C-----------------------------------------------
64 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68 INTEGER I,JJ(12), IC, NC, N, NUSR, IS, IC1, IC2, IC3, IC4,
69 . NOSYS, J,J10(10),IGR,IGRS,ISU,IBCALE,J6(6),K,
70 . IC0, IC01, IC02, IC03, IC04, ID ,ILAGM,
71 . FLAG_FMT,FLAG_FMT_TMP,IFIX_TMP,SUB_ID,
72 . CHKCOD,ISERR,NOD
73 INTEGER IUN
74 CHARACTER MESS*40,CODE*7,OPT*8
75 CHARACTER(LEN=NCHARKEY) :: KEY,KEY2
76 CHARACTER(LEN=NCHARFIELD) :: STRING
77 CHARACTER(LEN=NCHARTITLE) :: TITR
78C-----------------------------------------------
79C E x t e r n a l F u n c t i o n s
80C-----------------------------------------------
81 INTEGER USR2SYS,MY_OR,CHECK_NEW,NGR2USR
82!
83 INTEGER, DIMENSION(:), POINTER :: INGR2USR
84C
85C-----------------------------------------------
86C D a t a
87C-----------------------------------------------
88 DATA iun/1/
89 DATA mess/'BOUNDARY CONDITIONS '/
90C======================================================================|
91C
92 DO i=1,numnod
93 IF(iskew(i)==-1)iskew(i)=0
94 ENDDO
95C
96 IF(iale==0)THEN
97 WRITE(iout,'(/A/A/A/)')titre(80),titre(81),
98 . ' NODE TRANS. ROTAT. SKEW'
99C
100 ELSE
101 WRITE(iout,'(/A/A/A/)')titre(80),titre(81),titre(82)
102 ENDIF
103 IF(ipri>=2)THEN
104 DO 500 n=1,numnod
105 ic=icode(n)
106 IF (ic==0) GO TO 500
107 ic1=ic/512
108 ic2=(ic-512*ic1)/64
109 ic3=(ic-512*ic1-64*ic2)/8
110 ic4=(ic-512*ic1-64*ic2-8*ic3)
111 j6(1)=ic1/4
112 j6(2)=(ic1-4*j6(1))/2
113 j6(3)=(ic1-4*j6(1)-2*j6(2))
114 j6(4)=ic2/4
115 j6(5)=(ic2-4*j6(4))/2
116 j6(6)=(ic2-4*j6(4)-2*j6(5))
117 IF(iale==0)THEN
118C
119 WRITE(iout,'(1X,I10,2(1X,3I2),3X,I10)')itab(n),j6,
120 . iskn(4,iskew(n))
121 ELSE
122 jj(1)=j6(1)
123 jj(2)=j6(2)
124 jj(3)=j6(3)
125 jj(4)=j6(4)
126 jj(5)=j6(5)
127 jj(6)=j6(6)
128 jj(7)=ic3/4
129 jj(8)=(ic3-4*jj(7))/2
130 jj(9)=(ic3-4*jj(7)-2*jj(8))
131 jj(10)=ic4/4
132 jj(11)=(ic4-4*jj(10))/2
133 jj(12)=(ic4-4*jj(10)-2*jj(11))
134C
135 WRITE(iout,'(1X,I10,4(1X,3I2),3X,I10)')itab(n),jj,
136 . iskn(4,iskew(n))
137 ENDIF
138 500 CONTINUE
139 ENDIF
140 IF (nbcslag>0) THEN
141 WRITE(iout,1000)
142 DO i = 1, nbcslag
143 igrs=ibcslag(1,i)
144 is = ibcslag(4,i)
145 id = ibcslag(2,i)
146 ic = ibcslag(3,i)
147 ic1=ic/512
148 ic2=(ic-512*ic1)/64
149 ic3=(ic-512*ic1-64*ic2)/8
150 ic4=(ic-512*ic1-64*ic2-8*ic3)
151 j6(1)=ic1/4
152 j6(2)=(ic1-4*j6(1))/2
153 j6(3)=(ic1-4*j6(1)-2*j6(2))
154 j6(4)=ic2/4
155 j6(5)=(ic2-4*j6(4))/2
156 j6(6)=(ic2-4*j6(4)-2*j6(5))
157 IF (ipri>=2) THEN
158 DO j=1,igrnod(igrs)%NENTITY
159 nosys=igrnod(igrs)%ENTITY(j)
160C
161 WRITE(iout,'(1X,I10,2(1X,3I2),3X,I10)')itab(nosys),j6,
162 . iskn(4,is)
163 ENDDO
164 ENDIF
165 ic1=j6(1)*4 +j6(2)*2 +j6(3)
166 ic2=j6(4)*4 +j6(5)*2 +j6(6)
167 ibcslag(2,i) = ic1
168 ibcslag(3,i) = ic2
169 ENDDO
170 ENDIF
171
1721000 FORMAT(/,
173 . ' BOUNDARY CONDITIONS BY LAGRANGE MULTIPLIERS'/
174 . ' ----------------------- '/
175 . ' NODE TRANS. ROTAT. SKEW'/)
176 RETURN
initmumps id
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield