33 3 GAPMIN ,GAPMAX,GAP_M ,
34 4 IRECT ,GAP ,BGAPSMX,DRAD ,NB_INDEX_CELL,SIZE_INDEX_CELL,INDEX_CELL,
35 5 NEEDED,MAIN_COARSE_GRID,DGAPLOAD)
54#include "implicit_f.inc"
64 LOGICAL,
INTENT(in) :: NEEDED
65 INTEGER :: IGAP, NRTM, IRECT(4,NRTM)
66 my_real :: X(3,NUMNOD),STF(NRTM), GAP_M(NRTM), BGAPSMX,DRAD
67 my_real :: TZINF,GAPMIN,GAPMAX,GAP,(NRTM)
68 INTEGER,
INTENT(inout) :: NB_INDEX_CELL
69 INTEGER,
INTENT(in) :: SIZE_INDEX_CELL
70 INTEGER,
DIMENSION(SIZE_INDEX_CELL),
INTENT(inout) :: INDEX_CELL
71 INTEGER,
DIMENSION(NB_BOX_COARSE_GRID,NB_BOX_COARSE_GRID,NB_BOX_COARSE_GRID),
INTENT(inout) :: MAIN_COARSE_GRID
72 my_real ,
INTENT(IN) :: dgapload
77 . NBX,NBY,NBZ,NE,M1,M2,M3,M4,
78 . IX1,IY1,IZ1,IX2,IY2,IZ2,IX,IY,IZ
81 . xmaxb,ymaxb,zmaxb,xminb,yminb,zminb,
82 . xmine,ymine,zmine,xmaxe,ymaxe,zmaxe,
83 . xx1,xx2,xx3,xx4,yy1,yy2,yy3,yy4,zz1,zz2,zz3,zz4
84 INTEGER :: IX_COARSE,IY_COARSE,IZ_COARSE
85 my_real ::
VALUE,real_value
90 marge = tzinf-
max(gap+dgapload,drad)
106 IF(stf(ne) == zero)cycle
109 aaa = tzinf+curv_max(ne)
112 .
max(
min(gapmax,
max(gapmin,bgapsmx+gap_m(ne)))+dgapload,drad)
123 xmaxe=
max(xx1,xx2,xx3,xx4)
124 xmine=
min(xx1,xx2,xx3,xx4)
130 ymaxe=
max(yy1,yy2,yy3,yy4)
131 ymine=
min(yy1,yy2,yy3,yy4)
137 zmaxe=
max(zz1,zz2,zz3,zz4)
138 zmine=
min(zz1,zz2,zz3,zz4)
141 ix1=int(nbx*(xmine-aaa-xminb)/(xmaxb-xminb))
142 iy1=int(nby*(ymine-aaa-yminb)/(ymaxb-yminb))
149 ix2=int(nbx*(xmaxe+aaa-xminb)/(xmaxb-xminb))
150 iy2=int(nby*(ymaxe+aaa-yminb)/(ymaxb-yminb))
151 iz2=int(nbz*(zmaxe+aaa-zminb)/(zmaxb-zminb))
161 VALUE = real_value*float(iz)/float(
nb_cell_z)
163 iz_coarse =
max(iz_coarse,1)
165 VALUE = real_value*float(iy)/float(
nb_cell_y)
167 iy_coarse =
max(iy_coarse,1)
169 VALUE = real_value*float(ix)/float
171 ix_coarse =
max(ix_coarse,1)
173 nb_index_cell = nb_index_cell + 1
174 index_cell(nb_index_cell) = ix + 1000*iy +1000**2 * iz
176 IF(needed) main_coarse_grid(ix_coarse,iy_coarse,iz_coarse) = 1
subroutine inter_cell_color(x, igap, nrtm, stf, tzinf, curv_max, gapmin, gapmax, gap_m, irect, gap, bgapsmx, drad, nb_index_cell, size_index_cell, index_cell, needed, main_coarse_grid, dgapload)