Changeset 21140
- Timestamp:
- 08/16/16 09:48:33 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp ¶
r20993 r21140 1807 1807 element->GetVerticesCoordinates(&xyz_list); 1808 1808 element->GetInputListOnVertices(surface,SurfaceEnum); 1809 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+ 2]);1809 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+1]); 1810 1810 dim=1; 1811 1811 break; … … 2777 2777 void StressbalanceAnalysis::InputUpdateFromSolutionHO(IssmDouble* solution,Element* element){/*{{{*/ 2778 2778 2779 int i,d im;2779 int i,domaintype,dim; 2780 2780 int* doflist=NULL; 2781 2781 IssmDouble* xyz_list=NULL; 2782 2783 /*Get mesh dimension*/2784 element->FindParam(&dim,DomainDimensionEnum);2785 2782 2786 2783 /*Deal with pressure first*/ … … 2788 2785 IssmDouble* pressure = xNew<IssmDouble>(numvertices); 2789 2786 IssmDouble* surface = xNew<IssmDouble>(numvertices); 2790 IssmDouble rho_ice = element->GetMaterialParameter(MaterialsRhoIceEnum); 2791 IssmDouble g = element->GetMaterialParameter(ConstantsGEnum); 2792 element->GetVerticesCoordinates(&xyz_list); 2793 element->GetInputListOnVertices(surface,SurfaceEnum); 2794 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+2]); 2787 2788 element->FindParam(&domaintype,DomainTypeEnum); 2789 IssmDouble rho_ice =element->GetMaterialParameter(MaterialsRhoIceEnum); 2790 IssmDouble g =element->GetMaterialParameter(ConstantsGEnum); 2791 switch(domaintype){ 2792 case Domain3DEnum: 2793 element->GetVerticesCoordinates(&xyz_list); 2794 element->GetInputListOnVertices(surface,SurfaceEnum); 2795 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+2]); 2796 dim=3; 2797 break; 2798 case Domain2DverticalEnum: 2799 element->GetVerticesCoordinates(&xyz_list); 2800 element->GetInputListOnVertices(surface,SurfaceEnum); 2801 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+1]); 2802 dim=2; 2803 break; 2804 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2805 } 2795 2806 element->AddInput(PressureEnum,pressure,P1Enum); 2796 2807 xDelete<IssmDouble>(pressure); … … 2843 2854 2844 2855 /*Add vx and vy as inputs to the element: */ 2845 //element->AddInput(VxEnum, vx,element->GetElementType());2846 //element->AddInput(VyEnum, vy,element->GetElementType());2847 //element->AddInput(VelEnum,vel,element->GetElementType());2848 2856 element->AddInput(VxEnum,vx,element->GetElementType()); 2849 2857 if(dim==3)element->AddInput(VyEnum,vy,element->GetElementType());
Note:
See TracChangeset
for help on using the changeset viewer.