Changeset 14529
- Timestamp:
- 04/10/13 15:52:49 (12 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r14364 r14529 63 63 DiagnosticVertexPairingEnum, 64 64 DiagnosticViscosityOvershootEnum, 65 LoadingforceXEnum, 66 LoadingforceYEnum, 67 LoadingforceZEnum, 65 68 FlowequationBordermacayealEnum, 66 69 FlowequationBorderpattynEnum, -
issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
r14435 r14529 7665 7665 IssmDouble Jdet,viscosity; 7666 7666 IssmDouble gravity,rho_ice,stokesreconditioning; 7667 IssmDouble forcex,forcey,forcez; 7667 7668 IssmDouble xyz_list[NUMVERTICES][3]; 7668 7669 IssmDouble epsilon[6]; /* epsilon=[exx,eyy,ezz,exy,exz,eyz];*/ … … 7690 7691 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 7691 7692 Input* vz_input=inputs->GetInput(VzEnum); _assert_(vz_input); 7693 Input* loadingforcex_input=inputs->GetInput(LoadingforceXEnum); _assert_(loadingforcex_input); 7694 Input* loadingforcey_input=inputs->GetInput(LoadingforceYEnum); _assert_(loadingforcey_input); 7695 Input* loadingforcez_input=inputs->GetInput(LoadingforceZEnum); _assert_(loadingforcez_input); 7692 7696 7693 7697 /* Start looping on the number of gaussian points: */ … … 7705 7709 material->GetViscosity3dStokes(&viscosity,&epsilon[0]); 7706 7710 7711 loadingforcex_input->GetInputValue(&forcex, gauss); 7712 loadingforcey_input->GetInputValue(&forcey, gauss); 7713 loadingforcez_input->GetInputValue(&forcez, gauss); 7714 7707 7715 for(i=0;i<NUMVERTICES+1;i++){ 7708 7716 Pe_gaussian[i*NDOF4+2]+=-rho_ice*gravity*Jdet*gauss->weight*l1l7[i]; 7717 Pe_gaussian[i*NDOF4+0]+=forcex*Jdet*gauss->weight*l1l7[i]; 7718 Pe_gaussian[i*NDOF4+1]+=forcey*Jdet*gauss->weight*l1l7[i]; 7719 Pe_gaussian[i*NDOF4+2]+=forcez*Jdet*gauss->weight*l1l7[i]; 7709 7720 } 7710 7721 -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r14364 r14529 68 68 case DiagnosticVertexPairingEnum : return "DiagnosticVertexPairing"; 69 69 case DiagnosticViscosityOvershootEnum : return "DiagnosticViscosityOvershoot"; 70 case LoadingforceXEnum : return "LoadingforceX"; 71 case LoadingforceYEnum : return "LoadingforceY"; 72 case LoadingforceZEnum : return "LoadingforceZ"; 70 73 case FlowequationBordermacayealEnum : return "FlowequationBordermacayeal"; 71 74 case FlowequationBorderpattynEnum : return "FlowequationBorderpattyn"; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r14191 r14529 69 69 iomodel->FetchDataToInput(elements,VxEnum); 70 70 iomodel->FetchDataToInput(elements,VyEnum); 71 iomodel->FetchDataToInput(elements,LoadingforceXEnum); 72 iomodel->FetchDataToInput(elements,LoadingforceYEnum); 71 73 if(materials_type==MatdamageiceEnum){ 72 74 iomodel->FetchDataToInput(elements,MaterialsRheologyZEnum); … … 79 81 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 80 82 iomodel->FetchDataToInput(elements,FlowequationBorderstokesEnum); 83 iomodel->FetchDataToInput(elements,LoadingforceZEnum); 81 84 } 82 85 -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r14364 r14529 69 69 else if (strcmp(name,"DiagnosticVertexPairing")==0) return DiagnosticVertexPairingEnum; 70 70 else if (strcmp(name,"DiagnosticViscosityOvershoot")==0) return DiagnosticViscosityOvershootEnum; 71 else if (strcmp(name,"LoadingforceX")==0) return LoadingforceXEnum; 72 else if (strcmp(name,"LoadingforceY")==0) return LoadingforceYEnum; 73 else if (strcmp(name,"LoadingforceZ")==0) return LoadingforceZEnum; 71 74 else if (strcmp(name,"FlowequationBordermacayeal")==0) return FlowequationBordermacayealEnum; 72 75 else if (strcmp(name,"FlowequationBorderpattyn")==0) return FlowequationBorderpattynEnum; … … 135 138 else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum; 136 139 else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum; 137 else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;138 else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum;139 else if (strcmp(name,"MeshEdges")==0) return MeshEdgesEnum;140 140 else stage=2; 141 141 } 142 142 if(stage==2){ 143 if (strcmp(name,"MeshElementconnectivity")==0) return MeshElementconnectivityEnum; 143 if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum; 144 else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum; 145 else if (strcmp(name,"MeshEdges")==0) return MeshEdgesEnum; 146 else if (strcmp(name,"MeshElementconnectivity")==0) return MeshElementconnectivityEnum; 144 147 else if (strcmp(name,"MeshElementonbed")==0) return MeshElementonbedEnum; 145 148 else if (strcmp(name,"MeshElementonsurface")==0) return MeshElementonsurfaceEnum; … … 258 261 else if (strcmp(name,"PrognosticSolution")==0) return PrognosticSolutionEnum; 259 262 else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum; 260 else if (strcmp(name,"SurfaceSlopeAnalysis")==0) return SurfaceSlopeAnalysisEnum;261 else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum;262 else if (strcmp(name,"SurfaceSlopeXAnalysis")==0) return SurfaceSlopeXAnalysisEnum;263 263 else stage=3; 264 264 } 265 265 if(stage==3){ 266 if (strcmp(name,"SurfaceSlopeYAnalysis")==0) return SurfaceSlopeYAnalysisEnum; 266 if (strcmp(name,"SurfaceSlopeAnalysis")==0) return SurfaceSlopeAnalysisEnum; 267 else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum; 268 else if (strcmp(name,"SurfaceSlopeXAnalysis")==0) return SurfaceSlopeXAnalysisEnum; 269 else if (strcmp(name,"SurfaceSlopeYAnalysis")==0) return SurfaceSlopeYAnalysisEnum; 267 270 else if (strcmp(name,"ThermalAnalysis")==0) return ThermalAnalysisEnum; 268 271 else if (strcmp(name,"ThermalSolution")==0) return ThermalSolutionEnum; … … 381 384 else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum; 382 385 else if (strcmp(name,"SegmentOnIceShelf")==0) return SegmentOnIceShelfEnum; 383 else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum;384 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;385 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;386 386 else stage=4; 387 387 } 388 388 if(stage==4){ 389 if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; 389 if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum; 390 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum; 391 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum; 392 else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; 390 393 else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum; 391 394 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; … … 504 507 else if (strcmp(name,"PetscOptionsAnalyses")==0) return PetscOptionsAnalysesEnum; 505 508 else if (strcmp(name,"PetscOptionsStrings")==0) return PetscOptionsStringsEnum; 506 else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum;507 else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;508 else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;509 509 else stage=5; 510 510 } 511 511 if(stage==5){ 512 if (strcmp(name,"Regular")==0) return RegularEnum; 512 if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum; 513 else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum; 514 else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum; 515 else if (strcmp(name,"Regular")==0) return RegularEnum; 513 516 else if (strcmp(name,"Scaled")==0) return ScaledEnum; 514 517 else if (strcmp(name,"Separate")==0) return SeparateEnum; -
issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.m
r13635 r14529 16 16 md.diagnostic.spcvz(pos)=0; 17 17 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 18 md.diagnostic.loadingforce=0*ones(md.mesh.numberofvertices,3); 18 19 19 20 %Dirichlet Values -
issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.py
r13635 r14529 22 22 md.diagnostic.spcvz[pos]=0 23 23 md.diagnostic.referential=float('nan')*numpy.ones((md.mesh.numberofvertices,6)) 24 md.diagnostic.loadingforce=0*numpy.ones((md.mesh.numberofvertices,3)) 24 25 25 26 #Dirichlet Values -
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.m
r13076 r14529 35 35 md.diagnostic.spcvz(pos)=0; 36 36 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 37 md.diagnostic.loadingforce=0*ones(md.mesh.numberofvertices,3); 37 38 38 39 %Dirichlet Values -
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
r14098 r14529 39 39 md.diagnostic.spcvz[pos]=0 40 40 md.diagnostic.referential=float('nan')*numpy.ones((md.mesh.numberofvertices,6)) 41 md.diagnostic.loadingforce=0*numpy.ones((md.mesh.numberofvertices,3)) 41 42 42 43 #Dirichlet Values -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
r13646 r14529 42 42 md.diagnostic.spcvz(pos)=0; 43 43 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 44 md.diagnostic.loadingforce=0*ones(md.mesh.numberofvertices,3); 44 45 45 46 %Dirichlet Values -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
r14098 r14529 47 47 md.diagnostic.spcvz[pos]=0 48 48 md.diagnostic.referential=float('nan')*numpy.ones((md.mesh.numberofvertices,6)) 49 md.diagnostic.loadingforce=0*numpy.ones((md.mesh.numberofvertices,3)) 49 50 50 51 #Dirichlet Values -
issm/trunk-jpl/src/m/classes/diagnostic.m
r14413 r14529 23 23 rift_penalty_threshold = 0; 24 24 referential = NaN; 25 loadingforce = NaN; 25 26 requested_outputs = NaN; 26 27 end … … 87 88 md = checkfield(md,'diagnostic.maxiter','size',[1 1],'>=',1); 88 89 md = checkfield(md,'diagnostic.referential','size',[md.mesh.numberofvertices 6]); 90 md = checkfield(md,'diagnostic.loadingforce','size',[md.mesh.numberofvertices 3]); 89 91 if ~isempty(md.diagnostic.requested_outputs), 90 92 md = checkfield(md,'diagnostic.requested_outputs','size',[NaN 1]); … … 144 146 fielddisplay(obj,'stokesreconditioning','multiplier for incompressibility equation. Only for Stokes model'); 145 147 fielddisplay(obj,'referential','local referential'); 148 fielddisplay(obj,'loadingforce','loading force applied on each point'); 146 149 fielddisplay(obj,'requested_outputs','additional outputs requested'); 147 150 … … 164 167 WriteData(fid,'object',obj,'fieldname','rift_penalty_threshold','format','Integer'); 165 168 WriteData(fid,'object',obj,'fieldname','referential','format','DoubleMat','mattype',1); 169 %WriteData(fid,'object',obj,'fieldname','loadingforce(:,1)','format','DoubleMat','mattype',1,'enum',LoadingforceXEnum); 170 %WriteData(fid,'object',obj,'fieldname','loadingforce(:,2)','format','DoubleMat','mattype',1,'enum',LoadingforceYEnum); 171 %WriteData(fid,'object',obj,'fieldname','loadingforce(:,3)','format','DoubleMat','mattype',1,'enum',LoadingforceZEnum); 172 WriteData(fid,'data',obj.loadingforce(:,1),'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum); 173 WriteData(fid,'data',obj.loadingforce(:,2),'format','DoubleMat','mattype',1,'enum',LoadingforceYEnum); 174 WriteData(fid,'data',obj.loadingforce(:,3),'format','DoubleMat','mattype',1,'enum',LoadingforceZEnum); 166 175 WriteData(fid,'object',obj,'fieldname','requested_outputs','format','DoubleMat','mattype',3); 167 176 -
issm/trunk-jpl/src/m/classes/diagnostic.py
r14413 r14529 36 36 self.rift_penalty_threshold = 0 37 37 self.referential = float('NaN') 38 self.loadingforce = float('NaN') 38 39 self.requested_outputs = float('NaN') 39 40 … … 74 75 string="%s\n%s"%(string,fielddisplay(self,'stokesreconditioning','multiplier for incompressibility equation. Only for Stokes model')) 75 76 string="%s\n%s"%(string,fielddisplay(self,'referential','local referential')) 77 string="%s\n%s"%(string,fielddisplay(self,'loadingforce','loading force applied on each point')) 76 78 string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested')) 77 79 … … 136 138 md = checkfield(md,'diagnostic.maxiter','size',[1],'>=',1) 137 139 md = checkfield(md,'diagnostic.referential','size',[md.mesh.numberofvertices,6]) 140 md = checkfield(md,'diagnostic.loadingforce','size',[md.mesh.loadingforce,3]) 138 141 if not md.diagnostic.requested_outputs: 139 142 md = checkfield(md,'diagnostic.requested_outputs','size',[float('NaN'),1]) … … 184 187 WriteData(fid,'object',self,'fieldname','rift_penalty_threshold','format','Integer') 185 188 WriteData(fid,'object',self,'fieldname','referential','format','DoubleMat','mattype',1) 189 WriteData(fid,'data',self.loadingforce[:,0],'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum()) 190 WriteData(fid,'data',self.loadingforce[:,1],'format','DoubleMat','mattype',1,'enum',LoadingforceYEnum()) 191 WriteData(fid,'data',self.loadingforce[:,2],'format','DoubleMat','mattype',1,'enum',LoadingforceZEnum()) 186 192 WriteData(fid,'object',self,'fieldname','requested_outputs','format','DoubleMat','mattype',3) 187 193 -
issm/trunk-jpl/src/m/classes/model/model.m
r14405 r14529 172 172 md.diagnostic.spcvz=project2d(md,md.diagnostic.spcvz,md.mesh.numberoflayers); 173 173 md.diagnostic.referential=project2d(md,md.diagnostic.referential,md.mesh.numberoflayers); 174 md.diagnostic.loadingforce=project2d(md,md.diagnostic.loadingforce,md.mesh.numberoflayers); 174 175 md.prognostic.spcthickness=project2d(md,md.prognostic.spcthickness,md.mesh.numberoflayers); 175 176 md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers); … … 718 719 md.balancethickness.spcthickness=project3d(md,'vector',md.balancethickness.spcthickness,'type','node'); 719 720 md.diagnostic.referential=project3d(md,'vector',md.diagnostic.referential,'type','node'); 721 md.diagnostic.loadingforce=project3d(md,'vector',md.diagnostic.loadingforce,'type','node'); 720 722 721 723 %in 3d, pressureload: [node1 node2 node3 node4 element] … … 1055 1057 end 1056 1058 1059 if ~isfield(structmd,'loadingforce'); 1060 md.diagnostic.loadingforce=0*ones(md.mesh.numberofvertices,3); 1061 end 1057 1062 end% }}} 1058 1063 function md = setdefaultparameters(md) % {{{ -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r14364 r14529 519 519 return StringToEnum('DiagnosticViscosityOvershoot')[0] 520 520 521 def LoadingforceXEnum(): 522 """ 523 LOADINGFORCEXENUM - Enum of LoadingforceX 524 525 Usage: 526 macro=LoadingforceXEnum() 527 """ 528 529 return StringToEnum('LoadingforceX')[0] 530 531 def LoadingforceYEnum(): 532 """ 533 LOADINGFORCEYENUM - Enum of LoadingforceY 534 535 Usage: 536 macro=LoadingforceYEnum() 537 """ 538 539 return StringToEnum('LoadingforceY')[0] 540 541 def LoadingforceZEnum(): 542 """ 543 LOADINGFORCEZENUM - Enum of LoadingforceZ 544 545 Usage: 546 macro=LoadingforceZEnum() 547 """ 548 549 return StringToEnum('LoadingforceZ')[0] 550 521 551 def FlowequationBordermacayealEnum(): 522 552 """ … … 5007 5037 """ 5008 5038 5009 return 4995010 5039 return 502 5040 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r14364 r14529 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro= 499;11 macro=502;
Note:
See TracChangeset
for help on using the changeset viewer.