Changeset 27960
- Timestamp:
- 10/11/23 11:28:27 (18 months ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r27940 r27960 1251 1251 /*Return: */ 1252 1252 return this->FloatingArea(scaled); 1253 } 1254 /*}}}*/ 1255 void Element::FrictionAlpha2CreateInput(void){/*{{{*/ 1256 1257 /*Return if element is inactive*/ 1258 if(this->IsAllFloating() || !this->IsIceInElement()) return; 1259 1260 /*Intermediaries*/ 1261 int domaintype, dim; 1262 Element* basalelement = NULL; 1263 1264 /*Get basal element*/ 1265 this->FindParam(&domaintype,DomainTypeEnum); 1266 switch(domaintype){ 1267 case Domain2DhorizontalEnum: 1268 basalelement = this; 1269 dim = 2; 1270 break; 1271 case Domain3DEnum: case Domain2DverticalEnum: 1272 if(!this->IsOnBase()) return; 1273 basalelement = this->SpawnBasalElement(true); 1274 dim = 2; 1275 break; 1276 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 1277 } 1278 1279 int numvertices = basalelement->GetNumberOfVertices(); 1280 1281 /*build friction object, used later on: */ 1282 Friction* friction=new Friction(basalelement,dim); 1283 IssmDouble alpha2_list[MAXVERTICES]; 1284 IssmDouble alpha2; 1285 1286 Gauss* gauss=this->NewGauss(); 1287 for(int i=0;i<numvertices;i++){ 1288 gauss->GaussVertex(i); 1289 1290 friction->GetAlpha2(&alpha2,gauss); 1291 alpha2_list[i] = alpha2; 1292 } 1293 1294 /*Clean up and return*/ 1295 delete gauss; 1296 delete friction; 1297 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1298 this->AddBasalInput(FrictionAlpha2Enum,&alpha2_list[0],P1Enum); 1253 1299 } 1254 1300 /*}}}*/ … … 4077 4123 } 4078 4124 /*}}}*/ 4079 4080 4081 4082 4125 void Element::ResultInterpolation(int* pinterpolation,int* pnodesperelement,int* parray_size, int output_enum){/*{{{*/ 4083 4126 … … 4085 4128 switch(output_enum){ 4086 4129 case ViscousHeatingEnum: this->ViscousHeatingCreateInput(); break; 4130 case FrictionAlpha2Enum: this->FrictionAlpha2CreateInput(); break; 4087 4131 case StressMaxPrincipalEnum: this->StressMaxPrincipalCreateInput(); break; 4088 4132 case StressTensorxxEnum: -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r27856 r27960 225 225 void TransformStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int* cs_array); 226 226 void TransformStiffnessMatrixCoord(ElementMatrix* Ke,int numnodes,int* transformenum_list){_error_("not implemented yet");};/*Tiling only*/ 227 void FrictionAlpha2CreateInput(void); 227 228 void ViscousHeatingCreateInput(void); 228 229 void ThermalToEnthalpy(IssmDouble * penthalpy,IssmDouble temperature,IssmDouble waterfraction,IssmDouble pressure); -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r27936 r27960 846 846 syn keyword cConstant EtaDiffEnum 847 847 syn keyword cConstant FlowequationBorderFSEnum 848 syn keyword cConstant FrictionAlpha2Enum 848 849 syn keyword cConstant FrictionAsEnum 849 850 syn keyword cConstant FrictionCEnum -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r27936 r27960 842 842 EtaDiffEnum, 843 843 FlowequationBorderFSEnum, 844 FrictionAlpha2Enum, 844 845 FrictionAsEnum, 845 846 FrictionCEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r27936 r27960 848 848 case EtaDiffEnum : return "EtaDiff"; 849 849 case FlowequationBorderFSEnum : return "FlowequationBorderFS"; 850 case FrictionAlpha2Enum : return "FrictionAlpha2"; 850 851 case FrictionAsEnum : return "FrictionAs"; 851 852 case FrictionCEnum : return "FrictionC"; -
issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim
r27936 r27960 839 839 syn keyword juliaConstC EtaDiffEnum 840 840 syn keyword juliaConstC FlowequationBorderFSEnum 841 syn keyword juliaConstC FrictionAlpha2Enum 841 842 syn keyword juliaConstC FrictionAsEnum 842 843 syn keyword juliaConstC FrictionCEnum -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r27936 r27960 866 866 else if (strcmp(name,"EtaDiff")==0) return EtaDiffEnum; 867 867 else if (strcmp(name,"FlowequationBorderFS")==0) return FlowequationBorderFSEnum; 868 else if (strcmp(name,"FrictionAlpha2")==0) return FrictionAlpha2Enum; 868 869 else if (strcmp(name,"FrictionAs")==0) return FrictionAsEnum; 869 870 else if (strcmp(name,"FrictionC")==0) return FrictionCEnum; … … 874 875 else if (strcmp(name,"FrictionK")==0) return FrictionKEnum; 875 876 else if (strcmp(name,"FrictionM")==0) return FrictionMEnum; 876 else if (strcmp(name,"FrictionP")==0) return FrictionPEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"FrictionPressureAdjustedTemperature")==0) return FrictionPressureAdjustedTemperatureEnum; 880 if (strcmp(name,"FrictionP")==0) return FrictionPEnum; 881 else if (strcmp(name,"FrictionPressureAdjustedTemperature")==0) return FrictionPressureAdjustedTemperatureEnum; 881 882 else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum; 882 883 else if (strcmp(name,"FrictionSedimentCompressibilityCoefficient")==0) return FrictionSedimentCompressibilityCoefficientEnum; … … 997 998 else if (strcmp(name,"SamplingBeta")==0) return SamplingBetaEnum; 998 999 else if (strcmp(name,"SamplingKappa")==0) return SamplingKappaEnum; 999 else if (strcmp(name,"SamplingPhi")==0) return SamplingPhiEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"SamplingTau")==0) return SamplingTauEnum; 1003 if (strcmp(name,"SamplingPhi")==0) return SamplingPhiEnum; 1004 else if (strcmp(name,"SamplingTau")==0) return SamplingTauEnum; 1004 1005 else if (strcmp(name,"Sealevel")==0) return SealevelEnum; 1005 1006 else if (strcmp(name,"SealevelGRD")==0) return SealevelGRDEnum; … … 1120 1121 else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum; 1121 1122 else if (strcmp(name,"SmbEAir")==0) return SmbEAirEnum; 1122 else if (strcmp(name,"SmbEC")==0) return SmbECEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"SmbECDt")==0) return SmbECDtEnum; 1126 if (strcmp(name,"SmbEC")==0) return SmbECEnum; 1127 else if (strcmp(name,"SmbECDt")==0) return SmbECDtEnum; 1127 1128 else if (strcmp(name,"SmbECini")==0) return SmbECiniEnum; 1128 1129 else if (strcmp(name,"SmbEla")==0) return SmbElaEnum; … … 1243 1244 else if (strcmp(name,"SealevelArea")==0) return SealevelAreaEnum; 1244 1245 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum; 1245 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"SurfaceCrevasse")==0) return SurfaceCrevasseEnum; 1249 if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum; 1250 else if (strcmp(name,"SurfaceCrevasse")==0) return SurfaceCrevasseEnum; 1250 1251 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 1251 1252 else if (strcmp(name,"SurfaceOld")==0) return SurfaceOldEnum; … … 1366 1367 else if (strcmp(name,"Outputdefinition57")==0) return Outputdefinition57Enum; 1367 1368 else if (strcmp(name,"Outputdefinition58")==0) return Outputdefinition58Enum; 1368 else if (strcmp(name,"Outputdefinition59")==0) return Outputdefinition59Enum;1369 1369 else stage=12; 1370 1370 } 1371 1371 if(stage==12){ 1372 if (strcmp(name,"Outputdefinition5")==0) return Outputdefinition5Enum; 1372 if (strcmp(name,"Outputdefinition59")==0) return Outputdefinition59Enum; 1373 else if (strcmp(name,"Outputdefinition5")==0) return Outputdefinition5Enum; 1373 1374 else if (strcmp(name,"Outputdefinition60")==0) return Outputdefinition60Enum; 1374 1375 else if (strcmp(name,"Outputdefinition61")==0) return Outputdefinition61Enum; … … 1489 1490 else if (strcmp(name,"DataSet")==0) return DataSetEnum; 1490 1491 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; 1491 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum;1492 1492 else stage=13; 1493 1493 } 1494 1494 if(stage==13){ 1495 if (strcmp(name,"DebrisAnalysis")==0) return DebrisAnalysisEnum; 1495 if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 1496 else if (strcmp(name,"DebrisAnalysis")==0) return DebrisAnalysisEnum; 1496 1497 else if (strcmp(name,"DebrisSolution")==0) return DebrisSolutionEnum; 1497 1498 else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum; … … 1612 1613 else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum; 1613 1614 else if (strcmp(name,"Loads")==0) return LoadsEnum; 1614 else if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum;1615 1615 else stage=14; 1616 1616 } 1617 1617 if(stage==14){ 1618 if (strcmp(name,"LoveHf")==0) return LoveHfEnum; 1618 if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum; 1619 else if (strcmp(name,"LoveHf")==0) return LoveHfEnum; 1619 1620 else if (strcmp(name,"LoveHt")==0) return LoveHtEnum; 1620 1621 else if (strcmp(name,"LoveKernelsImag")==0) return LoveKernelsImagEnum; … … 1735 1736 else if (strcmp(name,"SMBmeltcomponents")==0) return SMBmeltcomponentsEnum; 1736 1737 else if (strcmp(name,"SMBpdd")==0) return SMBpddEnum; 1737 else if (strcmp(name,"SMBpddSicopolis")==0) return SMBpddSicopolisEnum;1738 1738 else stage=15; 1739 1739 } 1740 1740 if(stage==15){ 1741 if (strcmp(name,"SMBsemic")==0) return SMBsemicEnum; 1741 if (strcmp(name,"SMBpddSicopolis")==0) return SMBpddSicopolisEnum; 1742 else if (strcmp(name,"SMBsemic")==0) return SMBsemicEnum; 1742 1743 else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum; 1743 1744 else if (strcmp(name,"SSAFSApproximation")==0) return SSAFSApproximationEnum;
Note:
See TracChangeset
for help on using the changeset viewer.