Changeset 922


Ignore:
Timestamp:
06/11/09 15:53:37 (16 years ago)
Author:
Eric.Larour
Message:

reworked diagnostic core to more resemble parallel core

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

Legend:

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

    r738 r922  
    1111        %Build all models requested for diagnostic simulation
    1212        displaystring(md.debug,'%s',['reading diagnostic horiz model data']);
    13         md.analysis_type='diagnostic'; md.sub_analysis_type='horiz'; m_dh=CreateFemModel(md);
     13        md.analysis_type='diagnostic'; md.sub_analysis_type='horiz'; models.dh=CreateFemModel(md);
    1414       
    1515        displaystring(md.debug,'\n%s',['reading diagnostic vert model data']);
    16         md.analysis_type='diagnostic'; md.sub_analysis_type='vert'; m_dv=CreateFemModel(md);
     16        md.analysis_type='diagnostic'; md.sub_analysis_type='vert'; models.dv=CreateFemModel(md);
    1717       
    1818        displaystring(md.debug,'\n%s',['reading diagnostic stokes model data']);
    19         md.analysis_type='diagnostic'; md.sub_analysis_type='stokes'; m_ds=CreateFemModel(md);
     19        md.analysis_type='diagnostic'; md.sub_analysis_type='stokes'; models.ds=CreateFemModel(md);
    2020
    2121        displaystring(md.debug,'\n%s',['reading diagnostic hutter model data']);
    22         md.analysis_type='diagnostic'; md.sub_analysis_type='hutter'; m_dhu=CreateFemModel(md);
     22        md.analysis_type='diagnostic'; md.sub_analysis_type='hutter'; models.dhu=CreateFemModel(md);
    2323       
    2424        displaystring(md.debug,'\n%s',['reading surface and bed slope computation model data']);
    25         md.analysis_type='slope_compute'; md.sub_analysis_type=''; m_sl=CreateFemModel(md);
     25        md.analysis_type='slope_compute'; md.sub_analysis_type=''; models.sl=CreateFemModel(md);
    2626       
    2727        % figure out number of dof: just for information purposes.
    28         md.dof=modelsize(m_dh,m_dv,m_ds,m_dhu,m_sl);
     28        md.dof=modelsize(models);
    2929
    3030        %initialize inputs
    3131        inputs=inputlist;
    32         inputs=add(inputs,'velocity',m_dh.parameters.u_g,'doublevec',3,m_dh.parameters.numberofnodes);
     32        inputs=add(inputs,'velocity',models.dh.parameters.u_g,'doublevec',3,models.dh.parameters.numberofnodes);
    3333
    3434        %compute solution
    35         [u_g,p_g]=diagnostic_core(m_dh,m_dhu,m_dv,m_ds,m_sl,inputs);
     35        results=diagnostic_core(models,inputs);
    3636
    37         %Load results onto model
    38         md=loadresults(md,u_g,p_g,m_dh,m_ds,m_dhu);
     37        %load results onto model
     38        md=loadresults(md,models,results);
    3939
    4040        %stop timing
  • issm/trunk/src/m/solutions/cielo/diagnostic_core.m

    r855 r922  
    1 function [u_g p_g]=diagnostic_core(m_dh,m_dhu,m_dv,m_ds,m_sl,inputs);
     1function results=diagnostic_core(models,inputs);
    22%DIAGNOSTIC_CORE - compute the core velocity field
    33%
    44%   Usage:
    5 %      u_g=diagnostic_core(m_dh,m_dhu,m_dv,m_ds,m_sl,inputs);
     5%      results=diagnostic_core(m_dh,m_dhu,m_dv,m_ds,m_sl,inputs);
    66%
     7
     8%recover models
     9m_dh=models.dh;
     10m_dv=models.dv;
     11m_ds=models.ds;
     12m_dhu=models.dhu;
     13m_sl=models.sl;
    714
    815%recover parameters common to all solutions
     
    102109        end
    103110end
     111
     112%load onto results
     113results.u_g=u_g;
     114results.p_g=p_g;
  • issm/trunk/src/m/solutions/cielo/loadcontrolfinalsol.m

    r915 r922  
    11function md=loadfinalcontrolsol(md,solution);
    22
    3 if ~isstruct(md.results), md.results=struct(); end
     3if ~isstruct(md.results),
     4        if isnan(md.results),
     5                md.results=struct();
     6        end
     7end
    48md.results.control.vx=solution.vx*md.yts;
    59md.results.control.vy=solution.vy*md.yts;
  • issm/trunk/src/m/solutions/cielo/loadresults.m

    r915 r922  
    1 function md=loadresults(md,u_g,p_g,m_dh,m_ds,m_dhu);
     1function md=loadresults(md,models,results);
    22%LOADRESULTS - load results onto model
    33%
     
    66%
    77%   Usage:
    8 %      md=Loadresults(md,u_g,p_g,m_dh,m_ds,m_dhu)
     8%      md=Loadresults(md,results,m_dh,m_ds,m_dhu)
    99
     10%recover models
     11m_dh=models.dh;
     12m_ds=models.ds;
     13m_dhu=models.dhu;
     14
     15%recover parameters
    1016debug=m_dhu.parameters.debug;
    1117dim=m_dhu.parameters.dim;
     
    1319ismacayealpattyn=m_dh.parameters.ismacayealpattyn;
    1420isstokes=m_ds.parameters.isstokes;
     21
     22%recover results
     23u_g=results.u_g;
     24p_g=results.p_g;
    1525
    1626if ~isstruct(md.results), md.results=struct(); end
  • issm/trunk/src/m/solutions/cielo/modelsize.m

    r809 r922  
    1 function dof=modelsize(m_dh,m_dv,m_ds,m_dhu,m_sl);
     1function dof=modelsize(models)
    22%DOF - return the maximum number of degrees of freedom of the model
    33%
    44%   Usage:
    55%      dof=modelsize(m_dh,m_dv,m_ds,m_dhu,m_sl)
     6
     7%recover models
     8m_dh=models.dh;
     9m_dv=models.dv;
     10m_ds=models.ds;
     11m_dhu=models.dhu;
     12m_sl=models.sl;
    613
    714dof=0;
Note: See TracChangeset for help on using the changeset viewer.