Changeset 1647


Ignore:
Timestamp:
08/11/09 15:12:36 (16 years ago)
Author:
Mathieu Morlighem
Message:

Analysis_types are now always Enums not strings

Location:
issm/trunk/src/m/solutions/cielo
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/cielo/control.m

    r1184 r1647  
    1010       
    1111        %Build all models requested for control simulation
    12         models.analysis_type='control'; %needed for processresults
     12        models.analysis_type=ControlAnalysisEnum(); %needed for processresults
    1313
    1414        displaystring(md.debug,'%s',['reading control horiz model data']);
    15         md.analysis_type='control'; md.sub_analysis_type='horiz'; models.dh=CreateFemModel(md);
     15        md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=HorizAnalysisEnum(); models.dh=CreateFemModel(md);
    1616
    1717        displaystring(md.debug,'\n%s',['reading control vert model data']);
    18         md.analysis_type='control'; md.sub_analysis_type='vert'; models.dv=CreateFemModel(md);
     18        md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=VertAnalysisEnum(); models.dv=CreateFemModel(md);
    1919
    2020        displaystring(md.debug,'\n%s',['reading control stokes model data']);
    21         md.analysis_type='control'; md.sub_analysis_type='stokes'; models.ds=CreateFemModel(md);
     21        md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=StokesAnalysisEnum(); models.ds=CreateFemModel(md);
    2222
    2323        displaystring(md.debug,'\n%s',['reading control hutter model data']);
    24         md.analysis_type='control'; md.sub_analysis_type='hutter'; models.dhu=CreateFemModel(md);
     24        md.analysis_type=ControlAnalysisEnum(); md.sub_analysis_type=HutterAnalysisEnum(); models.dhu=CreateFemModel(md);
    2525
    2626        displaystring(md.debug,'\n%s',['reading surface and bed slope computation model data']);
    27         md.analysis_type='slope_compute'; md.sub_analysis_type=''; models.sl=CreateFemModel(md);
     27        md.analysis_type=SlopeComputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
    2828
    2929        % figure out number of dof: just for information purposes.
  • issm/trunk/src/m/solutions/cielo/control_core.m

    r1225 r1647  
    5050        displaystring(debug,'\n%s',['      computing gradJ...']);
    5151        if isstokes,
    52                 [u_g c(n).grad_g]=GradJCompute(m_ds,inputs,'diagnostic','stokes');
     52                [u_g c(n).grad_g]=GradJCompute(m_ds,inputs,DiagnosticAnalysisEnum(),StokesAnalysisEnum());
    5353                inputs=add(inputs,'velocity',u_g,'doublevec',4,m_ds.parameters.numberofnodes);
    5454        else
    55                 [u_g c(n).grad_g]=GradJCompute(m_dh,inputs,'diagnostic','horiz');
     55                [u_g c(n).grad_g]=GradJCompute(m_dh,inputs,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
    5656                inputs=add(inputs,'velocity',u_g,'doublevec',2,m_dh.parameters.numberofnodes);
    5757        end
     
    7171        displaystring(debug,'\n%s',['      optimizing along gradient direction...']);
    7272        if isstokes,
    73                 [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,m_ds,inputs,param_g,c(n).grad_g,n,'diagnostic','stokes');
     73                [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,m_ds,inputs,param_g,c(n).grad_g,n,DiagnosticAnalysisEnum(),StokesAnalysisEnum());
    7474        else
    75                 [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,m_dh,inputs,param_g,c(n).grad_g,n,'diagnostic','horiz');
     75                [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,m_dh,inputs,param_g,c(n).grad_g,n,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
    7676        end
    7777
  • issm/trunk/src/m/solutions/cielo/diagnostic.m

    r1629 r1647  
    1010
    1111        %Build all models requested for diagnostic simulation
    12         models.analysis_type='diagnostic'; %needed for processresults
     12        models.analysis_type=DiagnosticAnalysisEnum; %needed for processresults
    1313       
    1414        displaystring(md.debug,'%s',['reading diagnostic horiz model data']);
    15         md.analysis_type='diagnostic'; md.sub_analysis_type='horiz'; models.dh=CreateFemModel(md);
     15        md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=HorizAnalysisEnum; models.dh=CreateFemModel(md);
    1616       
    1717        displaystring(md.debug,'\n%s',['reading diagnostic vert model data']);
    18         md.analysis_type='diagnostic'; md.sub_analysis_type='vert'; models.dv=CreateFemModel(md);
     18        md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=VertAnalysisEnum; models.dv=CreateFemModel(md);
    1919       
    2020        displaystring(md.debug,'\n%s',['reading diagnostic stokes model data']);
    21         md.analysis_type='diagnostic'; md.sub_analysis_type='stokes'; models.ds=CreateFemModel(md);
     21        md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=StokesAnalysisEnum; models.ds=CreateFemModel(md);
    2222       
    2323        displaystring(md.debug,'\n%s',['reading diagnostic hutter model data']);
    24         md.analysis_type='diagnostic'; md.sub_analysis_type='hutter'; models.dhu=CreateFemModel(md);
     24        md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=HutterAnalysisEnum; models.dhu=CreateFemModel(md);
    2525       
    2626        displaystring(md.debug,'\n%s',['reading surface and bed slope computation model data']);
    27         md.analysis_type='slope_compute'; md.sub_analysis_type=''; models.sl=CreateFemModel(md);
     27        md.analysis_type=SlopeComputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
    2828       
    2929        % figure out number of dof: just for information purposes.
  • issm/trunk/src/m/solutions/cielo/diagnostic_core.m

    r1042 r1647  
    5353
    5454        displaystring(debug,'\n%s',['computing horizontal velocities...']);
    55         u_g=diagnostic_core_nonlinear(m_dh,inputs,'diagnostic','horiz');
     55        u_g=diagnostic_core_nonlinear(m_dh,inputs,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
    5656
    5757        displaystring(debug,'\n%s',['computing pressure according to MacAyeal...']);
     
    6666        displaystring(debug,'\n%s',['computing vertical velocities...']);
    6767        inputs=add(inputs,'velocity',u_g_horiz,'doublevec',m_dh.parameters.numberofdofspernode,m_dh.parameters.numberofnodes);
    68         u_g_vert=diagnostic_core_linear(m_dv,inputs,'diagnostic','vert');
     68        u_g_vert=diagnostic_core_linear(m_dv,inputs,DiagnosticAnalysisEnum(),VertAnalysisEnum());
    6969
    7070        displaystring(debug,'\n%s',['combining horizontal and vertical velocities...']);
     
    103103
    104104                displaystring(debug,'\n%s',['computing stokes velocities and pressure ...']);
    105                 u_g=diagnostic_core_nonlinear(m_ds,inputs,'diagnostic','stokes');
     105                u_g=diagnostic_core_nonlinear(m_ds,inputs,DiagnosticAnalysisEnum(),StokesAnalysisEnum());
    106106       
    107107                %"decondition" pressure
  • issm/trunk/src/m/solutions/cielo/processresults.m

    r1046 r1647  
    1515
    1616%recover models first
    17 if (strcmpi(analysis_type,'diagnostic') | strcmpi(analysis_type,'transient')),
     17if (analysis_type==DiagnosticAnalysisEnum | analysis_type==TransientAnalysisEnum),
    1818        m_dh=models.dh;
    1919        m_ds=models.ds;
     
    2626        isstokes=m_ds.parameters.isstokes;
    2727end
    28 if strcmpi(analysis_type,'control'),
     28if (analysis_type==ControlAnalysisEnum()),
    2929        m_dh=models.dh;
    3030
     
    3535        isstokes=m_dh.parameters.isstokes;
    3636end
    37 if (strcmpi(analysis_type,'thermal') | strcmpi(analysis_type,'transient')),
     37if (analysis_type==ThermalAnalysisEnum() | analysis_type==TransientAnalysisEnum()),
    3838        m_m=models.m;
    3939end
  • issm/trunk/src/m/solutions/cielo/prognostic.m

    r972 r1647  
    99
    1010        %Build all models requested for diagnostic simulation
    11         models.analysis_type='prognostic'; %needed for processresults
     11        models.analysis_type=PrognosticAnalysisEnum; %needed for processresults
    1212       
    1313        displaystring(md.debug,'%s',['reading prognostic model data']);
    14         md.analysis_type='prognostic'; models.p=CreateFemModel(md);
     14        md.analysis_type=PrognosticAnalysisEnum; models.p=CreateFemModel(md);
    1515
    1616        % figure out number of dof: just for information purposes.
     
    2727
    2828        displaystring(md.debug,'\n%s',['call computational core:']);
    29         results=prognostic_core(models,inputs,'prognostic','');
     29        results=prognostic_core(models,inputs,PrognosticAnalysisEnum(),NoneAnalysisEnum());
    3030
    3131        displaystring(md.debug,'\n%s',['load results...']);
  • issm/trunk/src/m/solutions/cielo/thermal.m

    r972 r1647  
    88        t1=clock;
    99       
    10         models.analysis_type='thermal'; %needed for processresults
     10        models.analysis_type=ThermalAnalysisEnum(); %needed for processresults
    1111
    1212        %Build all models requested for diagnostic simulation
    1313        displaystring(md.debug,'%s',['reading thermal model data']);
    14         md.analysis_type='thermal'; models.t=CreateFemModel(md);
     14        md.analysis_type=ThermalAnalysisEnum(); models.t=CreateFemModel(md);
    1515
    1616        displaystring(md.debug,'%s',['reading melting model data']);
    17         md.analysis_type='melting'; models.m=CreateFemModel(md);
     17        md.analysis_type=MeltingAnalysisEnum(); models.m=CreateFemModel(md);
    1818
    1919        % figure out number of dof: just for information purposes.
  • issm/trunk/src/m/solutions/cielo/thermal_core.m

    r1299 r1647  
    1515
    1616        displaystring(m_t.parameters.debug,'\n%s',['computing temperatures...']);
    17         [results.t_g m_t.loads melting_offset]=thermal_core_nonlinear(m_t,inputs,'thermal','steady');
     17        [results.t_g m_t.loads melting_offset]=thermal_core_nonlinear(m_t,inputs,ThermalAnalysisEnum(),SteadyAnalysisEnum());
    1818
    1919        displaystring(m_t.parameters.debug,'\n%s',['computing melting...']);
    2020        inputs=add(inputs,'melting_offset',melting_offset,'double');
    2121        inputs=add(inputs,'temperature',results.t_g,'doublevec',1,m_t.parameters.numberofnodes);
    22         results.m_g=diagnostic_core_linear(m_m,inputs,'melting','steady');
     22        results.m_g=diagnostic_core_linear(m_m,inputs,MeltingAnalysisEnum(),SteadyAnalysisEnum());
    2323
    2424else
     
    4343                displaystring(m_t.parameters.debug,'\n%s',['    computing temperatures...']);
    4444                inputs=add(inputs,'temperature',results(n).t_g,'doublevec',1,m_t.parameters.numberofnodes);
    45                 [results(n+1).t_g m_t.loads melting_offset]=thermal_core_nonlinear(m_t,inputs,'thermal','transient');
     45                [results(n+1).t_g m_t.loads melting_offset]=thermal_core_nonlinear(m_t,inputs,ThermalAnalysisEnum(),TransientAnalysisEnum());
    4646
    4747                displaystring(m_t.parameters.debug,'\n%s',['    computing melting...']);
    4848                inputs=add(inputs,'temperature',results(n+1).t_g,'doublevec',1,m_t.parameters.numberofnodes);
    4949                inputs=add(inputs,'melting_offset',melting_offset,'double');
    50                 results(n+1).m_g=diagnostic_core_linear(m_m,inputs,'melting','transient');
     50                results(n+1).m_g=diagnostic_core_linear(m_m,inputs,MeltingAnalysisEnum(),TransientAnalysisEnum());
    5151
    5252        end
  • issm/trunk/src/m/solutions/cielo/transient2d.m

    r971 r1647  
    1111
    1212displaystring(md.debug,'%s',['reading diagnostic horiz model data']);
    13 md.analysis_type='diagnostic'; md.sub_analysis_type='horiz'; models.dh=CreateFemModel(md);
     13md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=HorizAnalysisEnum(); models.dh=CreateFemModel(md);
    1414
    1515displaystring(md.debug,'\n%s',['reading diagnostic vert model data']);
    16 md.analysis_type='diagnostic'; md.sub_analysis_type='vert'; models.dv=CreateFemModel(md);
     16md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=VertAnalysisEnum(); models.dv=CreateFemModel(md);
    1717
    1818displaystring(md.debug,'\n%s',['reading diagnostic stokes model data']);
    19 md.analysis_type='diagnostic'; md.sub_analysis_type='stokes'; models.ds=CreateFemModel(md);
     19md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=StokesAnalysisEnum(); models.ds=CreateFemModel(md);
    2020
    2121displaystring(md.debug,'\n%s',['reading diagnostic hutter model data']);
    22 md.analysis_type='diagnostic'; md.sub_analysis_type='hutter'; models.dhu=CreateFemModel(md);
     22md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=HutterAnalysisEnum(); models.dhu=CreateFemModel(md);
    2323
    2424displaystring(md.debug,'\n%s',['reading surface and bed slope computation model data']);
    25 md.analysis_type='slope_compute'; md.sub_analysis_type=''; models.sl=CreateFemModel(md);
     25md.analysis_type=SlopeComputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
    2626
    2727displaystring(md.debug,'%s',['reading prognostic model data']);
    28 md.analysis_type='prognostic'; models.p=CreateFemModel(md);
     28md.analysis_type=PrognosticAnalysisEnum(); models.p=CreateFemModel(md);
    2929
    3030%initialize solution
     
    7777        disp(sprintf('%s','   computing new thickness...'));
    7878        inputs=add(inputs,'velocity',solution(n+1).u_g,'doublevec',2,models.p.parameters.numberofnodes);
    79         rawresults=prognostic_core(models,inputs,'prognostic','');
     79        rawresults=prognostic_core(models,inputs,PrognosticAnalysisEnum(),NoneAnalysisEnum());
    8080        new_thickness=rawresults.h_g;
    8181
  • issm/trunk/src/m/solutions/cielo/transient3d.m

    r987 r1647  
    88
    99%Build all models related to diagnostic
    10 models.analysis_type='transient'; %needed for processresults
     10models.analysis_type=TransientAnalysisEnum(); %needed for processresults
    1111
    1212displaystring(md.debug,'%s',['reading diagnostic horiz model data']);
    13 md.analysis_type='diagnostic'; md.sub_analysis_type='horiz'; models.dh=CreateFemModel(md);
     13md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=HorizAnalysisEnum(); models.dh=CreateFemModel(md);
    1414
    1515displaystring(md.debug,'\n%s',['reading diagnostic vert model data']);
    16 md.analysis_type='diagnostic'; md.sub_analysis_type='vert'; models.dv=CreateFemModel(md);
     16md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=VertAnalysisEnum(); models.dv=CreateFemModel(md);
    1717
    1818displaystring(md.debug,'\n%s',['reading diagnostic stokes model data']);
    19 md.analysis_type='diagnostic'; md.sub_analysis_type='stokes'; models.ds=CreateFemModel(md);
     19md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=StokesAnalysisEnum(); models.ds=CreateFemModel(md);
    2020
    2121displaystring(md.debug,'\n%s',['reading diagnostic hutter model data']);
    22 md.analysis_type='diagnostic'; md.sub_analysis_type='hutter'; models.dhu=CreateFemModel(md);
     22md.analysis_type=DiagnosticAnalysisEnum(); md.sub_analysis_type=HutterAnalysisEnum(); models.dhu=CreateFemModel(md);
    2323
    2424displaystring(md.debug,'\n%s',['reading surface and bed slope computation model data']);
    25 md.analysis_type='slope_compute'; md.sub_analysis_type=''; models.sl=CreateFemModel(md);
     25md.analysis_type=SlopeComputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
    2626
    2727displaystring(md.debug,'%s',['reading prognostic model data']);
    28 md.analysis_type='prognostic'; models.p=CreateFemModel(md);
     28md.analysis_type=PrognosticAnalysisEnum(); models.p=CreateFemModel(md);
    2929
    3030%Build all models related to thermal
    3131displaystring(md.debug,'%s',['reading thermal model data']);
    32 md.analysis_type='thermal'; models.t=CreateFemModel(md);
     32md.analysis_type=ThermalAnalysisEnum(); models.t=CreateFemModel(md);
    3333
    3434displaystring(md.debug,'%s',['reading melting model data']);
    35 md.analysis_type='melting'; models.m=CreateFemModel(md);
     35md.analysis_type=MeltingAnalysisEnum(); models.m=CreateFemModel(md);
    3636
    3737
     
    8585        %Deal with temperature first
    8686        displaystring(md.debug,'\n%s',['    computing temperatures...']);
    87         [results(n+1).t_g models.t.loads melting_offset]=thermal_core_nonlinear(models.t,inputs,'thermal','transient');
     87        [results(n+1).t_g models.t.loads melting_offset]=thermal_core_nonlinear(models.t,inputs,ThermalAnalysisEnum(),TransientAnalysisEnum());
    8888        inputs=add(inputs,'temperature',results(n+1).t_g,'doublevec',1,models.t.parameters.numberofnodes);
    8989       
    9090        displaystring(md.debug,'\n%s',['    computing melting...']);
    9191        inputs=add(inputs,'melting_offset',melting_offset,'double');
    92         results(n+1).m_g=diagnostic_core_linear(models.m,inputs,'melting','transient');
     92        results(n+1).m_g=diagnostic_core_linear(models.m,inputs,MeltingAnalysisEnum(),TransientAnalysisEnum());
    9393
    9494        %Compute depth averaged temperature
     
    103103        displaystring(md.debug,'\n%s',['    computing new thickness...']);
    104104        inputs=add(inputs,'velocity',results(n+1).u_g,'doublevec',3,models.p.parameters.numberofnodes);
    105         rawresults=prognostic_core(models,inputs,'prognostic','');
     105        rawresults=prognostic_core(models,inputs,PrognosticAnalysisEnum(),NoneAnalysisEnum());
    106106        new_thickness=rawresults.h_g;
    107107
Note: See TracChangeset for help on using the changeset viewer.