Changeset 5197


Ignore:
Timestamp:
08/12/10 12:25:18 (15 years ago)
Author:
Eric.Larour
Message:

Simplified QmuSetupDesign

Location:
issm/trunk/src/m/qmu/setupdesign
Files:
11 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/qmu/setupdesign/QmuSetupDesign.m

    r4994 r5197  
    11function dvar=QmuSetupDesign(dvar,variables,params,varargin)
     2
     3%recover model
     4for i=1:length(varargin)
     5    if strcmp(class(varargin{i}),'model')
     6        md=varargin{i};
     7        break;
     8    end
     9end
     10
    211
    312%get descriptor
    413descriptor=variables.descriptor;
    514
    6 %loop on descriptor
    7 if strcmpi(descriptor,'RhoIce')
     15%decide whether this is a distributed variable, which will drive whether we expand it into npart values,
     16%or if we just carry it forward as is.
    817
    9         dvar=setuprhoice(dvar,variables,params,varargin{:});
     18switch descriptor,
     19case {'RhoIce','RhoWater','HeatCapacity','ThermalConductivity','Gravity'},
    1020
    11 elseif strcmpi(descriptor,'RhoWater')
     21        dvar(end+1)=variables;
    1222
    13         dvar=setuprhowater(dvar,variables,params,varargin{:});
     23case {'Thickness','Surface','Bed','DragCoefficient'},
    1424
    15 elseif strcmpi(descriptor,'HeatCapacity')
     25        if length(variables.stddev)>md.npart,
     26                error('QmuSetupDesign error message: stddev should be either a scalar or a ''npart'' length vector');
     27        end
    1628
    17         dvar=setupheatcapacity(dvar,variables,params,varargin{:});
     29        %ok, dealing with semi-discrete distributed variable. Distribute according to how many
     30        %partitions we want
    1831
    19 elseif strcmpi(descriptor,'ThermalConductivity')
     32        for j=1:md.npart
     33                dvar(end+1)           =variables;
     34                dvar(end  ).descriptor=sprintf('%s%d',variables.descriptor,j);
     35                if length(variables.stddev)>1,
     36                        dvar(end  ).stddev=variables.stddev(j);
     37                end
     38        end
    2039
    21         dvar=setupthermalconductivity(dvar,variables,params,varargin{:});
    22 
    23 elseif strcmpi(descriptor,'Gravity')
    24 
    25         dvar=setupgravity(dvar,variables,params,varargin{:});
    26 
    27 elseif strcmpi(descriptor,'Thickness')
    28 
    29         dvar=setupthickness(dvar,variables,params,varargin{:});
    30 
    31 elseif strcmpi(descriptor,'Surface')
    32 
    33         dvar=setupsurface(dvar,variables,params,varargin{:});
    34 
    35 elseif strcmpi(descriptor,'Bed')
    36 
    37         dvar=setupbed(dvar,variables,params,varargin{:});
    38 
    39 elseif strcmpi(descriptor,'DragCoefficient')
    40 
    41         dvar=setupdrag(dvar,variables,params,varargin{:});
    42 
    43 elseif strncmpi(descriptor,'DragCoefficientNode',9)
    44 
    45         dvar=setupdrag_node(dvar,variables,params,varargin{:});
    46 
    47 elseif strncmpi(descriptor,'ThicknessNode',14)
    48 
    49         dvar=setupthickness_node(dvar,variables,params,varargin{:});
    50 
    51 elseif strcmpi(descriptor,'RiftsFriction')
    52 
     40case {'RiftsFriction'},
     41       
    5342        dvar=setupriftsfriction(dvar,variables,params,varargin{:});
    5443
    55 else
     44otherwise
    5645        error(['QmuSetupDesign warning message: could not find ' descriptor ' setup design function']);
    5746end
    58 
    59 end
Note: See TracChangeset for help on using the changeset viewer.