Changeset 17288
- Timestamp:
- 02/15/14 20:33:24 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17287 r17288 6 6 #include "../solutionsequences/solutionsequences.h" 7 7 8 #define FSANALYTICAL 38 //#define FSANALYTICAL 3 9 9 10 10 /*Model processing*/ … … 409 409 if(nodeonbed[i]>0. && groundedice_ls[i]>0. && nodeonFS[i]>0.){ 410 410 if(vertices_type[i] == FSApproximationEnum){ 411 //for(j=0;j<Nz;j++) spcvz[i*Nz+j] = 0.;411 for(j=0;j<Nz;j++) spcvz[i*Nz+j] = 0.; 412 412 } 413 413 else{ -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r17281 r17288 1191 1191 /*We found the enum. Use its values to fill into the vector, using the vertices ids: */ 1192 1192 input->GetVectorFromInputs(vector,&vertexpidlist[0]); 1193 } 1194 /*}}}*/ 1195 /*FUNCTION Tria::GetXcoord {{{*/ 1196 IssmDouble Tria::GetXcoord(Gauss* gauss){ 1197 1198 IssmDouble x; 1199 IssmDouble xyz_list[NUMVERTICES][3]; 1200 IssmDouble x_list[NUMVERTICES]; 1201 1202 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 1203 for(int i=0;i<NUMVERTICES;i++) x_list[i]=xyz_list[i][0]; 1204 TriaRef::GetInputValue(&x,x_list,gauss,P1Enum); 1205 1206 return x; 1193 1207 } 1194 1208 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r17275 r17288 209 209 210 210 void GetVertexPidList(int* doflist); 211 IssmDouble GetXcoord(Gauss* gauss) {_error_("not implemented");};211 IssmDouble GetXcoord(Gauss* gauss); 212 212 IssmDouble GetYcoord(Gauss* gauss); 213 213 IssmDouble GetZcoord(Gauss* gauss){_error_("not implemented");}; -
issm/trunk-jpl/src/c/shared/FSanalyticals/FSanalytical3.cpp
r17286 r17288 8 8 #include "../Numerics/constants.h" 9 9 10 IssmDouble fx2(IssmDouble x,IssmDouble y{ 11 IssmDouble p = 2.0; 12 IssmDouble q = 2.0; 10 IssmDouble fx3(IssmDouble x,IssmDouble y){ 13 11 IssmDouble functionx; 12 IssmDouble z=y; 14 13 15 functionx = -2*(y-1)*(y-1)*(x-1)*(2*x-1)*y-4*(y-1)*(y-1)*(x-1)*x*y-2*(y-1)*(y-1)*(2*x-1)*x*y +4*(y-1)*(2*y-1)*(x-1)*(x-1)*y+16*(y-1)*(2*y-1)*(x-1)*x*y+4*(y-1)*(2*y-1)*x*x*y +4*(y-1)*(x-1)*(x-1)*x*x-2*(y-1)*(x-1)*(2*x-1)*y*y-4*(y-1)*(x-1)*x*y*y -2*(y-1)*(2*x-1)*x*y*y+2*(2*y-1)*(x-1)*(x-1)*x*x+4*(x-1)*(x-1)*x*x*y+y-1/2;14 functionx = 4*pow(x, 2)*z*pow(x - 1, 2) + 4*pow(x, 2)*z*(z - 1)*(2*z - 1) + 4*pow(x, 2)*pow(x - 1, 2)*(z - 1) + 2*pow(x, 2)*pow(x - 1, 2)*(2*z - 1) + 16*x*z*(x - 1)*(z - 1)*(2*z - 1) - 4*pow(z, 3)*(6*pow(x, 2) - 6*x + 1) + 6*pow(z, 2)*(6*pow(x, 2) - 6*x + 1) + 4*z*pow(x - 1, 2)*(z - 1)*(2*z - 1) - 2*z*(6*pow(x, 2) - 6*x + 1) + z - 1.0L/2.0L; 16 15 return functionx; 17 16 } 18 IssmDouble fy2(IssmDouble x,IssmDouble y){ 19 IssmDouble p = 2.0; 20 IssmDouble q = 2.0; 17 IssmDouble fy3(IssmDouble x,IssmDouble y){ 21 18 IssmDouble functiony; 19 IssmDouble z=y; 22 20 23 functiony = - 4*(y-1)*(y-1)*(x-1)*(2*x-1)*x-4*(y-1)*(y-1)*(x-1)*y*y-2*(y-1)*(y-1)*(2*x-1)*y*y -4*(y-1)*(y-1)*x*y*y+2*(y-1)*(2*y-1)*(x-1)*(x-1)*x+2*(y-1)*(2*y-1)*(x-1)*x*x +4*(y-1)*(x-1)*(x-1)*x*y-16*(y-1)*(x-1)*(2*x-1)*x*y+4*(y-1)*(x-1)*x*x*y +2*(2*y-1)*(x-1)*(x-1)*x*y+2*(2*y-1)*(x-1)*x*x*y -4*(x-1)*(2*x-1)*x*y*y+x-1/2;21 functiony = -8*pow(x, 3) + 4*pow(x, 2)*z*(x - 1)*(z - 1) + 2*pow(x, 2)*z*(x - 1)*(2*z - 1) + 2*pow(x, 2)*(x - 1)*(z - 1)*(2*z - 1) + 12*pow(x, 2) + 4*x*z*pow(x - 1, 2)*(z - 1) + 2*x*z*pow(x - 1, 2)*(2*z - 1) + 2*x*pow(x - 1, 2)*(z - 1)*(2*z - 1) - 3*x - 6*pow(z, 4)*(2*x - 1) + 12*pow(z, 3)*(2*x - 1) - 6*pow(z, 2)*(2*x - 1) - 24*pow(z, 2)*(2*pow(x, 3) - 3*pow(x, 2) + x) + 24*z*(2*pow(x, 3) - 3*pow(x, 2) + x) - 1.0L/2.0L; 24 22 25 23 return functiony;
Note:
See TracChangeset
for help on using the changeset viewer.