This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Functions | |
| void | inidroplet (interface **in, int *nin, real2D u, real2D v, real2D p, real sigma, real tau, real xvel, int nx, int ny) |
| void | inidroplets (interface **in, int *nin, real2D u, real2D v, real2D p, real sigma, real tau, real xvel, int nx, int ny) |
| void | inifusion (interface *in, int nx, int ny) |
| void | ini_impact (interface *in, real2D u, real2D v, real xvel, real tau, int nx, int ny) |
| void | inifile (interface *in, int nx, int ny, char *file) |
| void | inbubble (interface **in, int *nin, real2D u, real2D v, real2D p, real sigma, real tau, real xvel, real po, int nx, int ny) |
| void | iniwave (interface **in, int *nin, real2D u, real2D v, real2D p, real tau, real xvel, int nx, int ny) |
| void | initorus (interface *in, real2D u, real2D v, real2D p, real tau, real xvel, int nx, int ny) |
| void | inijet (interface *in, real2D u, real2D v, real2D p, real tau, real xvel, int nx, int ny) |
| void | ini_impact2 (interface *in, real2D u, real2D v, real xvel, real tau, int nx, int ny) |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 187 of file ini_conditions.c. References AXIBOTH, interface::bc, interface::n, real, real2D, realreadSI, interface::spx, interface::spy, sq, interface::t, interface::x, interface::y, and YMIN.
00189 {
00190 real h, tpi, r;
00191 real diameter = 0.2, thickness = 0.3, xc1, xc2;
00192 int i, j;
00193 real width = 2.0, height = 4.0, theta;
00194
00195 h = 1.0 / (nx - 2);
00196
00197 realreadSI("diameter", &diameter, stdin);
00198 realreadSI("thickness", &thickness, stdin);
00199
00200 printf("------- Initialisation parameters ------\n");
00201 printf("Impact: D=%g thickness=%g xvel=%g\n", diameter, thickness, xvel);
00202
00203 diameter *= 0.5 * (nx - 2);
00204 printf("radius: %f\n", diameter);
00205 xc1 = thickness*(nx - 2) + 2.0 + diameter + width/2;
00206 xc2 = thickness*(nx - 2) + 2.0 - diameter - width/2;
00207 theta = (height + width/2.)/diameter;
00208
00209 #if 0
00210 for (i = 2; i < nx; i++)
00211 for (j = 2; j < ny; j++) {
00212 r = sqrt(sq((real)i - xc1) + sq((real)j - 1.5));
00213 if (r <= diameter)
00214 u[i][j] = xvel*tau/h;
00215 }
00216 #else
00217 for (i = 2 /* xc1 - diameter */ ; i < nx; i++)
00218 for (j = 2; j < ny; j++)
00219 u[i][j] = xvel*tau/h;
00220 #endif
00221
00222 in->n = nx*5 + 1;
00223 in->x = (real *)malloc(in->n * sizeof(real));
00224 in->y = (real *)malloc(in->n * sizeof(real));
00225 in->t = (real *)malloc(in->n * sizeof(real));
00226 in->spx = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00227 in->spy = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00228 in->p = (real *)malloc(in->n * sizeof(real));
00229
00230 for (i = 0; i < (in->n - 1)/2; i++) {
00231 tpi = (PI - theta)*i/((in->n - 1)/2 - 1);
00232 in->x[i] = xc1 + diameter*cos(tpi);
00233 in->y[i] = YMIN + diameter*sin(tpi);
00234 }
00235 in->x[(in->n - 1)/2] = (xc1 + xc2)/2.;
00236 in->y[(in->n - 1)/2] = YMIN + height;
00237 for (i = (in->n - 1)/2 + 1; i < in->n; i++) {
00238 in->x[i] = xc2 + diameter;
00239 in->y[i] = YMIN + height + width/2. + (i - (in->n - 1)/2 - 1)*((real)ny - 2. - height - width/2.)/(real)(in->n - 2 - (in->n - 1)/2);
00240 }
00241 in->y[in->n - 1] = 0.001 + (real)ny;
00242 in->bc = AXIBOTH;
00243 #if 0
00244 for (i = 0; i < in->n/2; i++) {
00245 double tmp;
00246 tmp = in->x[i];
00247 in->x[i] = in->x[in->n - 1 - i];
00248 in->x[in->n - 1 - i] = tmp;
00249
00250 tmp = in->y[i];
00251 in->y[i] = in->y[in->n - 1 - i];
00252 in->y[in->n - 1 - i] = tmp;
00253 }
00254 #endif
00255 #if 0
00256 for (i=0; i<=in->n-1; i++)
00257 in->x[i] = (real)nx - in->x[i] + 0.05;
00258 #endif
00259 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 548 of file ini_conditions.c. References AXIBOTH, interface::bc, interface::n, real, real2D, realreadSI, interface::spx, interface::spy, sq, interface::t, interface::x, interface::y, and YMIN.
00550 {
00551 real h, tpi, r;
00552 real diameter = 0.2, thickness = 0.3, xc1, xc2;
00553 int i, j;
00554 real width = 4.0, height = 4.0, theta;
00555
00556 h = 1.0 / (nx - 2);
00557
00558 realreadSI("diameter", &diameter, stdin);
00559 realreadSI("thickness", &thickness, stdin);
00560
00561 printf("------- Initialisation parameters ------\n");
00562 printf("Impact: D=%g thickness=%g xvel=%g\n", diameter, thickness, xvel);
00563
00564 diameter *= 0.5 * (nx - 2);
00565 printf("radius: %f\n", diameter);
00566 xc1 = thickness*(nx - 2) + 2.0 + diameter + width/2;
00567 xc2 = thickness*(nx - 2) + 2.0 - diameter - width/2;
00568 theta = (height + width/2.)/diameter;
00569
00570 #if 0
00571 for (i = 2; i < nx; i++)
00572 for (j = 2; j < ny; j++) {
00573 r = sqrt(sq((real)i - xc1) + sq((real)j - 1.5));
00574 if (r <= diameter)
00575 u[i][j] = xvel*tau/h;
00576 }
00577 #else
00578 for (i = 2 /* xc1 - diameter */ ; i < nx; i++)
00579 for (j = 2; j < ny; j++)
00580 u[i][j] = xvel*tau/h;
00581 #endif
00582
00583 in->n = nx*5 + 1;
00584 in->x = (real *)malloc(in->n * sizeof(real));
00585 in->y = (real *)malloc(in->n * sizeof(real));
00586 in->t = (real *)malloc(in->n * sizeof(real));
00587 in->spx = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00588 in->spy = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00589 in->p = (real *)malloc(in->n * sizeof(real));
00590
00591 for (i = 0; i < (in->n - 1)/2; i++) {
00592 tpi = (PI - theta)*i/((in->n - 1)/2 - 1);
00593 in->x[i] = xc1 + diameter*cos(tpi);
00594 in->y[i] = YMIN + diameter*sin(tpi);
00595 }
00596 in->x[(in->n - 1)/2] = (xc1 + xc2)/2.;
00597 in->y[(in->n - 1)/2] = YMIN + height;
00598 for (i = (in->n - 1)/2 + 1; i < in->n; i++) {
00599 in->x[i] = xc2 + diameter;
00600 in->y[i] = YMIN + height + width/2. + (i - (in->n - 1)/2 - 1)*((real)ny - 2. - height - width/2.)/(real)(in->n - 2 - (in->n - 1)/2);
00601 }
00602 in->y[in->n - 1] = 0.001 + (real)ny;
00603 in->bc = AXIBOTH;
00604 #if 0
00605 for (i = 0; i < in->n/2; i++) {
00606 double tmp;
00607 tmp = in->x[i];
00608 in->x[i] = in->x[in->n - 1 - i];
00609 in->x[in->n - 1 - i] = tmp;
00610
00611 tmp = in->y[i];
00612 in->y[i] = in->y[in->n - 1 - i];
00613 in->y[in->n - 1 - i] = tmp;
00614 }
00615 #endif
00616 #if 1
00617 for (i=0; i<=in->n-1; i++)
00618 in->x[i] = (real)nx - in->x[i] + 0.05;
00619 #endif
00620 }
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Definition at line 84 of file ini_conditions.c. References real, real2D, and realreadSI.
00091 {
00092 real diameter, xc, eps = 0.0;
00093 int mode = 1;
00094
00095 diameter = 0.5; xc = 0.5;
00096
00097 realreadSI("diameter", &diameter, stdin);
00098 realreadSI("xc", &xc, stdin);
00099 intread("mode", &mode, stdin);
00100 realreadSI("eps", &eps, stdin);
00101
00102 *in = (interface *)malloc(sizeof(interface));
00103 *nin = 1;
00104
00105 inidrop(*in, u, v, p, sigma, tau, xvel, xc, diameter, eps, mode, nx, ny);
00106 }
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Definition at line 109 of file ini_conditions.c. References real, real2D, and realreadSI.
00116 {
00117 real diameter, xc, yc, eps = 0.0;
00118 int mode = 1;
00119
00120 diameter = 0.5; xc = 0.5; yc = 0.5;
00121
00122 realreadSI("diameter", &diameter, stdin);
00123 realreadSI("xc", &xc, stdin);
00124 realreadSI("yc", &yc, stdin);
00125 intread("mode", &mode, stdin);
00126 realreadSI("eps", &eps, stdin);
00127
00128 *in = (interface *)malloc(2 * sizeof(interface));
00129 *nin = 2;
00130 inidrop(&(*in)[0], u, v, p, sigma, tau, xvel,
00131 xc - 0.6*diameter,
00132 diameter, eps, mode, nx, ny);
00133 inidrop(&(*in)[1], u, v, p, sigma, tau, -xvel, xc + 0.6*diameter,
00134 diameter, eps, mode, nx, ny);
00135 }
|
|
||||||||||||||||||||
|
Definition at line 262 of file ini_conditions.c. References AXIBOTH, interface::bc, interface::n, real, interface::spx, interface::spy, interface::t, interface::x, interface::y, and YMIN. Referenced by initialize().
00263 {
00264 FILE *fptr = fopen(file, "rt");
00265 int i, n = 0;
00266 float x, y;
00267
00268 if (!fptr) {
00269 fprintf(stderr, "inifile(): cannot open file `%s'\n", file);
00270 exit(1);
00271 }
00272 while (fscanf(fptr, "%f %f", &x, &y) == 2)
00273 n++;
00274 printf("------- Initialisation parameters ------\n");
00275 printf("File: %s, npoints: %d\n", file, n);
00276 in->n = n;
00277 in->x = (real *)malloc(in->n * sizeof(real));
00278 in->y = (real *)malloc(in->n * sizeof(real));
00279 in->t = (real *)malloc(in->n * sizeof(real));
00280 in->spx = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00281 in->spy = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00282 in->p = (real *)malloc(in->n * sizeof(real));
00283
00284 rewind(fptr);
00285 for (i = 0; i < n; i++) {
00286 fscanf(fptr, "%f %f", &x, &y);
00287 in->x[i] = (real)(nx - 2)*x + 2.;
00288 in->y[i] = (real)(nx - 2)*y + YMIN;
00289 }
00290 /*cld*/
00291 in->bc = AXIBOTH;
00292 /*cld*/
00293 /*in->bc = AXITRUE*/
00294 fclose(fptr);
00295 }
|
|
||||||||||||||||
|
Definition at line 138 of file ini_conditions.c. References AXITRUE, interface::bc, interface::n, real, realreadSI, sphericalY(), interface::spx, interface::spy, interface::t, interface::x, interface::y, and YMIN.
00139 {
00140 real h, r, tpi;
00141 real diameter = 0.4, eps = 0.0, xc1, xc2;
00142 int mode = 1;
00143 int i;
00144 real width = 3.0, height = 2.0, theta;
00145
00146 h = 1.0 / (nx - 2);
00147
00148 realreadSI("diameter", &diameter, stdin);
00149 intread("mode", &mode, stdin);
00150 realreadSI("eps", &eps, stdin);
00151
00152 printf("------- Initialisation parameters ------\n");
00153 printf("Fusion: D=%g, mode=%d, eps=%g\n", diameter, mode, eps);
00154
00155 diameter *= 0.5 * (nx - 2);
00156 printf("radius: %f\n", diameter);
00157 xc1 = 0.5*(nx - 2) + 2.0 + diameter + width/2;
00158 xc2 = 0.5*(nx - 2) + 2.0 - diameter - width/2;
00159 theta = (height + width/2.)/diameter;
00160
00161 in->n = nx*5 + 1;
00162 in->x = (real *)malloc(in->n * sizeof(real));
00163 in->y = (real *)malloc(in->n * sizeof(real));
00164 in->t = (real *)malloc(in->n * sizeof(real));
00165 in->spx = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00166 in->spy = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00167 in->p = (real *)malloc(in->n * sizeof(real));
00168
00169 for (i = 0; i < (in->n - 1)/2; i++) {
00170 tpi = (PI - theta)*i/((in->n - 1)/2 - 1);
00171 r = diameter*(1. + eps*sphericalY(mode, 0, tpi));
00172 in->x[i] = xc1 + r*cos(tpi);
00173 in->y[i] = YMIN + r*sin(tpi);
00174 }
00175 in->x[(in->n - 1)/2] = nx/2 + 1;
00176 in->y[(in->n - 1)/2] = YMIN + height;
00177 for (i = (in->n - 1)/2 + 1; i < in->n; i++) {
00178 tpi = theta + (PI - theta)*(i - (in->n - 1)/2 - 1)/((in->n - 3)/2);
00179 r = diameter*(1. + eps*sphericalY(mode, 0, tpi));
00180 in->x[i] = xc2 + r*cos(tpi);
00181 in->y[i] = YMIN + r*sin(tpi);
00182 }
00183 in->bc = AXITRUE;
00184 }
|
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 510 of file ini_conditions.c. References AXITRUE, interface::bc, interface::n, real, real2D, interface::spx, interface::spy, sq, interface::t, interface::x, interface::y, and YMIN.
00515 {
00516 real h = 1.0/(nx - 2);
00517 int i, j;
00518
00519 for (i = nx/3; i <= nx; i++)
00520 for (j = 2; j < 10; j++)
00521 u[i][j] = xvel*tau/h*sq(10 - j)/sq(8);
00522
00523 in->n = 4;
00524 in->x = (real *)malloc(in->n * sizeof(real));
00525 in->y = (real *)malloc(in->n * sizeof(real));
00526 in->t = (real *)malloc(in->n * sizeof(real));
00527 in->spx = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00528 in->spy = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00529 in->p = (real *)malloc(in->n * sizeof(real));
00530
00531 in->x[0] = (nx - 2)/4. + 2.2; in->y[0] = YMIN;
00532 in->x[1] = (nx - 2)/2. + 2.; in->y[1] = (ny - 2)/2. + 2.;
00533 in->x[2] = 3.*(nx - 2)/4. + 2.; in->y[2] = (ny - 2)/4. + 2.;
00534 in->x[3] = (nx - 2)/3. + 2.; in->y[3] = YMIN;
00535 in->bc = AXITRUE;
00536 }
|
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 462 of file ini_conditions.c. References interface::bc, interface::n, real, real2D, realreadSI, sphericalY(), interface::spx, interface::spy, interface::t, TRUE_PERIODIC, interface::x, and interface::y.
00467 {
00468 real h, r, tpi;
00469 real xc, yc, diameter, eps;
00470 int mode;
00471 int i, j;
00472
00473 h = 1.0 / (nx - 2);
00474
00475 realreadSI("diameter", &diameter, stdin);
00476 realreadSI("xc", &xc, stdin);
00477 realreadSI("yc", &yc, stdin);
00478 intread("mode", &mode, stdin);
00479 realreadSI("eps", &eps, stdin);
00480
00481 printf("------- Initialisation parameters ------\n");
00482 printf("torus: C=(%g,%g), d=%g, mode=%d, eps=%g\n",
00483 xc, yc, diameter, mode, eps);
00484
00485 diameter *= 0.5 * (nx - 2);
00486 printf("radius: %f\n", diameter);
00487 xc = xc*(nx - 2) + 2.0;
00488 yc = yc*(ny - 2) + 2.0;
00489
00490 in->n = 10*nx;
00491 in->x = (real *)malloc(in->n * sizeof(real));
00492 in->y = (real *)malloc(in->n * sizeof(real));
00493 in->t = (real *)malloc(in->n * sizeof(real));
00494 in->spx = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00495 in->spy = (polynom3 *)malloc((in->n - 1) * sizeof(polynom3));
00496 in->p = (real *)malloc(in->n * sizeof(real));
00497
00498 for (i = 0; i < in->n; i++) {
00499 tpi = 2.*PI*(in->n - 1 - i)/(in->n - 1);
00500 r = diameter*(1. + eps*sphericalY(mode, 0, tpi));
00501 in->x[i] = xc + r*cos(tpi);
00502 in->y[i] = yc + r*sin(tpi);
00503 }
00504 in->x[in->n - 1] = in->x[0];
00505 in->y[in->n - 1] = in->y[0];
00506 in->bc = TRUE_PERIODIC;
00507 }
|
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 381 of file ini_conditions.c. References real, real2D, and realreadSI.
00387 {
00388 real h, x, y, ampli = 0.1, wavenr = 1.0, position = 0.5;
00389 int i;
00390
00391 realreadSI("amplitude", &li, stdin);
00392 realreadSI("wavenr", &wavenr, stdin);
00393 realreadSI("position", &position, stdin);
00394 printf("------- Initialisation parameters ------\n");
00395 printf("Wave: wavenr=%g amplitude=%g position=%g\n",
00396 wavenr, ampli, position);
00397
00398 ampli *= ny - 2;
00399 h = 1.0 / (nx - 2);
00400
00401 *in = (interface *)malloc(sizeof(interface));
00402 *nin = 1;
00403 (*in)->n = 10*nx;
00404 (*in)->x = (real *)malloc((*in)->n * sizeof(real));
00405 (*in)->y = (real *)malloc((*in)->n * sizeof(real));
00406 (*in)->t = (real *)malloc((*in)->n * sizeof(real));
00407 (*in)->spx = (polynom3 *)malloc(((*in)->n - 1) * sizeof(polynom3));
00408 (*in)->spy = (polynom3 *)malloc(((*in)->n - 1) * sizeof(polynom3));
00409 (*in)->p = (real *)malloc((*in)->n * sizeof(real));
00410
00411 for (i = 0; i < (*in)->n - 1; i++) {
00412 x = (real)i * (real)(nx - 2.0) / (real)((*in)->n - 1) + 2.1;
00413 y = ampli*cos((x - 2.0)*2.0*PI*wavenr/(real)(nx - 2.0))
00414 + position*ny + 1.501;
00415 (*in)->x[i] = x;
00416 (*in)->y[i] = y;
00417 }
00418 (*in)->x[(*in)->n - 1] = (*in)->x[0] + nx - 2.0;
00419 (*in)->y[(*in)->n - 1] = (*in)->y[0];
00420 }
|
1.2.18