Changeset 4102 for issm/trunk/src/m/solutions/jpl/steadystate.m
- Timestamp:
- 06/21/10 16:37:39 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/jpl/steadystate.m
r3934 r4102 9 9 t1=clock; 10 10 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; 28 13 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); 32 16 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; 49 21 50 22 %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); 58 28 59 %process results60 if ~isstruct(md.results), md.results=struct(); end61 md.results.SteadystateAnalysis=processresults(models,results);62 29 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 69 34 end 70 35 else 71 %launch dakota driver for steadystatecore solution72 Qmu( models,models.dh.parameters);36 %launch dakota driver for diagnostic core solution 37 Qmu(femmodel); 73 38 end 74 39
Note:
See TracChangeset
for help on using the changeset viewer.