Changeset 1752


Ignore:
Timestamp:
08/18/09 14:49:38 (15 years ago)
Author:
seroussi
Message:

changed name in solution ice

Location:
issm/trunk/src/m/solutions/ice
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/ice/ModelProcessorDiagnosticHoriz.m

    r1680 r1752  
    159159
    160160%icefront
    161 loads=struct('load',cell(length(md.segmentonneumann_diag),1));
    162 
    163 for i=1:size(md.segmentonneumann_diag,1),
     161loads=struct('load',cell(length(md.pressureload),1));
     162
     163for i=1:size(md.pressureload,1),
    164164
    165165        if strcmpi(md.type,'3d'),
    166                 if md.elements_type(md.segmentonneumann_diag(i,end))==MacAyealFormulationEnum(),
     166                if md.elements_type(md.pressureload(i,end))==MacAyealFormulationEnum(),
    167167                        loads(i).load=icefront;
    168                         loads(i).load.eid=find(el6pos==md.segmentonneumann_diag(i,end));
    169                         loads(i).load.g(1)=md.segmentonneumann_diag(i,1);
    170                         loads(i).load.g(2)=md.segmentonneumann_diag(i,2);
     168                        loads(i).load.eid=find(el6pos==md.pressureload(i,end));
     169                        loads(i).load.g(1)=md.pressureload(i,1);
     170                        loads(i).load.g(2)=md.pressureload(i,2);
    171171                        loads(i).load.rho_water=md.rho_water;
    172172                        loads(i).load.type='segment';
    173173
    174                 elseif md.elements_type(md.segmentonneumann_diag(i,end))==PattynFormulationEnum(),
     174                elseif md.elements_type(md.pressureload(i,end))==PattynFormulationEnum(),
    175175                        %build a quad ice front for the penta element
    176176                        loads(i).load=icefront;
    177                         loads(i).load.eid=find(el6pos==md.segmentonneumann_diag(i,end));
    178                         loads(i).load.g(1)=md.segmentonneumann_diag(i,1);
    179                         loads(i).load.g(2)=md.segmentonneumann_diag(i,2);
    180                         loads(i).load.g(3)=md.segmentonneumann_diag(i,3);
    181                         loads(i).load.g(4)=md.segmentonneumann_diag(i,4);
     177                        loads(i).load.eid=find(el6pos==md.pressureload(i,end));
     178                        loads(i).load.g(1)=md.pressureload(i,1);
     179                        loads(i).load.g(2)=md.pressureload(i,2);
     180                        loads(i).load.g(3)=md.pressureload(i,3);
     181                        loads(i).load.g(4)=md.pressureload(i,4);
    182182                        loads(i).load.type='quad';
    183183
    184184                else
    185                         if ~(md.elements_type(md.segmentonneumann_diag(i,end))==HutterFormulationEnum()),
     185                        if ~(md.elements_type(md.pressureload(i,end))==HutterFormulationEnum()),
    186186                                error('diagnostic error message: unsupported  element type');
    187187                        end
    188188                end
    189189        else
    190                 if md.elements_type(md.segmentonneumann_diag(i,end))==MacAyealFormulationEnum(),
     190                if md.elements_type(md.pressureload(i,end))==MacAyealFormulationEnum(),
    191191                        loads(i).load=icefront;
    192                         loads(i).load.eid=find(el3pos==md.segmentonneumann_diag(i,end));
    193                         loads(i).load.g(1)=md.segmentonneumann_diag(i,1);
    194                         loads(i).load.g(2)=md.segmentonneumann_diag(i,2);
     192                        loads(i).load.eid=find(el3pos==md.pressureload(i,end));
     193                        loads(i).load.g(1)=md.pressureload(i,1);
     194                        loads(i).load.g(2)=md.pressureload(i,2);
    195195                        loads(i).load.rho_water=md.rho_water;
    196196                        loads(i).load.type='segment';
    197197
    198198                else
    199                         if ~(md.elements_type(md.segmentonneumann_diag(i,end))==HutterFormulationEnum()),
     199                        if ~(md.elements_type(md.pressureload(i,end))==HutterFormulationEnum()),
    200200                                error('diagnostic error message: unsupported  element type');
    201201                        end
     
    207207
    208208%Initialize constraints structure
    209 constraints=struct('constraint',cell(2*length(find(md.gridondirichlet_diag)),1));
     209constraints=struct('constraint',cell(length(find(md.spcvelocity(:,1)))+length(find(md.spcvelocity(:,2))),1));
    210210
    211211count=1;
     
    228228                count=count+1;
    229229
    230         elseif (md.gridonmacayeal(i) | md.gridonpattyn(i)) &  md.gridondirichlet_diag(i),
    231 
    232                 %constrain first dof
    233                 constraints(count).constraint=spc;
    234                 constraints(count).constraint.grid=i;
    235                 constraints(count).constraint.dof=1;
    236                 constraints(count).constraint.value=md.dirichletvalues_diag(i,1)/md.yts; %in m/s
    237                 count=count+1;
    238 
    239                 %constrain second dof
    240                 constraints(count).constraint=spc;
    241                 constraints(count).constraint.grid=i;
    242                 constraints(count).constraint.dof=2;
    243                 constraints(count).constraint.value=md.dirichletvalues_diag(i,2)/md.yts; %in m/s
    244                 count=count+1;
     230        else
     231                if (md.gridonmacayeal(i) | md.gridonpattyn(i)) &  md.spcvelocity(i,1),
     232                        %constrain first dof
     233                        constraints(count).constraint=spc;
     234                        constraints(count).constraint.grid=i;
     235                        constraints(count).constraint.dof=1;
     236                        constraints(count).constraint.value=md.spcvelocity(i,4)/md.yts; %in m/s
     237                        count=count+1;
     238                end
     239
     240                if (md.gridonmacayeal(i) | md.gridonpattyn(i)) &  md.spcvelocity(i,2),
     241                        %constrain second dof
     242                        constraints(count).constraint=spc;
     243                        constraints(count).constraint.grid=i;
     244                        constraints(count).constraint.dof=2;
     245                        constraints(count).constraint.value=md.spcvelocity(i,5)/md.yts; %in m/s
     246                        count=count+1;
     247                end
    245248        end
    246249end
  • issm/trunk/src/m/solutions/ice/ModelProcessorDiagnosticStokes.m

    r1680 r1752  
    107107
    108108%icefront
    109 if isnan(md.segmentonneumann_diag_stokes),
    110         segmentonneumann_diag_stokes=[];
     109if isnan(md.pressureload_stokes),
     110        pressureload_stokes=[];
    111111else
    112         segmentonneumann_diag_stokes=md.segmentonneumann_diag_stokes;
     112        pressureload_stokes=md.pressureload_stokes;
    113113end
    114 length_segmentonneumann_diag_stokes= size(segmentonneumann_diag_stokes,1);
    115 loads=struct('load',cell(length_segmentonneumann_diag_stokes,1));
     114length_pressureload_stokes= size(pressureload_stokes,1);
     115loads=struct('load',cell(length_pressureload_stokes,1));
    116116
    117 for i=1:length_segmentonneumann_diag_stokes,
     117for i=1:length_pressureload_stokes,
    118118
    119119        %build a quad ice front for the penta element
    120120        loads(i).load=icefront;
    121         loads(i).load.eid=find(segmentonneumann_diag_stokes(i,end)==find(md.elements_type(:,2)==StokesFormulationEnum())); %elements contain only stokes elements, so we have to renumbered
    122         loads(i).load.g(1)=segmentonneumann_diag_stokes(i,1);
    123         loads(i).load.g(2)=segmentonneumann_diag_stokes(i,2);
    124         loads(i).load.g(3)=segmentonneumann_diag_stokes(i,3);
    125         loads(i).load.g(4)=segmentonneumann_diag_stokes(i,4);
     121        loads(i).load.eid=find(pressureload_stokes(i,end)==find(md.elements_type(:,2)==StokesFormulationEnum())); %elements contain only stokes elements, so we have to renumbered
     122        loads(i).load.g(1)=pressureload_stokes(i,1);
     123        loads(i).load.g(2)=pressureload_stokes(i,2);
     124        loads(i).load.g(3)=pressureload_stokes(i,3);
     125        loads(i).load.g(4)=pressureload_stokes(i,4);
    126126        loads(i).load.rho_water=md.rho_water;
    127127        loads(i).load.type='quad';
     
    144144
    145145%Single point constraints:
    146 spcs=find(md.gridondirichlet_diag);
     146spcs=find(md.spcvelocity(:,1));
    147147constraints=struct('constraint',cell(3*length(spcs),1));
    148148
  • issm/trunk/src/m/solutions/ice/ModelProcessorPrognostic.m

    r1680 r1752  
    9595
    9696%Initialize constraints structure
    97 constraints=struct('constraint',cell(length(find(md.gridondirichlet_prog)),1));
     97constraints=struct('constraint',cell(length(find(md.spcthickness(:,1))),1));
    9898
    99 pos=find(md.gridondirichlet_prog);
     99pos=find(md.spcthickness(:,1));
    100100count=1;
    101 for i=1:length(find(md.gridondirichlet_prog)),
     101for i=1:length(find(md.spcthickness(:,1))),
    102102
    103103                %constrain the thickness
     
    105105                constraints(count).constraint.grid=pos(i);
    106106                constraints(count).constraint.dof=1;
    107                 constraints(count).constraint.value=md.dirichletvalues_prog(pos(i)); %in m
     107                constraints(count).constraint.value=md.spcthickness(pos(i),2); %in m
    108108                count=count+1;
    109109end
  • issm/trunk/src/m/solutions/ice/ModelProcessorThermal.m

    r1680 r1752  
    102102count=1;
    103103for i=1:md.numberofgrids,
    104         if ~md.gridondirichlet_thermal(i),  %No penalty applied on spc grids!
     104        if ~md.spctemperature(i,1),  %No penalty applied on spc grids!
    105105                pengridobject=pengrid;
    106106                pengridobject.id=count;
     
    121121
    122122%Single point constraints:
    123 spcs=find(md.gridondirichlet_thermal);
     123spcs=find(md.spctemperature(:,1));
    124124constraints=struct('constraint',cell(length(spcs),1));
    125125
    126126count=1;
    127127for i=1:md.numberofgrids,
    128         if md.gridondirichlet_thermal(i),
     128        if md.spctemperature(i,1),
    129129                constraints(count).constraint=spc;
    130130                constraints(count).constraint.grid=i;
    131131                constraints(count).constraint.dof=1;
    132                 constraints(count).constraint.value=md.dirichletvalues_thermal(i,1);
     132                constraints(count).constraint.value=md.spctemperature(i,2);
    133133                count=count+1;
    134134        end
  • issm/trunk/src/m/solutions/ice/VelocityExtrude.m

    r648 r1752  
    1313        %Find list of 2d grids that belong to the collapsed macayeal elements.
    1414        %And remove grids on the border.
    15         %These grids are on macayeal but not on pattyn nor hutter nor dirichlet
     15        %These grids are on macayeal but not on pattyn nor hutter nor spc
    1616        grids2d=md.gridonmacayeal(1:md.numberofgrids2d);%  & ~(md.gridonhutter(1:md.numberofgrids2d) | md.gridonpattyn(1:md.numberofgrids2d) | md.gridondirichlet_diag(1:md.numberofgrids2d));
    1717       
  • issm/trunk/src/m/solutions/ice/diagnostic3d.m

    r1040 r1752  
    6868inputs.velocity_average=velocity_average;
    6969
    70 %update dirichlet boundary conditions with these new base vertical velocities
     70%update spc boundary conditions with these new base vertical velocities
    7171m_dv=fem.m_dv;
    7272gridset=m_dv.gridset;
     
    105105        inputs.velocity=u_g;
    106106
    107         %update dirichlet boundary conditions with the velocities computed previously
     107        %update spc boundary conditions with the velocities computed previously
    108108        gridset=m_ds.gridset;
    109109        m_ds.y_g=u_g; m_ds.ys=Reducevector_g(m_ds.y_g);
Note: See TracChangeset for help on using the changeset viewer.