OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i10buce.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "units_c.inc"
#include "warn_c.inc"
#include "com01_c.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i10buce (x, irect, nsv, nmn, nrtm, nsn, ncont, cand_e, cand_n, gap, noint, ii_stok, tzinf, maxbox, minbox, nb_n_b, eshift, bminma, mwag, ild, ncontact, nsnrold, stfn, nin, igap, gap_s, nsnr, renum, stf, gap_m, gapmin, gapmax, i_mem, intheat, idt_therm, nodadt_therm)

Function/Subroutine Documentation

◆ i10buce()

subroutine i10buce ( x,
integer, dimension(4,*) irect,
integer, dimension(*) nsv,
integer nmn,
integer nrtm,
integer nsn,
integer ncont,
integer, dimension(*) cand_e,
integer, dimension(*) cand_n,
gap,
integer noint,
integer ii_stok,
tzinf,
maxbox,
minbox,
integer nb_n_b,
integer eshift,
bminma,
integer, dimension(*) mwag,
integer ild,
integer ncontact,
integer nsnrold,
stfn,
integer nin,
integer igap,
gap_s,
integer nsnr,
integer, dimension(*) renum,
stf,
gap_m,
gapmin,
gapmax,
integer i_mem,
integer, intent(in) intheat,
integer, intent(in) idt_therm,
integer, intent(in) nodadt_therm )

Definition at line 34 of file i10buce.F.

42C============================================================================
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE message_mod
47C-----------------------------------------------
48C I m p l i c i t T y p e s
49C-----------------------------------------------
50#include "implicit_f.inc"
51#include "comlock.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "units_c.inc"
56#include "warn_c.inc"
57#include "com01_c.inc"
58C-----------------------------------------------
59C D u m m y A r g u m e n t s
60C-----------------------------------------------
61 INTEGER NMN, NRTM, NSN, NOINT, NIN, IGAP, NSNR, NSNROLD
62 INTEGER IRECT(4,*),NSV(*),MWAG(*)
63 INTEGER CAND_E(*),CAND_N(*),RENUM(*)
64 INTEGER ILD,NB_N_B,ESHIFT,NCONTACT,NCONT,I_MEM,II_STOK
65 INTEGER ,INTENT(IN) :: INTHEAT
66 INTEGER, INTENT(IN) :: IDT_THERM
67 INTEGER, INTENT(IN) :: NODADT_THERM
68C REAL
70 . gap,tzinf,maxbox,minbox,gapmin, gapmax, bminma(6)
72 . x(3,*),stfn(*), gap_s(*), stf(*), gap_m(*)
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 INTEGER I_ADD_MAX
77 parameter(i_add_max = 1001)
78 INTEGER I, J,I_ADD, IP0, IP1, MAXSIZ,
79 . ADD(2,I_ADD_MAX), LOC_PROC, N,
80 . NSNFIOLD(NSPMD)
81C REAL
83 . xyzm(6,i_add_max-1),marge
84C-----------------------------------------------
85C S o u r c e L i n e s
86C-----------------------------------------------
87C
88C----- TRI PAR BOITES DES ELEMENTS ET DES NOEUDS
89C
90C-----------------------------------------------
91C SI ON A PAS ASSEZ DE MEMOIRE POUR LES PILES ON RECOMMENCE LE TRI
92C EN INCREMENTANT LE NB_N_B (NOMBRE DE NOEUDS PAR BOITE FINIE)
93C
94C POINTEUR NOM TAILLE
95C P0........CAND_A:Adresse de N ds CAND_N NSN + 3[+ NSNROLD dans le cas SPMD]
96C P1........Elt Bas Pile NRTM
97C P2........Elt PILE 2*NRTM
98C P21.......BPN NSN
99C P22.......PN NSN
100C P31.......ADDI 2*I_ADD_MAX
101 maxsiz = 3*(nrtm+100)
102 ip0 = 1
103 ip1 = ip0 + nsn + nsnrold + 3
104C
105C
106C-----INITIALISATION DES ADRESSES ET X,Y,Z
107C
108C ADDE ADDN X Y Z
109C 1 1 XMIN YMIN ZMIN
110C 1 1 XMAX YMAX ZMAX
111C
112 add(1,1) = 0
113 add(2,1) = 0
114 add(1,2) = 0
115 add(2,2) = 0
116 i_add = 1
117 xyzm(1,i_add) = bminma(4)
118 xyzm(2,i_add) = bminma(5)
119 xyzm(3,i_add) = bminma(6)
120 xyzm(4,i_add) = bminma(1)
121 xyzm(5,i_add) = bminma(2)
122 xyzm(6,i_add) = bminma(3)
123 i_mem = 0
124C
125C
126C-----DEBUT DE LA PHASE DE TRI
127C
128C SEPARER B ET N EN TWO
129 marge = tzinf-gap ! il s agit bien de la marge
130 CALL i10tri(
131 1 add ,nsn ,renum ,nsnr ,nrtm ,
132 2 irect ,x ,xyzm ,igap ,gap ,
133 3 i_add ,nsv ,maxsiz ,ii_stok ,cand_n ,
134 4 cand_e ,ncontact,noint ,tzinf ,maxbox ,
135 5 minbox ,i_mem ,nb_n_b ,i_add_max,mwag(ip0),
136 6 eshift ,nsnrold ,stf ,stfn ,gap_s ,
137 7 gap_m ,gapmin ,gapmax ,marge ,nin ,
138 8 intheat, idt_therm, nodadt_therm)
139C---------------------------------
140C I_MEM = 1 ==> PAS ASSEZ DE MEMOIRE PILE
141C I_MEM = 2 ==> PAS ASSEZ DE MEMOIRE CANDIDATS
142C I_MEM = 3 ==> TROP NIVEAUX PILE
143 IF (i_mem == 2) RETURN
144 IF(i_mem==1)THEN
145 nb_n_b = nb_n_b + 1
146 IF ( nb_n_b > ncont) THEN
147 CALL ancmsg(msgid=85,anmode=aninfo,
148 . i1=noint)
149 CALL arret(2)
150 ENDIF
151 ild = 1
152 ELSEIF(i_mem==2) THEN
153 IF(debug(1)>=1) THEN
154 iwarn = iwarn+1
155#include "lockon.inc"
156 WRITE(istdo,*)' **WARNING INTERFACE/MEMORY'
157 WRITE(iout,*)' **WARNING INTERFACE NB:',noint
158 WRITE(iout,*)' TOO MANY POSSIBLE IMPACTS'
159 WRITE(iout,*)' SIZE OF INFLUENCE ZONE IS'
160 WRITE(iout,*)' MULTIPLIED BY 0.75'
161#include "lockoff.inc"
162 ENDIF
163 tzinf = three_over_4*tzinf
164C ne pas dimunuer la taille des boite
165C MINBOX= THREE_OVER_4*MINBOX
166C MAXBOX= THREE_OVER_4*MAXBOX
167 IF( tzinf<=gap ) THEN
168 CALL ancmsg(msgid=85,anmode=aninfo,
169 . i1=noint)
170 CALL arret(2)
171 ENDIF
172 ild = 1
173 ELSEIF(i_mem==3)THEN
174 nb_n_b = nb_n_b + 1
175 IF ( nb_n_b > ncont) THEN
176 CALL ancmsg(msgid=90,anmode=aninfo,
177 . i1=noint)
178 CALL arret(2)
179 ENDIF
180 ild = 1
181 ENDIF
182C
183 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine i10tri(add, nsn, renum, nsnr, nrtm, irect, x, xyzm, igap, gap, i_add, nsv, maxsiz, ii_stok, cand_n, cand_e, nsn4, noint, tzinf, maxbox, minbox, i_mem, nb_n_b, i_add_max, cand_a, eshift, nsnrold, stf, stfn, gap_s, gap_m, gapmin, gapmax, marge, nin, intheat, idt_therm, nodadt_therm)
Definition i10tri.F:43
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