Changeset 17422
- Timestamp:
- 03/12/14 11:20:26 (11 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r17375 r17422 86 86 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 87 87 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 88 iomodel->FetchDataToInput(elements,HydrologydcBasalMoulinInputEnum); 88 89 iomodel->FetchDataToInput(elements,SedimentHeadEnum); 89 90 iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum); … … 278 279 /*Intermediaries */ 279 280 bool active_element,isefficientlayer; 280 IssmDouble dt,scalar,water_head; 281 IssmDouble dt,scalar; 282 IssmDouble moulin_load,water_head; 281 283 IssmDouble water_load,transfer; 282 284 IssmDouble Jdet; … … 304 306 Input* thickness_input = basalelement->GetInput(ThicknessEnum); 305 307 Input* bed_input = basalelement->GetInput(BedEnum); 306 Input* water_input = basalelement->GetInput(BasalforcingsMeltingRateEnum); _assert_(water_input); 307 if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum); _assert_(old_wh_input);} 308 Input* water_input = basalelement->GetInput(BasalforcingsMeltingRateEnum); _assert_(water_input); 309 Input* moulin_input = basalelement->GetInput(HydrologydcBasalMoulinInputEnum); _assert_(moulin_input); 310 if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum); _assert_(old_wh_input);} 308 311 309 312 IssmDouble sediment_storing = SedimentStoring(basalelement); … … 324 327 /*Loading term*/ 325 328 water_input->GetInputValue(&water_load,gauss); 329 moulin_input->GetInputValue(&moulin_load,gauss); 326 330 327 331 scalar = Jdet*gauss->weight*(water_load); 332 scalar = scalar + Jdet* moulin_load; 328 333 if(dt!=0.) scalar = scalar*dt; 329 334 for(int i=0;i<numnodes;i++){ -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17398 r17422 126 126 HydrologydcPenaltyFactorEnum, 127 127 HydrologydcPenaltyLockEnum, 128 HydrologydcBasalMoulinInputEnum, 128 129 HydrologyLayerEnum, 129 130 HydrologySedimentEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17398 r17422 134 134 case HydrologydcPenaltyFactorEnum : return "HydrologydcPenaltyFactor"; 135 135 case HydrologydcPenaltyLockEnum : return "HydrologydcPenaltyLock"; 136 case HydrologydcBasalMoulinInputEnum : return "HydrologydcBasalMoulinInput"; 136 137 case HydrologyLayerEnum : return "HydrologyLayer"; 137 138 case HydrologySedimentEnum : return "HydrologySediment"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17398 r17422 134 134 else if (strcmp(name,"HydrologydcPenaltyFactor")==0) return HydrologydcPenaltyFactorEnum; 135 135 else if (strcmp(name,"HydrologydcPenaltyLock")==0) return HydrologydcPenaltyLockEnum; 136 else if (strcmp(name,"HydrologydcBasalMoulinInput")==0) return HydrologydcBasalMoulinInputEnum; 136 137 else if (strcmp(name,"HydrologyLayer")==0) return HydrologyLayerEnum; 137 138 else if (strcmp(name,"HydrologySediment")==0) return HydrologySedimentEnum; 138 else if (strcmp(name,"HydrologyEfficient")==0) return HydrologyEfficientEnum;139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"HydrologySedimentKmax")==0) return HydrologySedimentKmaxEnum; 142 if (strcmp(name,"HydrologyEfficient")==0) return HydrologyEfficientEnum; 143 else if (strcmp(name,"HydrologySedimentKmax")==0) return HydrologySedimentKmaxEnum; 143 144 else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum; 144 145 else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum; … … 259 260 else if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum; 260 261 else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum; 261 else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum; 265 if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum; 266 else if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum; 266 267 else if (strcmp(name,"SteadystateRequestedOutputs")==0) return SteadystateRequestedOutputsEnum; 267 268 else if (strcmp(name,"Surface")==0) return SurfaceEnum; … … 382 383 else if (strcmp(name,"Nodes")==0) return NodesEnum; 383 384 else if (strcmp(name,"Contours")==0) return ContoursEnum; 384 else if (strcmp(name,"Parameters")==0) return ParametersEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"Vertices")==0) return VerticesEnum; 388 if (strcmp(name,"Parameters")==0) return ParametersEnum; 389 else if (strcmp(name,"Vertices")==0) return VerticesEnum; 389 390 else if (strcmp(name,"Results")==0) return ResultsEnum; 390 391 else if (strcmp(name,"GenericParam")==0) return GenericParamEnum; … … 505 506 else if (strcmp(name,"VzSSA")==0) return VzSSAEnum; 506 507 else if (strcmp(name,"VzHO")==0) return VzHOEnum; 507 else if (strcmp(name,"VzPicard")==0) return VzPicardEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"VzFS")==0) return VzFSEnum; 511 if (strcmp(name,"VzPicard")==0) return VzPicardEnum; 512 else if (strcmp(name,"VzFS")==0) return VzFSEnum; 512 513 else if (strcmp(name,"VxMesh")==0) return VxMeshEnum; 513 514 else if (strcmp(name,"VyMesh")==0) return VyMeshEnum; … … 628 629 else if (strcmp(name,"ToolkitsOptionsAnalyses")==0) return ToolkitsOptionsAnalysesEnum; 629 630 else if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum; 630 else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"QmuInName")==0) return QmuInNameEnum; 634 if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum; 635 else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum; 635 636 else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum; 636 637 else if (strcmp(name,"Regular")==0) return RegularEnum; -
issm/trunk-jpl/src/m/classes/hydrologydc.m
r17199 r17422 16 16 transfer_flag = 0; 17 17 leakage_factor = 0; 18 basal_moulin_input = NaN; 18 19 19 20 spcsediment_head = NaN; … … 42 43 end 43 44 % }}} 45 function self = initialize(self,md) % {{{ 46 if isnan(self.basal_moulin_input), 47 self.basal_moulin_input=zeros(md.mesh.numberofvertices,1); 48 disp(' no hydrology.basal_moulin_input specified: values set as zero'); 49 end 50 51 end % }}} 44 52 % {{{ function obj = setdefaultparameters(obj) 45 53 function obj = setdefaultparameters(obj) … … 88 96 md = checkfield(md,'fieldname','hydrology.leakage_factor','>',0,'numel',1); 89 97 end 98 md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'forcing',1); 90 99 91 100 md = checkfield(md,'fieldname','hydrology.spcsediment_head','forcing',1); … … 129 138 fielddisplay(obj,'leakage_factor','user defined leakage factor [m]'); 130 139 end 140 fielddisplay(obj,'basal_moulin_input','Figure out what it is'); 131 141 disp(sprintf(' - for the sediment layer')); 132 142 fielddisplay(obj,'spcsediment_head','sediment water head constraints (NaN means no constraint) [m above MSL]'); … … 165 175 WriteData(fid,'object',obj,'fieldname','leakage_factor','format','Double'); 166 176 end 177 WriteData(fid,'object',obj,'fieldname','basal_moulin_input','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1) 167 178 168 179 WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1); -
issm/trunk-jpl/src/m/classes/model.m
r17367 r17422 727 727 md.stressbalance.referential=project3d(md,'vector',md.stressbalance.referential,'type','node'); 728 728 md.stressbalance.loadingforce=project3d(md,'vector',md.stressbalance.loadingforce,'type','node'); 729 730 % Hydrologydc variables 729 731 if isa(md.hydrology,'hydrologydc'); 730 732 md.hydrology.spcsediment_head=project3d(md,'vector',md.hydrology.spcsediment_head,'type','node','layer',1); … … 732 734 md.hydrology.mask_eplactive_node=project3d(md,'vector',md.hydrology.mask_eplactive_node,'type','node','layer',1); 733 735 md.hydrology.sediment_transmitivity=project3d(md,'vector',md.hydrology.sediment_transmitivity,'type','node','layer',1); 736 md.hydrology.basal_moulin_input=project3d(md,'vector',md.hydrology.basal_moulin_input,'type','node','layer',1); 734 737 end 735 738 -
issm/trunk-jpl/src/m/contrib/paraview/exportVTK.m
r17379 r17422 60 60 timestep=step; 61 61 62 FID= fopen(strcat(path,filesep,name,filesep,name,'.vtk',int2str(timestep),'.vtk'),'w+');63 fprintf( FID,'# vtk DataFile Version 2.0 \n');64 fprintf( FID,'Data for run %s \n',model.miscellaneous.name);65 fprintf( FID,'ASCII \n');66 fprintf( FID,'DATASET UNSTRUCTURED_GRID \n');62 fid = fopen(strcat(path,filesep,name,filesep,name,'.vtk',int2str(timestep),'.vtk'),'w+'); 63 fprintf(fid,'# vtk DataFile Version 2.0 \n'); 64 fprintf(fid,'Data for run %s \n',model.miscellaneous.name); 65 fprintf(fid,'ASCII \n'); 66 fprintf(fid,'DATASET UNSTRUCTURED_GRID \n'); 67 67 68 fprintf( FID,'POINTS %d float\n',num_of_points);68 fprintf(fid,'POINTS %d float\n',num_of_points); 69 69 if(dim==3); 70 70 s='%f %f %f \n'; … … 73 73 end 74 74 P=[points zeros(num_of_points,3-dim)]; 75 fprintf( FID,s,P');75 fprintf(fid,s,P'); 76 76 77 fprintf( FID,'CELLS %d %d\n',num_of_elt,num_of_elt*(point_per_elt+1));77 fprintf(fid,'CELLS %d %d\n',num_of_elt,num_of_elt*(point_per_elt+1)); 78 78 s='%d'; 79 79 for j=1:point_per_elt … … 81 81 end 82 82 s=cell2mat(horzcat(s,{'\n'})); 83 fprintf( FID,s,[(point_per_elt)*ones(num_of_elt,1) model.mesh.elements-1]');83 fprintf(fid,s,[(point_per_elt)*ones(num_of_elt,1) model.mesh.elements-1]'); 84 84 85 fprintf( FID,'CELL_TYPES %d\n',num_of_elt);85 fprintf(fid,'CELL_TYPES %d\n',num_of_elt); 86 86 s='%d\n'; 87 fprintf( FID,s,celltype*ones(num_of_elt,1));88 fprintf( FID,'POINT_DATA %s \n',num2str(num_of_points));87 fprintf(fid,s,celltype*ones(num_of_elt,1)); 88 fprintf(fid,'POINT_DATA %s \n',num2str(num_of_points)); 89 89 90 90 %loop over the different solution structures … … 112 112 smallval=(abs(sol_struct{j}(timestep).(fieldnames{k}))<1.0e-20); 113 113 sol_struct{j}(timestep).(fieldnames{k})(smallval)=0.0; 114 fprintf( FID,'SCALARS %s float 1 \n',fieldnames{k});115 fprintf( FID,'LOOKUP_TABLE default\n');114 fprintf(fid,'SCALARS %s float 1 \n',fieldnames{k}); 115 fprintf(fid,'LOOKUP_TABLE default\n'); 116 116 s='%e\n'; 117 fprintf( FID,s,sol_struct{j}(timestep).(fieldnames{k}));117 fprintf(fid,s,sol_struct{j}(timestep).(fieldnames{k})); 118 118 end 119 119 end … … 134 134 smallval=(abs(res_struct.(fieldnames{k}))<1.0e-20); 135 135 res_struct.(fieldnames{k})(smallval)=0.0; 136 fprintf( FID,'SCALARS %s float 1 \n',fieldnames{k});137 fprintf( FID,'LOOKUP_TABLE default\n');136 fprintf(fid,'SCALARS %s float 1 \n',fieldnames{k}); 137 fprintf(fid,'LOOKUP_TABLE default\n'); 138 138 s='%e\n'; 139 fprintf( FID,s,res_struct.(fieldnames{k}));139 fprintf(fid,s,res_struct.(fieldnames{k})); 140 140 end 141 141 end 142 142 end 143 fclose( FID);143 fclose(fid); 144 144 end -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17399 r17422 126 126 def HydrologydcPenaltyFactorEnum(): return StringToEnum("HydrologydcPenaltyFactor")[0] 127 127 def HydrologydcPenaltyLockEnum(): return StringToEnum("HydrologydcPenaltyLock")[0] 128 def HydrologydcBasalMoulinInputEnum(): return StringToEnum("HydrologydcBasalMoulinInput")[0] 128 129 def HydrologyLayerEnum(): return StringToEnum("HydrologyLayer")[0] 129 130 def HydrologySedimentEnum(): return StringToEnum("HydrologySediment")[0] -
issm/trunk-jpl/test/NightlyRun/test3300.m
r17376 r17422 5 5 md.cluster=generic('name',oshostname(),'np',1); 6 6 md.hydrology=(hydrologydc); 7 md.hydrology=initialize(md.hydrology,md); 7 8 md.hydrology.isefficientlayer=1; 8 9 md.hydrology.sedimentlimit_flag=1; -
issm/trunk-jpl/test/NightlyRun/test332.m
r17059 r17422 5 5 md.cluster=generic('name',oshostname(),'np',1); 6 6 md.hydrology=(hydrologydc); 7 md.hydrology=initialize(md.hydrology,md); 7 8 md.hydrology.isefficientlayer=0; 8 9 md.hydrology.sedimentlimit_flag=1; -
issm/trunk-jpl/test/NightlyRun/test333.m
r17218 r17422 5 5 md.cluster=generic('name',oshostname(),'np',1); 6 6 md.hydrology=(hydrologydc); 7 md.hydrology=initialize(md.hydrology,md); 7 8 md.hydrology.isefficientlayer=1; 8 9 md.hydrology.sedimentlimit_flag=1; -
issm/trunk-jpl/test/NightlyRun/test334.m
r17059 r17422 5 5 md.cluster=generic('name',oshostname(),'np',1); 6 6 md.hydrology=(hydrologydc); 7 md.hydrology=initialize(md.hydrology,md); 7 8 md.hydrology.isefficientlayer=0; 8 9 md.hydrology.sedimentlimit_flag=1; -
issm/trunk-jpl/test/NightlyRun/test335.m
r17060 r17422 5 5 md.cluster=generic('name',oshostname(),'np',1); 6 6 md.hydrology=(hydrologydc); 7 md.hydrology=initialize(md.hydrology,md); 7 8 md.hydrology.isefficientlayer=1; 8 9 md.hydrology.sedimentlimit_flag=1;
Note:
See TracChangeset
for help on using the changeset viewer.