Changeset 25620
- Timestamp:
- 10/01/20 13:54:11 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/m/classes/sealevelmodel.m ¶
r25502 r25620 168 168 self.basins{end+1}=bas; 169 169 end % }}} 170 function intersections2d(self,varargin) % {{{ 171 172 options=pairoptions(varargin{:}); 173 force=getfieldvalue(options,'force',0); 174 175 %initialize, to avoid issues of having more transitions than meshes. 176 self.transitions={}; 177 self.eltransitions={}; 178 179 %for elements: 180 xe=self.earth.mesh.x(self.earth.mesh.elements)*[1;1;1]/3; 181 ye=self.earth.mesh.y(self.earth.mesh.elements)*[1;1;1]/3; 182 183 for i=1:length(self.icecaps), 184 mdi=self.icecaps{i}; 185 186 %for elements: 187 xei=mdi.mesh.x(mdi.mesh.elements)*[1;1;1]/3; 188 yei=mdi.mesh.y(mdi.mesh.elements)*[1;1;1]/3; 189 190 disp(sprintf('Computing vertex intersections for basin %s',self.basins{i}.name)); 191 192 self.transitions{end+1}=meshintersect2d(self.earth.mesh.x,self.earth.mesh.y,mdi.mesh.x,mdi.mesh.y,'force',force); 193 194 self.eltransitions{end+1}=meshintersect2d(xe,ye,xei,yei,'force',force); 195 end 196 end % }}} 170 197 function intersections(self,varargin) % {{{ 171 198 … … 360 387 361 388 end % }}} 362 function viscousiterations(self) % {{{ 363 for i=1:length(self.icecaps), 364 ic=self.icecaps{i}; 365 mvi=ic.results.TransientSolution(1).StressbalanceConvergenceNumSteps; 366 for j=2:length(ic.results.TransientSolution)-1, 367 mvi=max(mvi,ic.results.TransientSolution(j).StressbalanceConvergenceNumSteps); 368 end 369 disp(sprintf('%i, %s: %i',i,self.icecaps{i}.miscellaneous.name,mvi)); 370 end 371 end % }}} 389 function caticecaps2d(self,varargin) % {{{ 390 391 %recover options: 392 options=pairoptions(varargin{:}); 393 tolerance=getfieldvalue(options,'tolerance',1e-5); 394 loneedgesdetect=getfieldvalue(options,'loneedgesdetect',0); 395 models=self.icecaps; 396 397 %Plug all models together: 398 md=models{1}; 399 for i=2:length(models), 400 md=modelmerge2d(md,models{i},'tolerance',tolerance); 401 end 402 403 %Look for lone edges if asked for it: {{{ 404 if loneedgesdetect, 405 edges=loneedges(md); 406 hold on; 407 for i=1:length(edges), 408 ind1=edges(i,1); 409 ind2=edges(i,2); 410 plot([md.mesh.x(ind1),md.mesh.x(ind2)],[md.mesh.y(ind1),md.mesh.y(ind2)],'g*-'); 411 end 412 end %}}} 413 414 %Plug into earth: 415 self.earth=md; 416 417 end % }}} 418 function viscousiterations(self) % {{{ 419 for i=1:length(self.icecaps), 420 ic=self.icecaps{i}; 421 mvi=ic.results.TransientSolution(1).StressbalanceConvergenceNumSteps; 422 for j=2:length(ic.results.TransientSolution)-1, 423 mvi=max(mvi,ic.results.TransientSolution(j).StressbalanceConvergenceNumSteps); 424 end 425 disp(sprintf('%i, %s: %i',i,self.icecaps{i}.miscellaneous.name,mvi)); 426 end 427 end % }}} 372 428 function maxtimestep(self) % {{{ 373 429 for i=1:length(self.icecaps),
Note:
See TracChangeset
for help on using the changeset viewer.