00001 #include "utilf.h" 00002 #include "stypes.h" 00003 #include "stresses.h" 00004 00005 00006 void viscous_tensor(real2D u, real2D v, 00007 real2D S11, real2D S22, real2D S12, 00008 real visliq, real tau, 00009 int nx, int ny) 00010 { 00011 int i, j; 00012 real h = 1.0 / (nx - 2); 00013 00014 visliq *= tau / (h * h); 00015 for (i = 1; i <= nx; i++) 00016 for (j = 2; j < ny; j++) 00017 S11[i][j] = 2.*visliq*(u[i+1][j] - u[i][j]); 00018 for (i = 2; i < nx; i++) 00019 for (j = 2; j <= ny; j++) 00020 S22[i][j] = 2.*visliq*(v[i][j+1] - v[i][j]); 00021 for (i = 2; i <= nx; i++) 00022 for (j = 2; j <= ny; j++) 00023 S12[i][j] = visliq*(u[i][j] - u[i][j-1] + v[i][j] - v[i-1][j]); 00024 } 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037