Changeset 4102
- Timestamp:
- 06/21/10 16:37:39 (15 years ago)
- 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 8 8 t1=clock; 9 9 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; 15 12 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; 18 19 19 20 %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 26 28 27 29 %stop timing 28 30 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 5 5 % md=balancedthickness2(md) 6 6 7 %timing8 t1=clock;7 analysis_types=[Balancedthickness2AnalysisEnum]; 8 solution_type=Balancedthickness2AnalysisEnum; 9 9 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); 15 12 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; 18 16 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 35 25 36 26 %stop timing 37 27 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 8 8 t1=clock; 9 9 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; 15 12 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); 18 15 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; 27 19 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 34 28 35 29 %stop timing 36 30 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 9 9 10 10 %Build all models requested for diagnostic simulation 11 models.analysis_type=PrognosticAnalysisEnum; %needed for processresults 11 analysis_types=[PrognosticAnalysisEnum]; 12 solution_type=PrognosticAnalysisEnum; 12 13 13 14 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); 15 16 16 17 % 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; 18 20 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 25 29 26 30 %stop timing -
issm/trunk/src/m/solutions/jpl/prognostic2.m
r3934 r4102 8 8 t1=clock; 9 9 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; 15 12 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); 18 15 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; 28 19 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 35 28 36 29 %stop timing 37 30 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 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 -
issm/trunk/src/m/solutions/jpl/thermal.m
r3934 r4102 8 8 t1=clock; 9 9 10 %Build all models requested for thermal simulation11 models.analysis_type=ThermalAnalysisEnum(); %needed for processresults10 analysis_types=[ThermalAnalysisEnum,MeltingAnalysisEnum]; 11 solution_type=ThermalAnalysisEnum; 12 12 13 13 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); 15 15 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; 21 19 22 20 %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); 30 24 else 31 25 %launch dakota driver for diagnostic core solution … … 35 29 %stop timing 36 30 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 32 32 solution.step=1; 33 33 solution.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))); 35 solution.u_g=[]; 35 36 solution.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; 38 solution.h_g=md.thickness; 39 solution.s_g=md.surface; 40 %solution.s_g=models.p.parameters.s_g; 41 solution.b_g=md.bed; 42 %solution.b_g=models.p.parameters.b_g; 39 43 40 44 %initialize inputs
Note:
See TracChangeset
for help on using the changeset viewer.