Changeset 17539
- Timestamp:
- 03/25/14 12:09:03 (11 years ago)
- Location:
- issm/trunk-jpl/src/c/analyses
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17538 r17539 234 234 iomodel->FetchDataToInput(elements,PressureEnum,0.); 235 235 if(dakota_analysis)elements->InputDuplicate(PressureEnum,QmuPressureEnum); 236 if(finiteelement==XTaylorHoodEnum) this->InitializeXTH(elements); 236 237 } 237 238 if(islevelset){ … … 820 821 } 821 822 }/*}}}*/ 823 void StressbalanceAnalysis::InitializeXTH(Elements* elements){/*{{{*/ 824 825 /*Intermediaries*/ 826 int meshtype,dim; 827 IssmDouble dvx[3],dvy[3],dvz[3]; 828 IssmDouble viscosity; 829 IssmDouble *xyz_list = NULL; 830 831 for(int i=0;i<elements->Size();i++){ 832 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 833 834 /*Get problem dimension*/ 835 element->FindParam(&meshtype,MeshTypeEnum); 836 switch(meshtype){ 837 case Mesh2DverticalEnum: dim = 2; break; 838 case Mesh3DEnum: dim = 3; break; 839 case Mesh3DtetrasEnum: dim = 3; break; 840 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet"); 841 } 842 843 int tnumnodes = element->GetNumberOfVertices(); //Tensors, P1 DG 844 845 /*Get inputs and parameters*/ 846 element->GetVerticesCoordinates(&xyz_list); 847 Input* vx_input=element->GetInput(VxEnum); _assert_(vx_input); 848 Input* vy_input=element->GetInput(VyEnum); _assert_(vy_input); 849 Input* vz_input; 850 if(dim==3){vz_input=element->GetInput(VzEnum); _assert_(vz_input);} 851 852 /*Get d and tau*/ 853 Gauss* gauss = element->NewGauss(); 854 for(int i=0;i<tnumnodes;i++){ 855 gauss->GaussNode(P1DGEnum,i); 856 857 vx_input->GetInputDerivativeValue(&dvx[0],xyz_list,gauss); 858 vy_input->GetInputDerivativeValue(&dvy[0],xyz_list,gauss); 859 if(dim==3){ 860 vz_input->GetInputDerivativeValue(&dvz[0],xyz_list,gauss); 861 } 862 863 _error_("STOP"); 864 element->ViscosityFS(&viscosity,dim,xyz_list,gauss,vx_input,vy_input,vz_input); 865 } 866 867 /*Clean up*/ 868 xDelete<IssmDouble>(xyz_list); 869 } 870 871 }/*}}}*/ 822 872 823 873 /*Finite Element Analysis*/ -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.h
r17525 r17539 19 19 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 20 20 void CreateLoads(Loads* loads, IoModel* iomodel); 21 void InitializeXTH(Elements* elements); 21 22 22 23 /*Finite element Analysis*/
Note:
See TracChangeset
for help on using the changeset viewer.