51 for (dg = 0; dg < n_boundary; dg++) {
58 double xtip, ytip, ztip;
60 index[0] = i = boundary[dg].
i;
61 index[1] = j = boundary[dg].
j;
62 index[2] = k = boundary[dg].
k;
69 nx = boundary[dg].
face->
nx;
70 ny = boundary[dg].
face->
ny;
71 nz = boundary[dg].
face->
nz;
72 xx = boundary[dg].
face->
x1;
73 yy = boundary[dg].
face->
y1;
74 zz = boundary[dg].
face->
z1;
76 dist = nx*(xx-xb) + ny*(yy-yb) + nz*(zz-zb);
78 double x1, x2, y1, y2, z1, z2;
88 ds =
min3(dx, dy, dz);
97 while(!is_it_in && (iter < maxiter)) {
106 while ((xx < xtip) && (itip < imax+ghosts-1)) {
113 while ((xx > xtip) && (itip > -ghosts)) {
122 while ((yy < ytip) && (jtip < jmax+ghosts-1)) {
129 while ((yy > ytip) && (jtip > -ghosts)) {
138 while ((zz < ztip) && (ktip < kmax+ghosts-1)) {
145 while ((zz > ztip) && (ktip > -ghosts)) {
162 nflow += blank[ptip[0]];
163 nflow += blank[ptip[1]];
164 nflow += blank[ptip[2]];
165 nflow += blank[ptip[3]];
166 nflow += blank[ptip[4]];
167 nflow += blank[ptip[5]];
168 nflow += blank[ptip[6]];
169 nflow += blank[ptip[7]];
178 fprintf(stderr,
"Error in IBInterpCoeffs() (Bug in code) - counting interior points surrounding probe tip \n");
179 fprintf(stderr,
"on rank %d.\n", mpi->
rank);
180 fprintf(stderr,
"Value of nflow is %d but can only be positive and <= %d.\n",nflow,
_IB_NNODES_);
186 fprintf(stderr,
"Error in IBInterpCoeffs() on rank %d - interior point not found for immersed boundary point (%d,%d,%d)!\n",
191 double tlx[2],tly[2],tlz[2];
214 double tipdist =
absolute(nx*(xx-xtip) + ny*(yy-ytip) + nz*(zz-ztip));
218 fprintf(stderr,
"Warning in IBInterpCoeffs() on rank %d - how can probe tip be on surface? Tipdist = %e\n",
int IBInterpCoeffs(void *, void *, double *, int *, int, double *)
Structure defining an immersed boundary node.
Structure containing variables for immersed boundary implementation.
Structures and function definitions for immersed boundaries.
MPI related function definitions.
#define _GetCoordinate_(dir, i, dim, ghosts, x, coord)
#define _ArrayIndex1D_(N, imax, i, ghost, index)
void TrilinearInterpCoeffs(double, double, double, double, double, double, double, double, double, double *)
double interp_node_distance
Contains function definitions for common mathematical functions.
#define _ArrayCopy1D_(x, y, size)
Some basic definitions and macros.
Contains macros and function definitions for common array operations.
Structure of MPI-related variables.