Changeset 4102


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

changes .m solutions, transient missing

Location:
issm/trunk/src/m/solutions/jpl
Files:
2 added
8 edited

Legend:

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

    r3974 r4102  
    88        t1=clock;
    99
    10         %Build all models requested for diagnostic simulation
    11         models.analysis_type=BalancedthicknessAnalysisEnum; %needed for processresults
    12        
    13         displaystring(md.verbose,'%s',['reading balancedthickness model data']);
    14         md.analysis_type=BalancedthicknessAnalysisEnum; models.bt=CreateFemModel(md);
     10        analysis_types=[BalancedThicknessAnalysisEnum];
     11        solution_type=BalancedthicknessAnalysisEnum;
    1512
    16         % figure out number of dof: just for information purposes.
    17         md.dof=modelsize(models);
     13        displaystring(md.verbose,'%s',['create finite element model']);
     14        femmodel=NewFemModel(md,solution_type,analysis_types);
     15
     16        %retrieve parameters
     17        verbose=femmodel.parameters.Verbose;
     18        qmu_analysis=femmodel.parameters.QmuAnalysis;
    1819
    1920        %compute solution
    20         displaystring(md.verbose,'\n%s',['call computational core:']);
    21         results=balancedthickness_core(models,BalancedthicknessAnalysisEnum(),NoneAnalysisEnum());
    22 
    23         displaystring(md.verbose,'\n%s',['load results...']);
    24         if ~isstruct(md.results), md.results=struct(); end
    25         md.results.BalancedthicknessAnalysis=processresults(models,results);
     21        if ~qmu_analysis,
     22                displaystring(verbose,'%s',['call computational core']);
     23                balancedthickness_core(femmodel);
     24        else
     25                %launch dakota driver for diagnostic core solution
     26                Qmu(femmodel);
     27        end
    2628
    2729        %stop timing
    2830        t2=clock;
    29         displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']); 
     31        displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
  • issm/trunk/src/m/solutions/jpl/balancedthickness2.m

    r3934 r4102  
    55%      md=balancedthickness2(md)
    66
    7         %timing
    8         t1=clock;
     7        analysis_types=[Balancedthickness2AnalysisEnum];
     8        solution_type=Balancedthickness2AnalysisEnum;
    99
    10         %Build all models requested for diagnostic simulation
    11         models.analysis_type=Balancedthickness2AnalysisEnum; %needed for processresults
    12        
    13         displaystring(md.verbose,'%s',['reading balancedthickness2 model data']);
    14         md.analysis_type=Balancedthickness2AnalysisEnum; models.p=CreateFemModel(md);
     10        displaystring(md.verbose,'%s',['create finite element model']);
     11        femmodel=NewFemModel(md,solution_type,analysis_types);
    1512
    16         % figure out number of dof: just for information purposes.
    17         md.dof=modelsize(models);
     13        %retrieve parameters
     14        verbose=femmodel.parameters.Verbose;
     15        qmu_analysis=femmodel.parameters.QmuAnalysis;
    1816
    19         %initialize inputs
    20         displaystring(md.verbose,'\n%s',['setup inputs...']);
    21         inputs=inputlist;
    22         inputs=add(inputs,'vx',models.p.parameters.vx_g,'doublevec',1,models.p.parameters.NumberOfVertices);
    23         inputs=add(inputs,'vy',models.p.parameters.vy_g,'doublevec',1,models.p.parameters.NumberOfVertices);
    24         inputs=add(inputs,'thickness',models.p.parameters.h_g,'doublevec',1,models.p.parameters.NumberOfVertices);
    25         inputs=add(inputs,'dhdt',models.p.parameters.dhdt_g,'doublevec',1,models.p.parameters.NumberOfVertices);
    26         inputs=add(inputs,'melting',models.p.parameters.m_g,'doublevec',1,models.p.parameters.NumberOfVertices);
    27         inputs=add(inputs,'accumulation',models.p.parameters.a_g,'doublevec',1,models.p.parameters.NumberOfVertices);
    28 
    29         displaystring(md.verbose,'\n%s',['call computational core:']);
    30         results=balancedthickness2_core(models,Balancedthickness2AnalysisEnum(),NoneAnalysisEnum());
    31 
    32         displaystring(md.verbose,'\n%s',['load results...']);
    33         if ~isstruct(md.results), md.results=struct(); end
    34         md.results.BalancedThicknessAnalysis2=processresults(models,results);
     17        %compute solution
     18        if ~qmu_analysis,
     19                displaystring(verbose,'%s',['call computational core']);
     20                balancedthickness2_core(femmodel);
     21        else
     22                %launch dakota driver for diagnostic core solution
     23                Qmu(femmodel);
     24        end
    3525
    3626        %stop timing
    3727        t2=clock;
    38         displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']); 
     28        displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
  • issm/trunk/src/m/solutions/jpl/balancedvelocities.m

    r3934 r4102  
    88        t1=clock;
    99
    10         %Build all models requested for diagnostic simulation
    11         models.analysis_type=BalancedvelocitiesAnalysisEnum; %needed for processresults
    12        
    13         displaystring(md.verbose,'%s',['reading balancedvelocities model data']);
    14         md.analysis_type=BalancedvelocitiesAnalysisEnum; models.p=CreateFemModel(md);
     10        analysis_types=[BalancedvelocitiesAnalysisEnum];
     11        solution_type=BalancedvelocitiesAnalysisEnum;
    1512
    16         % figure out number of dof: just for information purposes.
    17         md.dof=modelsize(models);
     13        displaystring(md.verbose,'%s',['create finite element model']);
     14        femmodel=NewFemModel(md,solution_type,analysis_types);
    1815
    19         %initialize inputs
    20         displaystring(md.verbose,'\n%s',['setup inputs...']);
    21         inputs=inputlist;
    22         inputs=add(inputs,'velocity',models.p.parameters.u_g,'doublevec',3,models.p.parameters.NumberOfNodes);
    23         inputs=add(inputs,'thickness',models.p.parameters.h_g,'doublevec',1,models.p.parameters.NumberOfNodes);
    24         inputs=add(inputs,'melting',models.p.parameters.m_g,'doublevec',1,models.p.parameters.NumberOfNodes);
    25         inputs=add(inputs,'accumulation',models.p.parameters.a_g,'doublevec',1,models.p.parameters.NumberOfNodes);
    26         inputs=add(inputs,'dt',models.p.parameters.Dt*models.p.parameters.Yts,'double');
     16        %retrieve parameters
     17        verbose=femmodel.parameters.Verbose;
     18        qmu_analysis=femmodel.parameters.QmuAnalysis;
    2719
    28         displaystring(md.verbose,'\n%s',['call computational core:']);
    29         results=balancedvelocities_core(models,BalancedvelocitiesAnalysisEnum(),NoneAnalysisEnum());
    30 
    31         displaystring(md.verbose,'\n%s',['load results...']);
    32         if ~isstruct(md.results), md.results=struct(); end
    33         md.results.BalancedVelocitiesAnalysis=processresults(models, results);
     20        %compute solution
     21        if ~qmu_analysis,
     22                displaystring(verbose,'%s',['call computational core']);
     23                balancedvelocities_core(femmodel);
     24        else
     25                %launch dakota driver for diagnostic core solution
     26                Qmu(femmodel);
     27        end
    3428
    3529        %stop timing
    3630        t2=clock;
    37         displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']); 
     31        displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
  • issm/trunk/src/m/solutions/jpl/prognostic.m

    r3934 r4102  
    99
    1010        %Build all models requested for diagnostic simulation
    11         models.analysis_type=PrognosticAnalysisEnum; %needed for processresults
     11        analysis_types=[PrognosticAnalysisEnum];
     12        solution_type=PrognosticAnalysisEnum;
    1213       
    1314        displaystring(md.verbose,'%s',['reading prognostic model data']);
    14         md.analysis_type=PrognosticAnalysisEnum; models.p=CreateFemModel(md);
     15        femmodel=NewFemModel(md,solution_type,analysis_types);
    1516
    1617        % figure out number of dof: just for information purposes.
    17         md.dof=modelsize(models);
     18        verbose=femmodel.parameters.Verbose;
     19        qmu_analysis=femmodel.parameters.QmuAnalysis;
    1820
    19         displaystring(md.verbose,'\n%s',['call computational core:']);
    20         results=prognostic_core(models,PrognosticAnalysisEnum(),NoneAnalysisEnum());
    21 
    22         displaystring(md.verbose,'\n%s',['load results...']);
    23         if ~isstruct(md.results), md.results=struct(); end
    24         md.results.PrognosticAnalysis=processresults(models, results);
     21        %compute solution
     22        if ~qmu_analysis,
     23                displaystring(verbose,'%s',['call computational core']);
     24                prognostic_core(femmodel);
     25        else
     26                %launch dakota driver for diagnostic core solution
     27                Qmu(femmodel);
     28        end
    2529
    2630        %stop timing
  • issm/trunk/src/m/solutions/jpl/prognostic2.m

    r3934 r4102  
    88        t1=clock;
    99
    10         %Build all models requested for diagnostic simulation
    11         models.analysis_type=Prognostic2AnalysisEnum; %needed for processresults
    12        
    13         displaystring(md.verbose,'%s',['reading prognostic2 model data']);
    14         md.analysis_type=Prognostic2AnalysisEnum; models.p=CreateFemModel(md);
     10        analysis_types=[Prognostic2AnalysisEnum];
     11        solution_type=Prognostic2AnalysisEnum;
    1512
    16         % figure out number of dof: just for information purposes.
    17         md.dof=modelsize(models);
     13        displaystring(md.verbose,'%s',['create finite element model']);
     14        femmodel=NewFemModel(md,solution_type,analysis_types);
    1815
    19         %initialize inputs
    20         displaystring(md.verbose,'\n%s',['setup inputs...']);
    21         inputs=inputlist;
    22         inputs=add(inputs,'vx',models.p.parameters.vx_g,'doublevec',1,models.p.parameters.numberofvertices);
    23         inputs=add(inputs,'vy',models.p.parameters.vy_g,'doublevec',1,models.p.parameters.numberofvertices);
    24         inputs=add(inputs,'thickness',models.p.parameters.h_g,'doublevec',1,models.p.parameters.numberofvertices);
    25         inputs=add(inputs,'melting',models.p.parameters.m_g,'doublevec',1,models.p.parameters.numberofvertices);
    26         inputs=add(inputs,'accumulation',models.p.parameters.a_g,'doublevec',1,models.p.parameters.numberofvertices);
    27         inputs=add(inputs,'dt',models.p.parameters.dt*models.p.parameters.yts,'double');
     16        %retrieve parameters
     17        verbose=femmodel.parameters.Verbose;
     18        qmu_analysis=femmodel.parameters.QmuAnalysis;
    2819
    29         displaystring(md.verbose,'\n%s',['call computational core:']);
    30         results=prognostic2_core(models,Prognostic2AnalysisEnum(),NoneAnalysisEnum());
    31 
    32         displaystring(md.verbose,'\n%s',['load results...']);
    33         if ~isstruct(md.results), md.results=struct(); end
    34         md.results.PrognosticAnalysis2=processresults(models, results);
     20        %compute solution
     21        if ~qmu_analysis,
     22                displaystring(verbose,'%s',['call computational core']);
     23                prognostic2_core(femmodel);
     24        else
     25                %launch dakota driver for diagnostic core solution
     26                Qmu(femmodel);
     27        end
    3528
    3629        %stop timing
    3730        t2=clock;
    38         displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']); 
     31        displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
  • 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
  • issm/trunk/src/m/solutions/jpl/thermal.m

    r3934 r4102  
    88        t1=clock;
    99       
    10         %Build all models requested for thermal simulation
    11         models.analysis_type=ThermalAnalysisEnum(); %needed for processresults
     10        analysis_types=[ThermalAnalysisEnum,MeltingAnalysisEnum];
     11        solution_type=ThermalAnalysisEnum;
    1212
    1313        displaystring(md.verbose,'%s',['reading thermal model data']);
    14         md.analysis_type=ThermalAnalysisEnum(); models.t=CreateFemModel(md);
     14        femmodel=NewFemModel(md,solution_type,analysis_types);
    1515
    16         displaystring(md.verbose,'%s',['reading melting model data']);
    17         md.analysis_type=MeltingAnalysisEnum(); models.m=CreateFemModel(md);
    18 
    19         % figure out number of dof: just for information purposes.
    20         md.dof=modelsize(models);
     16        %retrieve parameters
     17        verbose=femmodel.parameters.Verbose;
     18        qmu_analysis=femmodel.parameters.QmuAnalysis;
    2119
    2220        %compute solution
    23         if ~models.t.parameters.QmuAnalysis,
    24                 %launch core of diagnostic solution.
    25                 results=thermal_core(models);
    26        
    27                 %process results
    28                 if ~isstruct(md.results), md.results=struct(); end
    29                 md.results.ThermalAnalysis=processresults(models,results);
     21        if ~qmu_analysis,
     22                displaystring(verbose,'%s',['call computational core']);
     23                thermal_core(femmodel);
    3024        else
    3125                %launch dakota driver for diagnostic core solution
     
    3529        %stop timing
    3630        t2=clock;
    37         displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']); 
     31        displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
  • issm/trunk/src/m/solutions/jpl/transient2d.m

    r3934 r4102  
    3232solution.step=1;
    3333solution.time=0;
    34 solution.u_g=models.dh.parameters.u_g(dofsetgen([1,2],3,length(models.dh.parameters.u_g)));
     34%solution.u_g=models.dh.parameters.u_g(dofsetgen([1,2],3,length(models.dh.parameters.u_g)));
     35solution.u_g=[];
    3536solution.p_g=[];
    36 solution.h_g=models.p.parameters.h_g;
    37 solution.s_g=models.p.parameters.s_g;
    38 solution.b_g=models.p.parameters.b_g;
     37%solution.h_g=models.p.parameters.h_g;
     38solution.h_g=md.thickness;
     39solution.s_g=md.surface;
     40%solution.s_g=models.p.parameters.s_g;
     41solution.b_g=md.bed;
     42%solution.b_g=models.p.parameters.b_g;
    3943
    4044%initialize inputs
Note: See TracChangeset for help on using the changeset viewer.