OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_bigbox.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_bigbox (x, flag, nnod, skew, igs, iskn, itabm1, ibox, id, ibufbox, iadb, titr, key, nn, iboxmax, igrnod, idb)

Function/Subroutine Documentation

◆ hm_bigbox()

subroutine hm_bigbox ( x,
integer flag,
integer nnod,
skew,
integer igs,
integer, dimension(liskn,*) iskn,
integer, dimension(*) itabm1,
type (box_), dimension(nbbox) ibox,
integer id,
integer, dimension(*) ibufbox,
integer iadb,
character(len=nchartitle) titr,
character(len=ncharfield) key,
integer nn,
integer iboxmax,
type (group_), dimension(ngrnod) igrnod,
integer, intent(in) idb )

Definition at line 34 of file hm_bigbox.F.

38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
41 USE groupdef_mod
43 USE message_mod
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C C o m m o n B l o c k s
51C-----------------------------------------------
52#include "com04_c.inc"
53#include "param_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER FLAG,NNOD,
58 . IGS,ISKN(LISKN,*),ITABM1(*),
59 . ID,IBUFBOX(*),IADB,NN,IBOXMAX
60 INTEGER,INTENT(IN) :: IDB
62 . x(3,*),skew(lskew,*)
63 CHARACTER(LEN=NCHARTITLE) :: TITR
64 CHARACTER(LEN=NCHARFIELD) :: KEY
65 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
66 TYPE (BOX_) , DIMENSION(NBBOX) :: IBOX
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 INTEGER I,J,K,N,ISU,JREC,NBOX,BOXTYPE,IADBOX,
71 . ICOUNT,ITER,FLAGG,INBOX,BOXNODS,IADISU
72 CHARACTER BOX*3
73 LOGICAL BOOL
74C-----------------------------------------------
75 DO i=1,nbbox
76 ibox(i)%NBLEVELS = 0
77 ibox(i)%LEVEL = 1
78 ibox(i)%ACTIBOX = 0
79 IF(ibox(i)%NBOXBOX > 0)THEN
80 ibox(i)%NBLEVELS = -1
81 ibox(i)%LEVEL = 0
82 END IF
83C
84 ibox(i)%BOXIAD = 0
85 END DO
86C-------
87C get box de box ID'S dans grnod:
88C-------
89 isu = 0
90 DO i=1,nbbox
91 IF(idb == ibox(i)%ID) THEN
92 isu=i
93 EXIT
94 ENDIF
95 END DO
96C---
97 IF(isu > 0)THEN
98 nbox = ibox(isu)%NBOXBOX
99C super box activated:
100 ibox(isu)%ACTIBOX = 1
101 ELSE
102 IF(flag == 0)THEN
103 CALL ancmsg(msgid=794,
104 . msgtype=msgerror,
105 . anmode=aninfo,
106 . i1=id,
107 . c1=titr,
108 . i2=idb)
109 END IF
110 END IF
111C---
112C simple box dans grnod:
113C---
114 bool = .false.
115 IF(isu>0)THEN
116 IF(ibox(isu)%NBLEVELS == 0 .AND. ibox(isu)%LEVEL == 1) THEN
117 IF(nbox == 0)THEN
118 CALL boxtagn(x ,ibufbox,skew,iadb,ibox,isu ,flag,iboxmax)
119 bool =.true.
120 END IF
121 END IF
122 ENDIF
123C---
124C READ LEVELS OF BOXES ==> "SUBLEVEL DONE"
125C---
126 IF(.NOT.bool)THEN
127 icount = 1
128 iter = 0
129 DO WHILE (icount == 1)
130 iter = iter + 1
131 flagg = 0
132C--- count next level
133 CALL boxbox(ibox ,skew ,
134 . flagg ,icount,iter ,ibufbox,
135 . x ,iadb ,id ,titr ,
136 . key ,flag ,iboxmax)
137C--- fill next level
138 flagg = 1
139 CALL boxbox(ibox ,skew ,
140 . flagg ,icount,iter ,ibufbox,
141 . x ,iadb ,id ,titr ,
142 . key ,flag ,iboxmax)
143C---
144 ENDDO
145 ENDIF
146C---
147C tag group nodes in main-box:
148C---
149 IF(isu > 0)THEN
150 IF(flag == 0)THEN
151 boxnods = ibox(isu)%NENTITY ! nodes of main box
152 nnod = boxnods
153 ELSE IF(flag == 1)THEN
154 boxnods = ibox(isu)%NENTITY ! nodes of main box
155 iadisu = ibox(isu)%BOXIAD ! addresses of nodes in main box
156 nnod = boxnods
157 DO i=1,boxnods
158 n=ibufbox(iadisu+i-1)
159 nn = nn + 1
160 igrnod(igs)%ENTITY(nn) = n
161 END DO
162 END IF
163 END IF
164C--------------
165 RETURN
subroutine boxtagn(x, ibufbox, skew, iadb, ibox, isu, flag, iboxmax)
Definition bigbox.F:188
subroutine boxbox(ibox, skew, flagg, icount, iter, ibufbox, x, iadb, id, titr, key, flag, iboxmax)
Definition boxbox.F:39
#define my_real
Definition cppsort.cpp:32
initmumps id
integer, parameter nchartitle
integer, parameter ncharfield
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