Changeset 25758 for issm/trunk-jpl/src/m/classes/model.m
- Timestamp:
- 11/16/20 13:22:37 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/model.m
r25751 r25758 192 192 methods 193 193 function md = model(varargin) % {{{ 194 195 194 196 195 switch nargin 197 196 case 0 198 md=setdefaultparameters(md,'earth'); 197 md=setdefaultparameters(md); 198 case 1 199 error('model constructor not supported yet'); 200 199 201 otherwise 200 options=pairoptions(varargin{:}); 201 planet=getfieldvalue(options,'planet','earth'); 202 md=setdefaultparameters(md,planet); 203 end 202 error('model constructor error message: 0 of 1 argument only in input.'); 203 end 204 204 205 end 205 206 %}}} … … 424 425 if isobject(md.outputdefinition.definitions{i}) 425 426 %get subfields 426 solutionsubfields=field names(md.outputdefinition.definitions{i});427 solutionsubfields=fields(md.outputdefinition.definitions{i}); 427 428 for j=1:length(solutionsubfields), 428 429 field=md.outputdefinition.definitions{i}.(solutionsubfields{j}); … … 548 549 549 550 %loop over model fields 550 model_fields=field names(md1);551 model_fields=fields(md1); 551 552 for i=1:length(model_fields), 552 553 %get field … … 554 555 fieldsize=size(field); 555 556 if isobject(field), %recursive call 556 object_fields=field names(md1.(model_fields{i}));557 object_fields=fields(md1.(model_fields{i})); 557 558 for j=1:length(object_fields), 558 559 %get field … … 721 722 if isstruct(md1.results), 722 723 md2.results=struct(); 723 solutionfields=field names(md1.results);724 solutionfields=fields(md1.results); 724 725 for i=1:length(solutionfields), 725 726 if isstruct(md1.results.(solutionfields{i})) … … 728 729 for p=1:length(md1.results.(solutionfields{i})) 729 730 current = md1.results.(solutionfields{i})(p); 730 solutionsubfields=field names(current);731 solutionsubfields=fields(current); 731 732 for j=1:length(solutionsubfields), 732 733 field=md1.results.(solutionfields{i})(p).(solutionsubfields{j}); … … 757 758 if isobject(md1.outputdefinition.definitions{i}) 758 759 %get subfields 759 solutionsubfields=field names(md1.outputdefinition.definitions{i});760 solutionsubfields=fields(md1.outputdefinition.definitions{i}); 760 761 for j=1:length(solutionsubfields), 761 762 field=md1.outputdefinition.definitions{i}.(solutionsubfields{j}); … … 1287 1288 end 1288 1289 end% }}} 1289 function md = setdefaultparameters(md ,planet) % {{{1290 function md = setdefaultparameters(md) % {{{ 1290 1291 1291 1292 %initialize subclasses … … 1299 1300 md.friction = friction(); 1300 1301 md.rifts = rifts(); 1301 md.solidearth = solidearth( planet);1302 md.solidearth = solidearth(); 1302 1303 md.dsl = dsl(); 1303 1304 md.timestepping = timestepping();
Note:
See TracChangeset
for help on using the changeset viewer.