Ignore:
Timestamp:
06/21/10 16:37:39 (15 years ago)
Author:
seroussi
Message:

changes .m solutions, transient missing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/jpl/steadystate.m

    r3934 r4102  
    99        t1=clock;
    1010
    11         models.analysis_type=SteadystateAnalysisEnum; %needed for processresults
    12        
    13         %Build all models requested for diagnostic simulation
    14         displaystring(md.verbose,'%s',['reading diagnostic horiz model data']);
    15         md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=HorizAnalysisEnum; models.dh=CreateFemModel(md);
    16        
    17         displaystring(md.verbose,'\n%s',['reading diagnostic vert model data']);
    18         md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=VertAnalysisEnum; models.dv=CreateFemModel(md);
    19        
    20         displaystring(md.verbose,'\n%s',['reading diagnostic stokes model data']);
    21         md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=StokesAnalysisEnum; models.ds=CreateFemModel(md);
    22        
    23         displaystring(md.verbose,'\n%s',['reading diagnostic hutter model data']);
    24         md.analysis_type=DiagnosticAnalysisEnum; md.sub_analysis_type=HutterAnalysisEnum; models.dhu=CreateFemModel(md);
    25        
    26         displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
    27         md.analysis_type=SlopecomputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
     11        analysis_types=[DiagnosticHorizAnalysisEnum,DiagnosticVertAnalysisEnum,DiagnosticStokesAnalysisEnum,DiagnosticHutterAnalysisEnum,SlopeAnalysisEnum,ThermalAnalysisEnum,MeltingAnalysisEnum];
     12        solution_type=SteadyStateAnalysisEnum;
    2813
    29         %Build all models requested for thermal simulation
    30         displaystring(md.verbose,'%s',['reading thermal model data']);
    31         md.analysis_type=ThermalAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.t=CreateFemModel(md);
     14        displaystring(md.verbose,'%s',['create finite element model']);
     15        femmodel=NewFemModel(md,solution_type,analysis_types);
    3216
    33         displaystring(md.verbose,'%s',['reading melting model data']);
    34         md.analysis_type=MeltingAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.m=CreateFemModel(md);
    35 
    36         % figure out number of dof: just for information purposes.
    37         md.dof=modelsize(models);
    38 
    39         %initialize inputs
    40         displaystring(md.verbose,'\n%s',['setup inputs...']);
    41         inputs=inputlist;
    42         inputs=add(inputs,'velocity',models.dh.parameters.u_g,'doublevec',3,models.dh.parameters.NumberOfNodes);
    43         inputs=add(inputs,'pressure',models.t.parameters.p_g,'doublevec',1,models.t.parameters.NumberOfNodes);
    44         inputs=add(inputs,'dt',models.t.parameters.Dt*models.t.parameters.Yts,'double');
    45         if md.control_analysis,
    46                 inputs=add(inputs,'velocity_obs',models.dh.parameters.u_g_obs,'doublevec',2,models.dh.parameters.NumberOfNodes);
    47                 inputs=add(inputs,'weights',models.dh.parameters.Weights,'doublevec',1,models.dh.parameters.NumberOfNodes);
    48         end
     17        %retrieve parameters
     18        verbose=femmodel.parameters.Verbose;
     19        qmu_analysis=femmodel.parameters.QmuAnalysis;
     20        control_analysis=femmodel.parameters.ControlAnalysis;
    4921       
    5022        %compute solution
    51         if ~models.dh.parameters.QmuAnalysis,
    52                 if md.control_analysis,
    53                         %change control_steady to 1
    54                         models.dh.parameters.ControlSteady=1;
    55                         models.ds.parameters.ControlSteady=1;
    56                         %launch core of control solution.
    57                         results=control_core(models);
     23        if ~qmu_analysis,
     24                if ~control_analysis,
     25                       
     26                        displaystring(verbose,'%s',['call computational core']);
     27                        steadystate_core(femmodel);
    5828
    59                         %process results
    60                         if ~isstruct(md.results), md.results=struct(); end
    61                         md.results.SteadystateAnalysis=processresults(models,results);
    6229                else,
    63                         %launch core of steadystate solution.
    64                         results=steadystate_core(models);
    65                
    66                         %process results
    67                         if ~isstruct(md.results), md.results=struct(); end
    68                         md.results.SteadystateAnalysis=processresults(models,results);
     30                       
     31                        displaystring(verbose,'%s',['call computational core']);
     32                        control_core(femmodel);
     33
    6934                end
    7035        else
    71                 %launch dakota driver for steadystate core solution
    72                 Qmu(models,models.dh.parameters);
     36                %launch dakota driver for diagnostic core solution
     37                Qmu(femmodel);
    7338        end
    7439
Note: See TracChangeset for help on using the changeset viewer.