Changeset 4733
- Timestamp:
- 07/22/10 10:52:24 (15 years ago)
- Location:
- issm/trunk/src/c/objects/Elements
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Elements/Penta.cpp
r4702 r4733 937 937 else if(analysis_type==DiagnosticStokesAnalysisEnum){ 938 938 GetSolutionFromInputsDiagnosticStokes(solution); 939 } 940 else if(analysis_type==ThermalAnalysisEnum){ 941 GetSolutionFromInputsThermal(solution); 939 942 } 940 943 else{ … … 2874 2877 VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES); 2875 2878 2879 } 2880 /*}}}*/ 2881 /*FUNCTION Penta::GetSolutionFromInputsThermal{{{1*/ 2882 void Penta::GetSolutionFromInputsThermal(Vec solution){ 2883 2884 int i; 2885 2886 const int numvertices=6; 2887 const int numdofpervertex=1; 2888 const int numdof=numdofpervertex*numvertices; 2889 double gauss[numvertices][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}}; 2890 2891 int doflist[numdof]; 2892 double values[numdof]; 2893 double vz; 2894 2895 int dummy; 2896 2897 /*Get dof list: */ 2898 GetDofList(&doflist[0],&dummy); 2899 2900 /*Ok, we have vx and vy in values, fill in vx and vy arrays: */ 2901 /*P1 element only for now*/ 2902 for(i=0;i<numvertices;i++){ 2903 2904 /*Recover vz */ 2905 inputs->GetParameterValue(&vz,&gauss[i][0],TemperatureEnum); 2906 values[i]=vz; 2907 } 2908 2909 /*Add value to global vector*/ 2910 VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES); 2876 2911 } 2877 2912 /*}}}*/ -
issm/trunk/src/c/objects/Elements/Penta.h
r4702 r4733 167 167 void GetSolutionFromInputsDiagnosticStokes(Vec solutiong); 168 168 void GetSolutionFromInputsDiagnosticVert(Vec solutiong); 169 void GetSolutionFromInputsThermal(Vec solutiong); 169 170 void GetStrainRate(double* epsilon, double* velocity, double* xyz_list, double* gauss_coord); 170 171 void GetStrainRateStokes(double* epsilon, double* velocity, double* xyz_list, double* gauss_coord); -
issm/trunk/src/c/objects/Elements/Tria.cpp
r4698 r4733 4665 4665 double alpha2_list[numgrids]; //TO BE DELETED 4666 4666 double gauss[numgrids][numgrids] = {{1,0,0},{0,1,0},{0,0,1}}; //TO BE DELETED 4667 double vx_list[numgrids]; //TO BE DELETED 4668 double vy_list[numgrids]; //TO BE DELETED 4669 double basalfriction_list[numgrids]; //TO BE DELETED 4667 4670 4668 4671 /* gaussian points: */ … … 4703 4706 friction=new Friction("3d",inputs,matpar,analysis_type); 4704 4707 4705 /*COMPUT alpha2_list (TO BE DELETED)*/4708 /*COMPUT alpha2_list and basalfriction_list (TO BE DELETED)*/ 4706 4709 for(i=0;i<numgrids;i++){ 4707 friction->GetAlpha2(&alpha2_list[i],&gauss[i][0],VxEnum,VyEnum,VzEnum); 4710 friction->GetAlpha2(&alpha2_list[i],&gauss[i][0],VxEnum,VyEnum,VzEnum); //TO BE DELETED 4711 } 4712 inputs->GetParameterValues(&vx_list[0],&gauss[0][0],3,VxEnum); //TO BE DELETED 4713 inputs->GetParameterValues(&vy_list[0],&gauss[0][0],3,VyEnum); //TO BE DELETED 4714 for(i=0;i<numgrids;i++){ 4715 basalfriction_list[i]=alpha2_list[i]*(pow(vx_list[i],(double)2.0)+pow(vy_list[i],(double)2.0)); //TO BE DELETED 4708 4716 } 4709 4717 … … 4729 4737 /*Friction: */ 4730 4738 //friction->GetAlpha2(&alpha2,&gauss_coord[0],VxEnum,VyEnum,VzEnum); 4731 GetParameterValue(&alpha2,&alpha2_list[0],gauss_coord); // TO BE DELETED 4732 4733 inputs->GetParameterValue(&vx, &gauss_coord[0],VxEnum); 4734 inputs->GetParameterValue(&vy, &gauss_coord[0],VyEnum); 4735 basalfriction= alpha2*(pow(vx,(double)2.0)+pow(vy,(double)2.0)); 4739 GetParameterValue(&basalfriction,&basalfriction_list[0],gauss_coord); // TO BE DELETED 4736 4740 4737 4741 /*Calculate scalar parameter*/
Note:
See TracChangeset
for help on using the changeset viewer.