Changeset 21714
- Timestamp:
- 05/16/17 15:54:22 (8 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/Elements
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.h
r21620 r21714 292 292 virtual int VertexConnectivity(int vertexindex)=0; 293 293 virtual void VerticalSegmentIndices(int** pindices,int* pnumseg)=0; 294 virtual void VerticalSegmentIndicesBase(int** pindices,int* pnumseg)=0; 294 295 virtual void ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input)=0; 295 296 virtual void WriteLevelsetSegment(DataSet* segments){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r21626 r21714 3370 3370 } 3371 3371 /*}}}*/ 3372 void Penta::VerticalSegmentIndicesBase(int** pindices,int* pnumseg){/*{{{*/ 3373 3374 PentaRef::VerticalSegmentIndicesBase(pindices,pnumseg,this->GetElementType()); 3375 3376 return; 3377 } 3378 /*}}}*/ 3372 3379 void Penta::ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/ 3373 3380 -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r21620 r21714 175 175 int VertexConnectivity(int vertexindex); 176 176 void VerticalSegmentIndices(int** pindices,int* pnumseg); 177 void VerticalSegmentIndicesBase(int** pindices,int* pnumseg); 177 178 void ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input); 178 179 void ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum); -
issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp
r21586 r21714 1030 1030 } 1031 1031 /*}}}*/ 1032 void PentaRef::VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement){/*{{{*/ 1033 1034 /*Output*/ 1035 int numindices; 1036 int* indices = NULL; 1037 1038 switch(finiteelement){ 1039 case P1Enum: case P1DGEnum: 1040 numindices = 3*2; 1041 indices = xNew<int>(numindices); 1042 indices[0*2 + 0] = 0; indices[0*2 + 1] = 3; 1043 indices[1*2 + 0] = 1; indices[1*2 + 1] = 4; 1044 indices[2*2 + 0] = 2; indices[2*2 + 1] = 5; 1045 break; 1046 case P1bubbleEnum: case P1bubblecondensedEnum: 1047 numindices = 3*2; 1048 indices = xNew<int>(numindices); 1049 indices[0*2 + 0] = 0; indices[0*2 + 1] = 3; 1050 indices[1*2 + 0] = 1; indices[1*2 + 1] = 4; 1051 indices[2*2 + 0] = 2; indices[2*2 + 1] = 5; 1052 break; 1053 case P2xP1Enum: 1054 numindices = 6*2; 1055 indices = xNew<int>(numindices); 1056 indices[0*2 + 0] = 0; indices[0*2 + 1] = 3; 1057 indices[1*2 + 0] = 1; indices[1*2 + 1] = 4; 1058 indices[2*2 + 0] = 2; indices[2*2 + 1] = 5; 1059 indices[3*2 + 0] = 6; indices[3*2 + 1] = 9; 1060 indices[4*2 + 0] = 7; indices[4*2 + 1] = 10; 1061 indices[5*2 + 0] = 8; indices[5*2 + 1] = 11; 1062 break; 1063 case P1xP2Enum: 1064 numindices = 3*2; 1065 indices = xNew<int>(numindices); 1066 indices[0*2 + 0] = 0; indices[0*2 + 1] = 6; 1067 indices[1*2 + 0] = 1; indices[1*2 + 1] = 7; 1068 indices[2*2 + 0] = 2; indices[2*2 + 1] = 8; 1069 break; 1070 case P1xP3Enum: 1071 numindices = 3*2; 1072 indices = xNew<int>(numindices); 1073 indices[0*2 + 0] = 0; indices[0*2 + 1] = 6; 1074 indices[1*2 + 0] = 1; indices[1*2 + 1] = 7; 1075 indices[2*2 + 0] = 2; indices[2*2 + 1] = 8; 1076 break; 1077 case P2Enum: 1078 numindices = 6*2; 1079 indices = xNew<int>(numindices); 1080 indices[0*2 + 0] = 0; indices[0*2 + 1] = 6; 1081 indices[1*2 + 0] = 1; indices[1*2 + 1] = 7; 1082 indices[2*2 + 0] = 2; indices[2*2 + 1] = 8; 1083 indices[3*2 + 0] = 9; indices[3*2 + 1] = 15; 1084 indices[4*2 + 0] = 10; indices[4*2 + 1] = 16; 1085 indices[5*2 + 0] = 11; indices[5*2 + 1] = 17; 1086 break; 1087 case P2bubbleEnum: 1088 numindices = 6*2; 1089 indices = xNew<int>(numindices); 1090 indices[0*2 + 0] = 0; indices[0*2 + 1] = 6; 1091 indices[1*2 + 0] = 1; indices[1*2 + 1] = 7; 1092 indices[2*2 + 0] = 2; indices[2*2 + 1] = 8; 1093 indices[3*2 + 0] = 9; indices[3*2 + 1] = 15; 1094 indices[4*2 + 0] = 10; indices[4*2 + 1] = 16; 1095 indices[5*2 + 0] = 11; indices[5*2 + 1] = 17; 1096 break; 1097 case P2xP4Enum: 1098 numindices = 6*2; 1099 indices = xNew<int>(numindices); 1100 indices[0*2 + 0] = 0; indices[0*2 + 1] = 6; 1101 indices[1*2 + 0] = 1; indices[1*2 + 1] = 7; 1102 indices[2*2 + 0] = 2; indices[2*2 + 1] = 8; 1103 indices[3*2 + 0] = 9; indices[3*2 + 1] = 15; 1104 indices[4*2 + 0] = 10; indices[4*2 + 1] = 16; 1105 indices[5*2 + 0] = 11; indices[5*2 + 1] = 17; 1106 break; 1107 default: 1108 _error_("Element type "<<EnumToStringx(finiteelement)<<" not supported yet"); 1109 } 1110 1111 /*Assign output pointer*/ 1112 *pnumseg = numindices/2; 1113 *pindices = indices; 1114 } 1115 /*}}}*/ 1032 1116 int PentaRef::NumberofNodes(int finiteelement){/*{{{*/ 1033 1117 -
issm/trunk-jpl/src/c/classes/Elements/PentaRef.h
r20810 r21714 28 28 void GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss); 29 29 void GetTriaJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss); 30 void VerticalSegmentIndicesBase(int** pindices,int* pnumseg,int finiteelement); 30 31 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ /*do nothing */}; 31 32 int NumberofNodes(int finiteelement); -
issm/trunk-jpl/src/c/classes/Elements/Seg.h
r21620 r21714 161 161 int VertexConnectivity(int vertexindex){_error_("not implemented yet");}; 162 162 void VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");}; 163 void VerticalSegmentIndicesBase(int** pindices,int* pnumseg){_error_("not implemented yet");}; 163 164 void ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not implemented yet");}; 164 165 void ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented");}; -
issm/trunk-jpl/src/c/classes/Elements/Tetra.h
r21620 r21714 170 170 int VertexConnectivity(int vertexindex){_error_("not implemented yet");}; 171 171 void VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");}; 172 void VerticalSegmentIndicesBase(int** pindices,int* pnumseg){_error_("not implemented yet");}; 172 173 void ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input); 173 174 void ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum); -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r21620 r21714 139 139 int VertexConnectivity(int vertexindex); 140 140 void VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");}; 141 void VerticalSegmentIndicesBase(int** pindices,int* pnumseg){_error_("not implemented yet");}; 141 142 void WriteLevelsetSegment(DataSet* segments); 142 143 void ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
Note:
See TracChangeset
for help on using the changeset viewer.