Changeset 20945
- Timestamp:
- 07/19/16 13:48:09 (9 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Materials/Matestar.h
r20827 r20945 3 3 */ 4 4 5 #ifndef MATE ARL_H_6 #define MATE ARL_H_5 #ifndef MATESTAR_H_ 6 #define MATESTAR_H_ 7 7 8 8 /*Headers:*/ … … 85 85 }; 86 86 87 #endif /* _MATE ARL_H_ */87 #endif /* _MATESTAR_H_ */ -
issm/trunk-jpl/src/c/shared/Elements/EstarComponents.cpp
r20687 r20945 6 6 7 7 /*Intermediaries*/ 8 IssmDouble omega[3] ,omega_norm;8 IssmDouble omega[3]; 9 9 IssmDouble nrsp[3],nrsp_norm; 10 10 IssmDouble eps[3][3],epso; … … 81 81 /*Intermediaries*/ 82 82 IssmDouble omega_norm; 83 IssmDouble omega_rigid[3]; 83 84 84 85 /*Create vorticity vector*/ … … 87 88 88 89 /*Create vorticity vector, corrected for rigid body rotation 89 * \overline{\omega} =\omega - \Omega 90 * =-\nabla\times{\bf v} - 2*\nabla U\times{\bf v}/U; 90 * \overline{\omega} =\omega - \omega_rigid 91 * =\nabla\times{\bf v} - 2*U*\kappa*\hat{b}; 92 * =\nabla\times{\bf v} - (2*{\bf v}\times(({\bf v}\cdot\nabla)*{\bf v}))/U^2 91 93 * check the magnitude of the second term -- if it is small, then the two 92 94 * vorticities (omega and first term in omega) are approx. equal 93 95 * 94 96 * */ 95 omega[0] = -(dvz[1] - dvy[2]) + 2*(dvmag[1]*vz - dvmag[2]*vy)/vmag; 96 omega[1] = -(dvx[2] - dvz[0]) + 2*(dvmag[2]*vx - dvmag[0]*vz)/vmag; 97 omega[2] = -(dvy[0] - dvx[1]) + 2*(dvmag[0]*vy - dvmag[1]*vx)/vmag; 97 omega_rigid[0] = 2*(vy*(vx*dvz[0]+vy*dvz[1]+vz*dvz[2]) - vz*(vx*dvy[0]+vy*dvy[1]+vz*dvy[2]))/(vmag*vmag); 98 omega_rigid[1] = 2*(vz*(vx*dvx[0]+vy*dvx[1]+vz*dvx[2]) - vx*(vx*dvz[0]+vy*dvz[1]+vz*dvz[2]))/(vmag*vmag); 99 omega_rigid[2] = 2*(vx*(vx*dvy[0]+vy*dvy[1]+vz*dvy[2]) - vy*(vx*dvx[0]+vy*dvx[1]+vz*dvx[2]))/(vmag*vmag); 100 101 omega[0] = (dvz[1] - dvy[2]) - omega_rigid[0]; 102 omega[1] = (dvx[2] - dvz[0]) - omega_rigid[1]; 103 omega[2] = (dvy[0] - dvx[1]) - omega_rigid[2]; 98 104 99 105 /*Take out vorticity component aligned with the velocity*/ -
issm/trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.cpp
r20668 r20945 9 9 * case 6: 3d test with sinusoidal functions, non homogeneous Dirichlet conditions 10 10 * 11 * case 201: 3d test quadratic functions FS, E ARLflow law12 * case 202: 3d test quadratic functions HO, E ARLflow law11 * case 201: 3d test quadratic functions FS, ESTAR flow law 12 * case 202: 3d test quadratic functions HO, ESTAR flow law 13 13 */ 14 14 … … 83 83 case 212: 84 84 return (16.0L/9.0L)*x*(4*x + 1)/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 1.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 4.0L/3.0L)) + (64.0L/3.0L)*x*(-(4*x + 1)*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/pow(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11, 2) + 2*(pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (y + 3*z)/fabs(y + 3*z))*((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z))/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11))/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 4.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 1.0L/3.0L)) + (4.0L/9.0L)*(4*x + 1)/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 1.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 4.0L/3.0L)) - 4/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 1.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 1.0L/3.0L)) + (16.0L/3.0L)*(-(4*x + 1)*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/pow(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11, 2) + 2*(pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (y + 3*z)/fabs(y + 3*z))*((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z))/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11))/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 4.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 1.0L/3.0L)); 85 85 86 default: 86 87 _error_("FS analytical solution"<<testid<<" not implemented yet"); … … 151 152 152 153 case 212: 153 154 return -8.0L/3.0L*x*(9*(y + 3*z)*(pow(y + 3*z, 2)/pow(fabs(y + 3*z), 3) - 1/fabs(y + 3*z))/fabs(y + 3*z) + 4*((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z))*(3*(2*x + 1)*pow(y + 3*z, 4)/pow(fabs(y + 3*z), 5) - 4*(2*x + 1)*pow(y + 3*z, 2)/pow(fabs(y + 3*z), 3) + (2*x + 1)/fabs(y + 3*z)))/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 4.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 1.0L/3.0L)*(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11)) - 26.0L/3.0L*(9*(y + 3*z)*(pow(y + 3*z, 2)/pow(fabs(y + 3*z), 3) - 1/fabs(y + 3*z))/fabs(y + 3*z) + 4*((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z))*(3*(2*x + 1)*pow(y + 3*z, 4)/pow(fabs(y + 3*z), 5) - 4*(2*x + 1)*pow(y + 3*z, 2)/pow(fabs(y + 3*z), 3) + (2*x + 1)/fabs(y + 3*z)))/(pow(2*(4*pow(fabs((2*x + 1)*pow(y + 3*z, 3)/pow(fabs(y + 3*z), 3) - (2*x + 1)*(y + 3*z)/fabs(y + 3*z)), 2) + 9)/(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11) + 1, 4.0L/3.0L)*pow((4.0L/3.0L)*pow(x, 2) + (1.0L/3.0L)*pow(2*x + 1, 2) + 11.0L/6.0L, 1.0L/3.0L)*(8*pow(x, 2) + 2*pow(2*x + 1, 2) + 11)); 154 155 155 156 default:
Note:
See TracChangeset
for help on using the changeset viewer.