60 Int3 ijk = cut_cell_disc.
get_ijk(n);
66 int decalage = num_face/3;
67 int sign = decalage*2 -1;
69 int di = decalage*(dir == 0);
70 int dj = decalage*(dir == 1);
71 int dk = decalage*(dir == 2);
72 int di_decale = sign*(dir == 0);
73 int dj_decale = sign*(dir == 1);
74 int dk_decale = sign*(dir == 2);
76 double next_indicatrice_decale = cut_cell_disc.
get_interfaces().
In(i+di_decale,j+dj_decale,k+dk_decale);
78 double valeur_centre = (phase == 0) ? cut_field.
diph_v_(n) : cut_field.
diph_l_(n);
80 double valeur_decale = -1e37;
81 int n_decale = cut_cell_disc.
get_n(i+di_decale, j+dj_decale, k+dk_decale);
84 valeur_decale = (phase == 0) ? cut_field.
diph_v_(n_decale) : cut_field.
diph_l_(n_decale);
91 double total_velocity = cut_field_total_velocity[dir].from_ijk_and_phase(i+di,j+dj,k+dk, phase);
93 int n_face = cut_cell_disc.
get_n_face(num_face, n, i, j, k);
97 if (surface_efficace > 0)
99 double valeur = (sign*total_velocity < 0) ? valeur_decale : valeur_centre;
100 return -sign*surface_efficace*valeur*total_velocity;
110 assert((surface_efficace == 0) || (surface_efficace == 1));
111 if (surface_efficace > 0)
113 double valeur = (sign*total_velocity < 0) ? valeur_decale : valeur_centre;
114 return -sign*surface_efficace*valeur*total_velocity;
127 Int3 ijk = cut_cell_disc.
get_ijk(n);
132 int dir = num_face%3;
133 int decalage = num_face/3;
134 int sign = decalage*2 -1;
136 int di = decalage*(dir == 0);
137 int dj = decalage*(dir == 1);
138 int dk = decalage*(dir == 2);
139 int di_decale = sign*(dir == 0);
140 int dj_decale = sign*(dir == 1);
141 int dk_decale = sign*(dir == 2);
143 double next_indicatrice_decale = cut_cell_disc.
get_interfaces().
In(i+di_decale,j+dj_decale,k+dk_decale);
145 double valeur_decale = -1e37;
146 int n_decale = cut_cell_disc.
get_n(i+di_decale, j+dj_decale, k+dk_decale);
149 valeur_decale = (phase == 0) ? cut_field.
diph_v_(n_decale) : cut_field.
diph_l_(n_decale);
156 double total_velocity = cut_field_total_velocity[dir].from_ijk_and_phase(i+di,j+dj,k+dk, phase);
158 int n_face = cut_cell_disc.
get_n_face(num_face, n, i, j, k);
162 if (surface_efficace > 0)
164 double valeur = valeur_decale;
165 return -sign*surface_efficace*valeur*total_velocity;
175 assert((surface_efficace == 0) || (surface_efficace == 1));
176 if (surface_efficace > 0)
178 double valeur = valeur_decale;
179 return -sign*surface_efficace*valeur*total_velocity;