Changeset 17274
- Timestamp:
- 02/13/14 11:29:04 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/Makefile.am ¶
r17241 r17274 421 421 ./cores/meshdeformation_core.cpp\ 422 422 ./cores/damage_core.cpp\ 423 ./cores/levelsetfunctionslope_core.cpp\ 423 424 ./analyses/DamageEvolutionAnalysis.cpp\ 424 425 ./solutionsequences/solutionsequence_damage_nonlinear.cpp\ -
TabularUnified issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp ¶
r17261 r17274 74 74 int i,row,col,stabilization; 75 75 IssmDouble Jdet,D_scalar,h; 76 IssmDouble dl evelset[dim],normal[dim];77 IssmDouble norm_dl evelset;76 IssmDouble dlsf[dim],normal[dim]; 77 IssmDouble norm_dlsf; 78 78 IssmDouble hx,hy,hz,kappa; 79 79 IssmDouble* xyz_list = NULL; … … 89 89 90 90 /*Retrieve all inputs and parameters*/ 91 Input* levelset_input=element->GetInput(MaskIceLevelsetEnum); _assert_(levelset_input); 91 Input* lsf_slopex_input=element->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input); 92 Input* lsf_slopey_input=element->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input); 92 93 element->GetVerticesCoordinates(&xyz_list); 93 94 h = element->CharacteristicLength(); … … 102 103 GetBprime(Bprime,element,xyz_list,gauss); 103 104 104 /* Get normal on node */ 105 levelset_input->GetInputDerivativeValue(&dlevelset[0],xyz_list,gauss); 106 norm_dlevelset=0.; 107 for(i=0;i<dim;i++) norm_dlevelset+=dlevelset[i]*dlevelset[i]; 108 norm_dlevelset=sqrt(norm_dlevelset)+1.e-14; 109 for(i=0;i<dim;i++) normal[i]=dlevelset[i]/norm_dlevelset; 110 105 /* Get normal on ice boundary */ 106 lsf_slopex_input->GetInputValue(&dlsf[0],gauss); 107 lsf_slopey_input->GetInputValue(&dlsf[1],gauss); 108 norm_dlsf=0.; 109 for(i=0;i<dim;i++) norm_dlsf+=dlsf[i]*dlsf[i]; 110 norm_dlsf=sqrt(norm_dlsf); _assert_(norm_dlsf>0.); 111 for(i=0;i<dim;i++) 112 normal[i]=dlsf[i]/norm_dlsf; 113 111 114 D_scalar=gauss->weight*Jdet; 112 115 -
TabularUnified issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp ¶
r17212 r17274 169 169 case BedSlopeXEnum: input2 = basalelement->GetInput(BedEnum); _assert_(input2); break; 170 170 case BedSlopeYEnum: input2 = basalelement->GetInput(BedEnum); _assert_(input2); break; 171 case LevelsetfunctionSlopeXEnum: input2 = basalelement->GetInput(MaskIceLevelsetEnum); _assert_(input2); break; 172 case LevelsetfunctionSlopeYEnum: input2 = basalelement->GetInput(MaskIceLevelsetEnum); _assert_(input2); break; 171 173 default: input = element->GetInput(input_enum); 172 174 } … … 182 184 if(input2) input2->GetInputDerivativeValue(&slopes[0],xyz_list,gauss); 183 185 switch(input_enum){ 184 case SurfaceSlopeXEnum: case BedSlopeXEnum: value = slopes[0]; break;185 case SurfaceSlopeYEnum: case BedSlopeYEnum: value = slopes[1]; break;186 case SurfaceSlopeXEnum: case BedSlopeXEnum: case LevelsetfunctionSlopeXEnum: value = slopes[0]; break; 187 case SurfaceSlopeYEnum: case BedSlopeYEnum: case LevelsetfunctionSlopeYEnum: value = slopes[1]; break; 186 188 default: input->GetInputValue(&value,gauss); 187 189 } -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.cpp ¶
r17267 r17274 1977 1977 name==MaskIceLevelsetEnum || 1978 1978 name==IceMaskNodeActivationEnum || 1979 name==LevelsetfunctionSlopeXEnum || 1980 name==LevelsetfunctionSlopeYEnum || 1979 1981 name==GradientEnum || 1980 1982 name==OldGradientEnum || -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp ¶
r17261 r17274 910 910 } 911 911 912 if(nrfrontnodes!=2){913 _printf0_("in elt nr: " << this->Id() << "\n");914 _printf0_("nrfrontnodes: " << nrfrontnodes << "\n");915 for(i=0;i<NUMVERTICES;i++){916 _printf_("levelsetfunction[" << i << "]=" << levelset[i] << "; indicesfront: " << indicesfront[i] << ";\n");917 }918 }919 912 _assert_(nrfrontnodes==2); 920 913 … … 1622 1615 name==MaskIceLevelsetEnum || 1623 1616 name==IceMaskNodeActivationEnum || 1617 name==LevelsetfunctionSlopeXEnum || 1618 name==LevelsetfunctionSlopeYEnum || 1624 1619 name==SurfaceSlopeXEnum || 1625 1620 name==SurfaceSlopeYEnum || -
TabularUnified issm/trunk-jpl/src/c/cores/cores.h ¶
r16534 r17274 24 24 void thermal_core(FemModel* femmodel); 25 25 void surfaceslope_core(FemModel* femmodel); 26 void levelsetfunctionslope_core(FemModel* femmodel); 26 27 void bedslope_core(FemModel* femmodel); 27 28 void meshdeformation_core(FemModel* femmodel); -
TabularUnified issm/trunk-jpl/src/c/cores/transient_core.cpp ¶
r17270 r17274 125 125 if(islevelset){ 126 126 if(VerboseSolution()) _printf0_(" computing movement of ice boundaries\n"); 127 128 /* get slope of lsf for computation of normal on ice domain*/ 129 levelsetfunctionslope_core(femmodel); 127 130 128 /* extrapolate required variables*/131 /* extrapolate along normal */ 129 132 Analysis* extanalysis = new ExtrapolationAnalysis(); 130 133 const int nvars=2; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h ¶
r17236 r17274 679 679 ExtrapolationVariableEnum, 680 680 IceMaskNodeActivationEnum, 681 LevelsetfunctionSlopeXEnum, 682 LevelsetfunctionSlopeYEnum, 681 683 /*}}}*/ 682 684 MaximumNumberOfDefinitionsEnum -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp ¶
r17236 r17274 638 638 case ExtrapolationVariableEnum : return "ExtrapolationVariable"; 639 639 case IceMaskNodeActivationEnum : return "IceMaskNodeActivation"; 640 case LevelsetfunctionSlopeXEnum : return "LevelsetfunctionSlopeX"; 641 case LevelsetfunctionSlopeYEnum : return "LevelsetfunctionSlopeY"; 640 642 case MaximumNumberOfDefinitionsEnum : return "MaximumNumberOfDefinitions"; 641 643 default : return "unknown"; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp ¶
r17236 r17274 653 653 else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum; 654 654 else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum; 655 else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum; 656 else if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum; 655 657 else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum; 656 658 else stage=7; -
TabularUnified issm/trunk-jpl/src/m/enum/EnumDefinitions.py ¶
r17264 r17274 630 630 def ExtrapolationVariableEnum(): return StringToEnum("ExtrapolationVariable")[0] 631 631 def IceMaskNodeActivationEnum(): return StringToEnum("IceMaskNodeActivation")[0] 632 def LevelsetfunctionSlopeXEnum(): return StringToEnum("LevelsetfunctionSlopeX")[0] 633 def LevelsetfunctionSlopeYEnum(): return StringToEnum("LevelsetfunctionSlopeY")[0] 632 634 def MaximumNumberOfDefinitionsEnum(): return StringToEnum("MaximumNumberOfDefinitions")[0]
Note:
See TracChangeset
for help on using the changeset viewer.