32
33
34
35
36
37
38
39
40
41
42
43
44
46
47
48
49#include "implicit_f.inc"
50#include "comlock.inc"
51
52
53
54#include "spmd_c.inc"
55
56
57
58 integer, intent(inout) :: nb_cell_x
59 integer, intent(inout) :: nb_cell_y
60 integer, intent(inout) :: nb_cell_z
61 my_real,
dimension(6),
intent(inout) :: box_limit
62
63
64
65 INTEGER :: LEADING_DIMENSION
67 my_real :: ratio,size_cell,dist_max
68
69
70
71
72
73
74
75
76 dx_box = abs(box_limit(1) - box_limit(4))
77 dy_box = abs(box_limit(2) - box_limit(5))
78 dz_box = abs(box_limit(3) - box_limit(6))
79
80 dist_max =
max(dx_box,dy_box,dz_box)
81 IF(dist_max==dx_box) leading_dimension = 1
82 IF(dist_max==dy_box) leading_dimension = 2
83 IF(dist_max==dz_box) leading_dimension = 3
84
85
86 ratio = sqrt( numnodg / (dx_box*dy_box+dx_box*dz_box+dy_box*dz_box))
87 IF(leading_dimension==1) THEN
93
95
101
107 ELSEIF(leading_dimension==2) THEN
113
115
121
127 ELSEIF(leading_dimension==3) THEN
133
135
141
147 ENDIF
148
149
150 RETURN
integer, parameter nb_box_limit
integer, parameter nb_box_coarse_grid