Changeset 922
- Timestamp:
- 06/11/09 15:53:37 (16 years ago)
- Location:
- issm/trunk/src/m/solutions/cielo
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/cielo/diagnostic.m
r738 r922 11 11 %Build all models requested for diagnostic simulation 12 12 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); 14 14 15 15 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); 17 17 18 18 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); 20 20 21 21 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); 23 23 24 24 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); 26 26 27 27 % 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); 29 29 30 30 %initialize inputs 31 31 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); 33 33 34 34 %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); 36 36 37 % Load results onto model38 md=loadresults(md, u_g,p_g,m_dh,m_ds,m_dhu);37 %load results onto model 38 md=loadresults(md,models,results); 39 39 40 40 %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);1 function results=diagnostic_core(models,inputs); 2 2 %DIAGNOSTIC_CORE - compute the core velocity field 3 3 % 4 4 % 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); 6 6 % 7 8 %recover models 9 m_dh=models.dh; 10 m_dv=models.dv; 11 m_ds=models.ds; 12 m_dhu=models.dhu; 13 m_sl=models.sl; 7 14 8 15 %recover parameters common to all solutions … … 102 109 end 103 110 end 111 112 %load onto results 113 results.u_g=u_g; 114 results.p_g=p_g; -
issm/trunk/src/m/solutions/cielo/loadcontrolfinalsol.m
r915 r922 1 1 function md=loadfinalcontrolsol(md,solution); 2 2 3 if ~isstruct(md.results), md.results=struct(); end 3 if ~isstruct(md.results), 4 if isnan(md.results), 5 md.results=struct(); 6 end 7 end 4 8 md.results.control.vx=solution.vx*md.yts; 5 9 md.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);1 function md=loadresults(md,models,results); 2 2 %LOADRESULTS - load results onto model 3 3 % … … 6 6 % 7 7 % 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) 9 9 10 %recover models 11 m_dh=models.dh; 12 m_ds=models.ds; 13 m_dhu=models.dhu; 14 15 %recover parameters 10 16 debug=m_dhu.parameters.debug; 11 17 dim=m_dhu.parameters.dim; … … 13 19 ismacayealpattyn=m_dh.parameters.ismacayealpattyn; 14 20 isstokes=m_ds.parameters.isstokes; 21 22 %recover results 23 u_g=results.u_g; 24 p_g=results.p_g; 15 25 16 26 if ~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);1 function dof=modelsize(models) 2 2 %DOF - return the maximum number of degrees of freedom of the model 3 3 % 4 4 % Usage: 5 5 % dof=modelsize(m_dh,m_dv,m_ds,m_dhu,m_sl) 6 7 %recover models 8 m_dh=models.dh; 9 m_dv=models.dv; 10 m_ds=models.ds; 11 m_dhu=models.dhu; 12 m_sl=models.sl; 6 13 7 14 dof=0;
Note:
See TracChangeset
for help on using the changeset viewer.