Changeset 877
- Timestamp:
- 06/10/09 10:20:35 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/cielo/transient3d.m
r851 r877 38 38 solution.step=1; 39 39 solution.time=0; 40 solution.u_g=m_dh.parameters.u_g(dofsetgen([1,2],3,length(m_dh.parameters.u_g))); 40 solution.u_g=m_dh.parameters.u_g; 41 %solution.u_g=m_dh.parameters.u_g(dofsetgen([1,2],3,length(m_dh.parameters.u_g))); 41 42 solution.p_g=m_p.parameters.p_g; 42 43 solution.h_g=m_p.parameters.h_g; … … 45 46 solution.t_g=m_p.parameters.t_g; 46 47 solution.m_g=m_p.parameters.m_g; 48 solution.a_g=m_p.parameters.a_g; 47 49 48 50 %initialize inputs 49 51 displaystring(md.debug,'\n%s',['setup inputs...']); 50 52 inputs=inputlist; 51 inputs=add(inputs,'velocity',solution.u_g,'doublevec', 2,m_p.parameters.numberofnodes);53 inputs=add(inputs,'velocity',solution.u_g,'doublevec',3,m_p.parameters.numberofnodes); 52 54 inputs=add(inputs,'melting',solution.m_g,'doublevec',1,m_p.parameters.numberofnodes); 53 55 inputs=add(inputs,'accumulation',solution.a_g,'doublevec',1,m_p.parameters.numberofnodes); … … 75 77 inputs=add(inputs,'surface',solution(n).s_g,'doublevec',1,m_p.parameters.numberofnodes); 76 78 inputs=add(inputs,'bed',solution(n).b_g,'doublevec',1,m_p.parameters.numberofnodes); 77 inputs=add(inputs,'velocity',solution(n).u_g,'doublevec',m_p.parameters.numberofdofspernodes,m_p.parameters.numberofnodes); 79 inputs=add(inputs,'velocity',solution(n).u_g,'doublevec',3,m_p.parameters.numberofnodes); 80 %inputs=add(inputs,'velocity',solution(n).u_g,'doublevec',m_p.parameters.numberofdofspernode,m_p.parameters.numberofnodes); 78 81 inputs=add(inputs,'pressure',solution(n).p_g,'doublevec',1,m_p.parameters.numberofnodes); 79 82 inputs=add(inputs,'temperature',solution(n).t_g,'doublevec',1,m_t.parameters.numberofnodes); … … 95 98 96 99 %compute new thickness 97 displaystring(md.debug,' computing new thickness...'));98 inputs=add(inputs,'velocity',solution(n+1).u_g,'doublevec', 2,m_p.parameters.numberofnodes);100 displaystring(md.debug,'\n%s',[' computing new thickness...']); 101 inputs=add(inputs,'velocity',solution(n+1).u_g,'doublevec',3,m_p.parameters.numberofnodes); 99 102 new_thickness=prognostic_core(m_p,inputs,'prognostic',''); 100 103 101 104 %update surface and bed using the new thickness 102 displaystring(md.debug,' updating geometry...'));105 displaystring(md.debug,'\n%s',[' updating geometry...']); 103 106 [new_thickness,new_bed,new_surface]=UpdateGeometry(m_p.elements,m_p.nodes,m_p.loads,m_p.materials,m_p.parameters,new_thickness,solution(n).b_g,solution(n).s_g); 104 107 … … 116 119 117 120 %update node positions 118 displaystring(md.debug,' updating node positions...'));121 displaystring(md.debug,'\n%s',[' updating node positions...']); 119 122 nodes_dh=UpdateNodePositions(m_dh.elements,m_dh.nodes,m_dh.loads,m_dh.materials,new_bed,new_thickness); 120 123 nodes_dv=UpdateNodePositions(m_dv.elements,m_dv.nodes,m_dv.loads,m_dv.materials,new_bed,new_thickness); … … 123 126 nodes_p=UpdateNodePositions(m_p.elements,m_p.nodes,m_p.loads,m_p.materials,new_bed,new_thickness); 124 127 nodes_t=UpdateNodePositions(m_t.elements,m_t.nodes,m_t.loads,m_t.materials,new_bed,new_thickness); 125 nodes_m=UpdateNodePositions(m_m.elements,m_m.nodes,m_m.loads,m_m.materials,new_bed,new_ mhickness);128 nodes_m=UpdateNodePositions(m_m.elements,m_m.nodes,m_m.loads,m_m.materials,new_bed,new_thickness); 126 129 127 130 %update time and counter … … 135 138 results(i).step=solution(i).step; 136 139 results(i).time=solution(i).time/yts; 137 results(i).vx=solution(i).u_g(1:2:end)*yts; 138 results(i).vy=solution(i).u_g(2:2:end)*yts; 139 results(i).vel=sqrt(solution(i).u_g(1:2:end).^2+solution(i).u_g(2:2:end).^2)*yts; 140 results(i).vx=solution(i).u_g(1:3:end)*yts; 141 results(i).vy=solution(i).u_g(2:3:end)*yts; 142 results(i).vz=solution(i).u_g(3:3:end)*yts; 143 results(i).vel=sqrt(solution(i).u_g(1:3:end).^2+solution(i).u_g(2:3:end).^2+solution(i).u_g(3:3:end).^2)*yts; 140 144 results(i).bed=solution(i).b_g; 141 145 results(i).surface=solution(i).s_g;
Note:
See TracChangeset
for help on using the changeset viewer.