Changeset 877


Ignore:
Timestamp:
06/10/09 10:20:35 (16 years ago)
Author:
seroussi
Message:

fixed bugs in transient3d

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/cielo/transient3d.m

    r851 r877  
    3838solution.step=1;
    3939solution.time=0;
    40 solution.u_g=m_dh.parameters.u_g(dofsetgen([1,2],3,length(m_dh.parameters.u_g)));
     40solution.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)));
    4142solution.p_g=m_p.parameters.p_g;
    4243solution.h_g=m_p.parameters.h_g;
     
    4546solution.t_g=m_p.parameters.t_g;
    4647solution.m_g=m_p.parameters.m_g;
     48solution.a_g=m_p.parameters.a_g;
    4749
    4850%initialize inputs
    4951displaystring(md.debug,'\n%s',['setup inputs...']);
    5052inputs=inputlist;
    51 inputs=add(inputs,'velocity',solution.u_g,'doublevec',2,m_p.parameters.numberofnodes);
     53inputs=add(inputs,'velocity',solution.u_g,'doublevec',3,m_p.parameters.numberofnodes);
    5254inputs=add(inputs,'melting',solution.m_g,'doublevec',1,m_p.parameters.numberofnodes);
    5355inputs=add(inputs,'accumulation',solution.a_g,'doublevec',1,m_p.parameters.numberofnodes);
     
    7577        inputs=add(inputs,'surface',solution(n).s_g,'doublevec',1,m_p.parameters.numberofnodes);
    7678        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);
    7881        inputs=add(inputs,'pressure',solution(n).p_g,'doublevec',1,m_p.parameters.numberofnodes);
    7982        inputs=add(inputs,'temperature',solution(n).t_g,'doublevec',1,m_t.parameters.numberofnodes);
     
    9598
    9699        %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);
    99102        new_thickness=prognostic_core(m_p,inputs,'prognostic','');
    100103
    101104        %update surface and bed using the new thickness
    102         displaystring(md.debug,'   updating geometry...'));
     105        displaystring(md.debug,'\n%s',['    updating geometry...']);
    103106        [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);
    104107
     
    116119
    117120        %update node positions
    118         displaystring(md.debug,'   updating node positions...'));
     121        displaystring(md.debug,'\n%s',['    updating node positions...']);
    119122        nodes_dh=UpdateNodePositions(m_dh.elements,m_dh.nodes,m_dh.loads,m_dh.materials,new_bed,new_thickness);
    120123        nodes_dv=UpdateNodePositions(m_dv.elements,m_dv.nodes,m_dv.loads,m_dv.materials,new_bed,new_thickness);
     
    123126        nodes_p=UpdateNodePositions(m_p.elements,m_p.nodes,m_p.loads,m_p.materials,new_bed,new_thickness);
    124127        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);
    126129
    127130        %update time and counter
     
    135138        results(i).step=solution(i).step;
    136139        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;
    140144        results(i).bed=solution(i).b_g;
    141145        results(i).surface=solution(i).s_g;
Note: See TracChangeset for help on using the changeset viewer.