Changeset 9691


Ignore:
Timestamp:
09/08/11 14:08:39 (14 years ago)
Author:
Mathieu Morlighem
Message:

Added geometry

Location:
issm/trunk
Files:
2 added
88 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9681 r9691  
    136136        DiagnosticNumRequestedOutputsEnum,
    137137        DiagnosticViscosityOvershootEnum,
     138        GeometryHydrostaticRatioEnum,
     139        ThicknessEnum,
     140        BedEnum,
     141        BathymetryEnum,
     142        SurfaceEnum,
    138143        /*}}}*/
    139144        /*Datasets {{{1*/
     
    281286        AdjointzEnum,
    282287        AdjointpEnum,
    283         BedEnum,
    284         BathymetryEnum,
    285288        BedSlopeXEnum,
    286289        BedSlopeYEnum,
     
    317320        SegmentOnIceShelfEnum,
    318321        SurfaceAreaEnum,
    319         SurfaceEnum,
    320322        SurfaceSlopeXEnum,
    321323        SurfaceSlopeYEnum,
     
    323325        TemperaturePicardEnum,
    324326        TemperatureOldEnum,
    325         ThicknessEnum,
    326         ThicknessCoeffEnum,
    327327        TypeEnum,
    328328        VelEnum,
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9681 r9691  
    140140                case DiagnosticNumRequestedOutputsEnum : return "DiagnosticNumRequestedOutputs";
    141141                case DiagnosticViscosityOvershootEnum : return "DiagnosticViscosityOvershoot";
     142                case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio";
     143                case ThicknessEnum : return "Thickness";
     144                case BedEnum : return "Bed";
     145                case BathymetryEnum : return "Bathymetry";
     146                case SurfaceEnum : return "Surface";
    142147                case ConstraintsEnum : return "Constraints";
    143148                case ElementsEnum : return "Elements";
     
    248253                case AdjointzEnum : return "Adjointz";
    249254                case AdjointpEnum : return "Adjointp";
    250                 case BedEnum : return "Bed";
    251                 case BathymetryEnum : return "Bathymetry";
    252255                case BedSlopeXEnum : return "BedSlopeX";
    253256                case BedSlopeYEnum : return "BedSlopeY";
     
    284287                case SegmentOnIceShelfEnum : return "SegmentOnIceShelf";
    285288                case SurfaceAreaEnum : return "SurfaceArea";
    286                 case SurfaceEnum : return "Surface";
    287289                case SurfaceSlopeXEnum : return "SurfaceSlopeX";
    288290                case SurfaceSlopeYEnum : return "SurfaceSlopeY";
     
    290292                case TemperaturePicardEnum : return "TemperaturePicard";
    291293                case TemperatureOldEnum : return "TemperatureOld";
    292                 case ThicknessEnum : return "Thickness";
    293                 case ThicknessCoeffEnum : return "ThicknessCoeff";
    294294                case TypeEnum : return "Type";
    295295                case VelEnum : return "Vel";
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp

    r9681 r9691  
    4949        /*Create inputs: */
    5050        iomodel->FetchDataToInput(elements,ThicknessEnum);
    51         iomodel->FetchDataToInput(elements,ThicknessCoeffEnum);
     51        iomodel->FetchDataToInput(elements,GeometryHydrostaticRatioEnum);
    5252        iomodel->FetchDataToInput(elements,SurfaceEnum);
    5353        iomodel->FetchDataToInput(elements,BedEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp

    r9661 r9691  
    4040       
    4141        iomodel->FetchDataToInput(elements,ThicknessEnum);
    42         iomodel->FetchDataToInput(elements,ThicknessCoeffEnum);
     42        iomodel->FetchDataToInput(elements,GeometryHydrostaticRatioEnum);
    4343       
    4444        /*Free data: */
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp

    r9641 r9691  
    4040
    4141        iomodel->FetchDataToInput(elements,ThicknessEnum);
    42         iomodel->FetchDataToInput(elements,ThicknessCoeffEnum);
     42        iomodel->FetchDataToInput(elements,GeometryHydrostaticRatioEnum);
    4343        iomodel->FetchDataToInput(elements,SurfaceEnum);
    4444        iomodel->FetchDataToInput(elements,BedEnum);
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9681 r9691  
    138138        else if (strcmp(name,"DiagnosticNumRequestedOutputs")==0) return DiagnosticNumRequestedOutputsEnum;
    139139        else if (strcmp(name,"DiagnosticViscosityOvershoot")==0) return DiagnosticViscosityOvershootEnum;
     140        else if (strcmp(name,"GeometryHydrostaticRatio")==0) return GeometryHydrostaticRatioEnum;
     141        else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
     142        else if (strcmp(name,"Bed")==0) return BedEnum;
     143        else if (strcmp(name,"Bathymetry")==0) return BathymetryEnum;
     144        else if (strcmp(name,"Surface")==0) return SurfaceEnum;
    140145        else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
    141146        else if (strcmp(name,"Elements")==0) return ElementsEnum;
     
    246251        else if (strcmp(name,"Adjointz")==0) return AdjointzEnum;
    247252        else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
    248         else if (strcmp(name,"Bed")==0) return BedEnum;
    249         else if (strcmp(name,"Bathymetry")==0) return BathymetryEnum;
    250253        else if (strcmp(name,"BedSlopeX")==0) return BedSlopeXEnum;
    251254        else if (strcmp(name,"BedSlopeY")==0) return BedSlopeYEnum;
     
    282285        else if (strcmp(name,"SegmentOnIceShelf")==0) return SegmentOnIceShelfEnum;
    283286        else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;
    284         else if (strcmp(name,"Surface")==0) return SurfaceEnum;
    285287        else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
    286288        else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
     
    288290        else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
    289291        else if (strcmp(name,"TemperatureOld")==0) return TemperatureOldEnum;
    290         else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
    291         else if (strcmp(name,"ThicknessCoeff")==0) return ThicknessCoeffEnum;
    292292        else if (strcmp(name,"Type")==0) return TypeEnum;
    293293        else if (strcmp(name,"Vel")==0) return VelEnum;
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r9681 r9691  
    64856485                                        double  thickness[6];
    64866486                                        double  thickness_init[6];
    6487                                         double  thickness_coeff[6];
     6487                                        double  hydrostatic_ratio[6];
    64886488                                        double  surface[6];
    64896489                                        double  bed[6];
     
    64916491                                        /*retrieve inputs: */
    64926492                                        GetParameterListOnVertices(&thickness_init[0],ThicknessEnum);
    6493                                         GetParameterListOnVertices(&thickness_coeff[0],ThicknessCoeffEnum);
     6493                                        GetParameterListOnVertices(&hydrostatic_ratio[0],GeometryHydrostaticRatioEnum);
    64946494                                        GetParameterListOnVertices(&bed[0],BedEnum);
    64956495                                        GetParameterListOnVertices(&surface[0],SurfaceEnum);
     
    65106510                                                for (j=0; j<6; j++) {
    65116511                                                /*  for observed/interpolated/hydrostatic thickness, remove scaling from any hydrostatic thickness  */
    6512                                                         if     (thickness_coeff[j] >= 0.)
    6513                                                                 thickness[j]=values[j]-(values[j]/thickness_init[j]-1.)*thickness_coeff[j]*surface[j]/(1.-di);
     6512                                                        if     (hydrostatic_ratio[j] >= 0.)
     6513                                                                thickness[j]=values[j]-(values[j]/thickness_init[j]-1.)*hydrostatic_ratio[j]*surface[j]/(1.-di);
    65146514                                                /*  for minimum thickness, don't scale  */
    65156515                                                        else
     
    65316531                                                for (j=0; j<6; j++) {
    65326532                                                /*  for observed thickness, use scaled value  */
    6533                                                         if     (thickness_coeff[j] >= 0.)
     6533                                                        if(hydrostatic_ratio[j] >= 0.)
    65346534                                                                thickness[j]=values[j];
    65356535                                                /*  for minimum thickness, don't scale  */
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r9681 r9691  
    37773777                                        double  thickness[3];
    37783778                                        double  thickness_init[3];
    3779                                         double  thickness_coeff[3];
     3779                                        double  hydrostatic_ratio[3];
    37803780                                        double  surface[3];
    37813781                                        double  bed[3];
     
    37833783                                        /*retrieve inputs: */
    37843784                                        GetParameterListOnVertices(&thickness_init[0],ThicknessEnum);
    3785                                         GetParameterListOnVertices(&thickness_coeff[0],ThicknessCoeffEnum);
     3785                                        GetParameterListOnVertices(&hydrostatic_ratio[0],GeometryHydrostaticRatioEnum);
    37863786                                        GetParameterListOnVertices(&bed[0],BedEnum);
    37873787                                        GetParameterListOnVertices(&surface[0],SurfaceEnum);
     
    38023802                                                for (j=0; j<3; j++) {
    38033803                                                /*  for observed/interpolated/hydrostatic thickness, remove scaling from any hydrostatic thickness  */
    3804                                                         if     (thickness_coeff[j] >= 0.)
    3805                                                                 thickness[j]=values[j]-(values[j]/thickness_init[j]-1.)*thickness_coeff[j]*surface[j]/(1.-di);
     3804                                                        if     (hydrostatic_ratio[j] >= 0.)
     3805                                                                thickness[j]=values[j]-(values[j]/thickness_init[j]-1.)*hydrostatic_ratio[j]*surface[j]/(1.-di);
    38063806                                                /*  for minimum thickness, don't scale  */
    38073807                                                        else
     
    38233823                                                for (j=0; j<3; j++) {
    38243824                                                /*  for observed thickness, use scaled value  */
    3825                                                         if     (thickness_coeff[j] >= 0.)
     3825                                                        if (hydrostatic_ratio[j] >= 0.)
    38263826                                                                thickness[j]=values[j];
    38273827                                                /*  for minimum thickness, don't scale  */
  • issm/trunk/src/m/classes/model/model.m

    r9685 r9691  
    3838                 diagnostic       = modelfield('default',0,'marshall',true);
    3939                 initialization   = modelfield('default',0,'marshall',true);
     40                 geometry         = modelfield('default',0,'marshall',true);
    4041
    4142                 %FIXME: all other fields should belong to other classes
     
    8687                 extractednodes    = modelfield('default',NaN,'marshall',false);
    8788                 extractedelements = modelfield('default',NaN,'marshall',false);
    88 
    89                  %Materials parameters
    90 
    91                  %Geometrical parameters
    92                  surface           = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    93                  thickness         = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    94                  thickness_coeff   = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    95                  bed               = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    96                  bathymetry        = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    9789
    9890                 %Boundary conditions
     
    351343                         if isfield(structmd,'waterfraction'), md.initialization.waterfraction=structmd.waterfraction; end
    352344                         if isfield(structmd,'watercolumn'), md.initialization.watercolumn=structmd.watercolumn; end
     345                         if isfield(structmd,'surface'), md.geometry.surface=structmd.surface; end
     346                         if isfield(structmd,'bed'), md.geometry.bed=structmd.bed; end
     347                         if isfield(structmd,'bathymetry'), md.geometry.bathymetry=structmd.bathymetry; end
     348                         if isfield(structmd,'thickness_coeff'), md.geometry.hydrostatic_ratio=structmd.thickness_coeff; end
    353349
    354350                         %Field changes
     
    478474                         md.inversion        = inversion;
    479475                         md.transient        = transient;
    480                          md.diagnostic       =diagnostic;
    481                          md.initialization   =initialization;
     476                         md.diagnostic       = diagnostic;
     477                         md.initialization   = initialization;
     478                         md.geometry         = geometry;
    482479
    483480                         %Solver parameters
  • issm/trunk/src/m/model/DepthAverage.m

    r9684 r9691  
    1919                vector_average=vector_average+(project2d(md,vector,i)+project2d(md,vector,i+1))/2.*(project2d(md,md.z,i+1)-project2d(md,md.z,i));
    2020        end
    21         vector_average=vector_average./project2d(md,md.thickness,1);
     21        vector_average=vector_average./project2d(md,md.geometry.thickness,1);
    2222
    2323%element data
     
    2727                vector_average=vector_average+project2d(md,vector,i).*(project2d(md,md.z,i+1)-project2d(md,md.z,i));
    2828        end
    29         vector_average=vector_average./project2d(md,md.thickness,1);
     29        vector_average=vector_average./project2d(md,md.geometry.thickness,1);
    3030
    3131else
  • issm/trunk/src/m/model/SectionValues.m

    r8298 r9691  
    9494        %Get bed and surface for each 2d point, offset to make sure that it is inside the glacier system
    9595        offset=10^-3;
    96         bed=InterpFromMeshToMesh2d(md.elements2d,md.x2d,md.y2d,project2d(md,md.bed,1),X,Y)+offset;
    97         surface=InterpFromMeshToMesh2d(md.elements2d,md.x2d,md.y2d,project2d(md,md.surface,1),X,Y)-offset;
     96        bed=InterpFromMeshToMesh2d(md.elements2d,md.x2d,md.y2d,project2d(md,md.geometry.bed,1),X,Y)+offset;
     97        surface=InterpFromMeshToMesh2d(md.elements2d,md.x2d,md.y2d,project2d(md,md.geometry.surface,1),X,Y)-offset;
    9898
    9999        %Some useful parameters
    100         layers=ceil(mean(md.thickness)/res_v);
     100        layers=ceil(mean(md.geometry.thickness)/res_v);
    101101        nodesperlayer=numberofnodes;
    102102        nodestot=nodesperlayer*layers;
  • issm/trunk/src/m/model/ThicknessCorrection.m

    r9641 r9691  
    1818
    1919%initialize thickness with the observations, and get hydrostatic thickness from the dem
    20 thickness=md.thickness;
    21 thickness_hydro=md.surface/(1-md.materials.rho_ice/md.materials.rho_water);
    22 thickness_coeff=zeros(size(md.thickness));
     20thickness=md.geometry.thickness;
     21thickness_hydro=md.geometry.surface/(1-md.materials.rho_ice/md.materials.rho_water);
     22hydrostatic_ratio=zeros(size(md.geometry.thickness));
    2323
    2424%get nodes on ice sheet and on ice shelf
     
    5353
    5454                %if d > 15km, hydrostatic equilibrium
    55                 thickness_coeff(pos_shelf(i))=1;
     55                hydrostatic_ratio(pos_shelf(i))=1;
    5656                thickness(pos_shelf(i))=thickness_hydro(pos_shelf(i));
    5757
     
    5959
    6060                %else: quadratic combination of hydrostatic equilibrium and observations
    61                 thickness_coeff(pos_shelf(i))=(d/distance)^2;
    62                 thickness(pos_shelf(i))=(1-thickness_coeff(pos_shelf(i)))*thickness(pos_shelf(i))+thickness_coeff(pos_shelf(i))*thickness_hydro(pos_shelf(i));
     61                hydrostatic_ratio(pos_shelf(i))=(d/distance)^2;
     62                thickness(pos_shelf(i))=(1-hydrostatic_ratio(pos_shelf(i)))*thickness(pos_shelf(i))+hydrostatic_ratio(pos_shelf(i))*thickness_hydro(pos_shelf(i));
    6363
    6464        end
     
    7070pos=find(isnan(thickness) | (thickness<=0));
    7171thickness(pos)=minth;
    72 thickness_coeff(pos)=-1;
     72hydrostatic_ratio(pos)=-1;
    7373
    7474%change bed to take into account the changes in thickness
    75 md.thickness=thickness;
    76 md.thickness_coeff=thickness_coeff;
    77 md.bed=md.surface-md.thickness;
     75md.geometry.thickness=thickness;
     76md.geometry.hydrostatic_ratio=hydrostatic_ratio;
     77md.geometry.bed=md.geometry.surface-md.geometry.thickness;
  • issm/trunk/src/m/model/bamg.m

    r9681 r9691  
    4646%   Examples:
    4747%      md=bamg(md,'domain','DomainOutline.exp','hmax',3000);
    48 %      md=bamg(md,'field',[md.inversion.vel_obs md.thickness],'hmax',20000,'hmin',1000);
     48%      md=bamg(md,'field',[md.inversion.vel_obs md.geometry.thickness],'hmax',20000,'hmin',1000);
    4949%      md=bamg(md,'metric',A,'hmin',1000,'hmax',20000,'gradation',3,'anisomax',1);
    5050
  • issm/trunk/src/m/model/basalstress.m

    r9684 r9691  
    1818
    1919%compute basal drag
    20 bx=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;
    21 by=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;
    22 b=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;
     20bx=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;
     21by=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;
     22b=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;
  • issm/trunk/src/m/model/basevert.m

    r9684 r9691  
    2020end
    2121
    22 hu=md.thickness.*md.initialization.vx;
    23 hv=md.thickness.*md.initialization.vy;
     22hu=md.geometry.thickness.*md.initialization.vx;
     23hv=md.geometry.thickness.*md.initialization.vy;
    2424
    2525summation=[1;1;1];
     
    3030velem=md.initialization.vy(md.elements)*summation/3;
    3131
    32 dbdx=(md.bed(md.elements).*alpha)*summation;
    33 dbdy=(md.bed(md.elements).*beta)*summation;
     32dbdx=(md.geometry.bed(md.elements).*alpha)*summation;
     33dbdy=(md.geometry.bed(md.elements).*beta)*summation;
    3434
    3535wb=-md.materials.rho_ice/md.materials.rho_water*(hux+hvy)+uelem.*dbdx+velem.*dbdy;
  • issm/trunk/src/m/model/bedslope.m

    r9451 r9691  
    2222
    2323summation=[1;1;1];
    24 bx=(md.bed(index).*alpha)*summation;
    25 by=(md.bed(index).*beta)*summation;
     24bx=(md.geometry.bed(index).*alpha)*summation;
     25by=(md.geometry.bed(index).*beta)*summation;
    2626b=sqrt(bx.^2+by.^2);
    2727
  • issm/trunk/src/m/model/collapse.m

    r9684 r9691  
    8080
    8181%parameters
    82 md.surface=project2d(md,md.surface,1);
    83 md.thickness=project2d(md,md.thickness,1);
    84 md.bed=project2d(md,md.bed,1);
     82md.geometry.surface=project2d(md,md.geometry.surface,1);
     83md.geometry.thickness=project2d(md,md.geometry.thickness,1);
     84md.geometry.bed=project2d(md,md.geometry.bed,1);
    8585md.nodeonboundary=project2d(md,md.nodeonboundary,1);
    8686md.mask.elementonfloatingice=project2d(md,md.mask.elementonfloatingice,1);
  • issm/trunk/src/m/model/contourmassbalance.m

    r9684 r9691  
    3030vx=mean(md.initialization.vx(segments(:,1:end-1)),2);
    3131vy=mean(md.initialization.vy(segments(:,1:end-1)),2);
    32 H=mean(md.thickness(segments(:,1:end-1)),2);
     32H=mean(md.geometry.thickness(segments(:,1:end-1)),2);
    3333nx=cos(atan2((x(segments(:,1))-x(segments(:,2))) , (y(segments(:,2))-y(segments(:,1)))));
    3434ny=sin(atan2((x(segments(:,1))-x(segments(:,2))) , (y(segments(:,2))-y(segments(:,1)))));
  • issm/trunk/src/m/model/drivingstress.m

    r9636 r9691  
    1212
    1313%Average thickness over elements
    14 thickness_bar=(md.thickness(md.elements(:,1))+md.thickness(md.elements(:,2))+md.thickness(md.elements(:,3)))/3;
     14thickness_bar=(md.geometry.thickness(md.elements(:,1))+md.geometry.thickness(md.elements(:,2))+md.geometry.thickness(md.elements(:,3)))/3;
    1515
    1616px=md.materials.rho_ice*md.constants.g*thickness_bar.*sx;
  • issm/trunk/src/m/model/effectivepressure.m

    r9636 r9691  
    88%      Neff=effectivepressure(md)
    99
    10 Neff=md.materials.rho_ice*md.constants.g*md.thickness+md.materials.rho_ice*md.constants.g*md.bed;
     10Neff=md.materials.rho_ice*md.constants.g*md.geometry.thickness+md.materials.rho_ice*md.constants.g*md.geometry.bed;
    1111pos=find(Neff<0);
    1212Neff(pos)=0;
  • issm/trunk/src/m/model/extrude.m

    r9684 r9691  
    6767y3d=[];
    6868z3d=[];  %the lower node is on the bed
    69 thickness3d=md.thickness; %thickness and bed for these nodes
    70 bed3d=md.bed;
     69thickness3d=md.geometry.thickness; %thickness and bed for these nodes
     70bed3d=md.geometry.bed;
    7171
    7272%Create the new layers
     
    197197
    198198%parameters
    199 md.surface=project3d(md,'vector',md.surface,'type','node');
    200 md.thickness=project3d(md,'vector',md.thickness,'type','node');
    201 md.thickness_coeff=project3d(md,'vector',md.thickness_coeff,'type','node');
    202 md.bed=project3d(md,'vector',md.bed,'type','node');
    203 md.bathymetry=project3d(md,'vector',md.bathymetry,'type','node');
     199md.geometry.surface=project3d(md,'vector',md.geometry.surface,'type','node');
     200md.geometry.thickness=project3d(md,'vector',md.geometry.thickness,'type','node');
     201md.geometry.hydrostatic_ratio=project3d(md,'vector',md.geometry.hydrostatic_ratio,'type','node');
     202md.geometry.bed=project3d(md,'vector',md.geometry.bed,'type','node');
     203md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node');
    204204md.nodeonboundary=project3d(md,'vector',md.nodeonboundary,'type','node');
    205205md.mask.elementonfloatingice=project3d(md,'vector',md.mask.elementonfloatingice,'type','element');
     
    213213%Put lithostatic pressure is there is an existing pressure
    214214if ~isnan(md.initialization.pressure),
    215         md.initialization.pressure=md.constants.g*md.materials.rho_ice*(md.surface-md.z);
     215        md.initialization.pressure=md.constants.g*md.materials.rho_ice*(md.geometry.surface-md.z);
    216216end
    217217
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r9684 r9691  
    8383%NO NAN {{{1
    8484fields={'numberofelements','numberofnodes','x','y','z','friction.coefficient','friction.p','friction.q',...
    85         'materials.rho_ice','materials.rho_water','materials.rheology_B','mask.elementonfloatingice','surface','thickness','bed','constants.g','settings.lowmem','inversion.nsteps','inversion.maxiter_per_step',...
     85        'materials.rho_ice','materials.rho_water','materials.rheology_B','mask.elementonfloatingice','geometry.surface','geometry.thickness','geometry.bed','constants.g','settings.lowmem','inversion.nsteps','inversion.maxiter_per_step',...
    8686        'diagnostic.restol','diagnostic.maxiter','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'};
    8787checknan(md,fields);
     
    8989%FIELDS >= 0 {{{1
    9090fields={'numberofelements','numberofnodes','elements','friction.coefficient','friction.p','friction.q',...
    91         'materials.rho_ice','materials.rho_water','materials.rheology_B','mask.elementonfloatingice','thickness','constants.g','diagnostic.restol','diagnostic.maxiter','diagnostic.reltol',...
     91        'materials.rho_ice','materials.rho_water','materials.rheology_B','mask.elementonfloatingice','geometry.thickness','constants.g','diagnostic.restol','diagnostic.maxiter','diagnostic.reltol',...
    9292        'diagnostic.abstol','inversion.nsteps','inversion.maxiter_per_step',...
    9393        'settings.lowmem','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'};
     
    9696%FIELDS > 0 {{{1
    9797fields={'numberofelements','numberofnodes','elements','friction.p',...
    98         'materials.rho_ice','materials.rho_water','materials.rheology_B','thickness','constants.g','diagnostic.maxiter','diagnostic.restol','diagnostic.reltol','diagnostic.abstol','inversion.maxiter_per_step'};
     98        'materials.rho_ice','materials.rho_water','materials.rheology_B','geometry.thickness','constants.g','diagnostic.maxiter','diagnostic.restol','diagnostic.reltol','diagnostic.abstol','inversion.maxiter_per_step'};
    9999checkgreaterstrict(md,fields,0);
    100100%}}}
     
    104104%}}}
    105105%SIZE NUMBEROFNODES {{{1
    106 fields={'x','y','z','materials.rheology_B','friction.coefficient','basalforcings.melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};
     106fields={'x','y','z','materials.rheology_B','friction.coefficient','basalforcings.melting_rate','geometry.surface','geometry.thickness','geometry.bed','nodeonbed','nodeonsurface'};
    107107checksize(md,fields,[md.numberofnodes 1]);
    108108%}}}
     
    117117%}}}
    118118%THICKNESS = SURFACE - BED {{{1
    119 if any((md.thickness-md.surface+md.bed)>tolerance),
     119if any((md.geometry.thickness-md.geometry.surface+md.geometry.bed)>tolerance),
    120120        message(['model not consistent: model ' md.miscellaneous.name ' violates the equality thickness=surface-bed!']);
    121121end
     
    128128                message(['model ' md.miscellaneous.name ' requesting grounding line migration, but grounding line module only implemented for 2d models and parallel runs!']);
    129129        end
    130         if isnan(md.bathymetry),
     130        if isnan(md.geometry.bathymetry),
    131131                message(['model not consistent: model ' md.miscellaneous.name ' requesting grounding line migration, but bathymetry is absent!']);
    132132        end
    133133        pos=find(md.mask.vertexongroundedice);
    134         if any(md.bed(pos)-md.bathymetry(pos)),
     134        if any(md.geometry.bed(pos)-md.geometry.bathymetry(pos)),
    135135                message(['model not consistent: model ' md.miscellaneous.name ' bathymetry not equal to bed on grounded ice !']);
    136136        end
    137137        pos=find(md.mask.vertexonfloatingice);
    138         if any(md.bathymetry(pos)-md.bed(pos)>tolerance),
     138        if any(md.geometry.bathymetry(pos)-md.geometry.bed(pos)>tolerance),
    139139                message(['model not consistent: model ' md.miscellaneous.name ' bathymetry superior to bed on floating ice !']);
    140140        end
     
    244244
    245245        %DIRICHLET IF THICKNESS <= 0
    246         if any(md.thickness<=0),
    247                 pos=find(md.thickness<=0);
     246        if any(md.geometry.thickness<=0),
     247                pos=find(md.geometry.thickness<=0);
    248248                if any(isnan(md.balancethickness.spcthickness(pos))),
    249249                        message(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']);
     
    468468                        %DIRICHLET IF THICKNESS <= 0
    469469                        %Check the size of prognostic.spcthickness
    470                         if any(md.thickness<=0),
    471                                 pos=find(md.thickness<=0);
     470                        if any(md.geometry.thickness<=0),
     471                                pos=find(md.geometry.thickness<=0);
    472472                                if any(isnan(md.prognostic.spcthickness(pos))),
    473473                                        message(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']);
  • issm/trunk/src/m/model/plot/plot_basaldrag.m

    r9684 r9691  
    3030
    3131%compute basal drag
    32 drag=(max(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
     32drag=(max(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
    3333
    3434%Figure out if this is a Section plot
  • issm/trunk/src/m/model/sia.m

    r9636 r9691  
    1717%Average thickness and B over all elements.
    1818summer=[1;1;1];
    19 hel=md.thickness(md.elements)*summer/3;
     19hel=md.geometry.thickness(md.elements)*summer/3;
    2020Bel=md.B(md.elements)*summer/3;
    2121
  • issm/trunk/src/m/model/slope.m

    r9451 r9691  
    2222
    2323summation=[1;1;1];
    24 sx=(md.surface(index).*alpha)*summation;
    25 sy=(md.surface(index).*beta)*summation;
     24sx=(md.geometry.surface(index).*alpha)*summation;
     25sy=(md.geometry.surface(index).*beta)*summation;
    2626s=sqrt(sx.^2+sy.^2);
    2727
  • issm/trunk/src/m/model/thicknessevolution.m

    r9684 r9691  
    1414
    1515%load some variables
    16 H=md.thickness;
     16H=md.geometry.thickness;
    1717vx=md.initialization.vx;
    1818vy=md.initialization.vy;
  • issm/trunk/src/m/utils/Interp/FillHole.m

    r8298 r9691  
    66%
    77%   Example:
    8 %      md.surface=FillHole(md.elements,x,md.y,md.surface)
     8%      md.geometry.surface=FillHole(md.elements,x,md.y,md.geometry.surface)
    99%
    1010
  • issm/trunk/src/m/utils/Interp/InterpFromFile.m

    r8298 r9691  
    1919%
    2020%   Example:
    21 %      md.surface=InterpFromFile(md.x,md.y,'surfacefile.mat',0);
     21%      md.geometry.surface=InterpFromFile(md.x,md.y,'surfacefile.mat',0);
    2222%
    2323%   See also: PLUGVELOCITIES, INTERPFROMGRID, INTERPFROMMESH2D, INTERPFROMMESH3D
  • issm/trunk/template

    r9681 r9691  
    4343          extractedelements
    4444}}}
    45 geometry {{{
    46           surface
    47           thickness
    48           bed
    49           bathymetry
    50 
    51           thickness_coeff -> rename hydrostatic_ratio (change ThicknessCorrection.m accordingly)
    52 }}}
    53 initialization{{{
    54         vx
    55         vy
    56         vz
    57         vel
    58         pressure
    59         temperature
    60         watercolumn
    61         waterfraction
    62 }}}
    6345
    6446%To be completed
  • issm/trunk/test/Miscellaneous/Bump/Bump.par

    r9679 r9691  
    77ymin=min(md.y);
    88ymax=max(md.y);
    9 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    10 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+10;
    11 md.surface=md.bed+md.thickness;
    12 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+height*exp(-((md.x-50000).^2+(md.y-50000).^2)/(4000)^2)+10;
    13 md.thickness=md.surface-md.bed;
     9md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     10md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+10;
     11md.geometry.surface=md.geometry.bed+md.geometry.thickness;
     12md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+height*exp(-((md.x-50000).^2+(md.y-50000).^2)/(4000)^2)+10;
     13md.geometry.thickness=md.geometry.surface-md.geometry.bed;
    1414
    1515md.drag_type=2; %0 none 1 plastic 2 viscous
  • issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par

    r9684 r9691  
    66ymin=min(md.y);
    77ymax=max(md.y);
    8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    10 md.surface=md.bed+md.thickness;
     8md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     9md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     10md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1111
    1212%Materials
  • issm/trunk/test/Miscellaneous/connectivity/Square.par

    r9642 r9691  
    1111ymin=min(md.y);
    1212ymax=max(md.y);
    13 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    14 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    15 md.surface=md.bed+md.thickness;
     13md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     14md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     15md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1616
    1717md.drag_type=2; %0 none 1 plastic 2 viscous
  • issm/trunk/test/NightlyRun/test111.m

    r9664 r9691  
    66md.cluster=none;
    77md.prognostic.stabilization=3;
    8 md.prognostic.spcthickness=md.thickness;
     8md.prognostic.spcthickness=md.geometry.thickness;
    99md=solve(md,PrognosticSolutionEnum);
    1010
  • issm/trunk/test/NightlyRun/test1110.m

    r9679 r9691  
    8585        end
    8686
    87         plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Surface)-md.surface,'layer',md.numlayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Surface (m)','linewidth',3,'grid','on','unit','km','ylim',[-30 50])
     87        plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Surface)-md.geometry.surface,'layer',md.numlayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Surface (m)','linewidth',3,'grid','on','unit','km','ylim',[-30 50])
    8888        if printingflag,
    8989                set(gcf,'Color','w')
     
    124124                PatchToVec(result.Vy),...
    125125                PatchToVec(result.Vz),...
    126                 PatchToVec(result.Surface)-md.surface,...
     126                PatchToVec(result.Surface)-md.geometry.surface,...
    127127                };
    128128end
  • issm/trunk/test/NightlyRun/test112.m

    r9664 r9691  
    66md.cluster=generic('name',oshostname(),'np',3);
    77md.prognostic.stabilization=3;
    8 md.prognostic.spcthickness=md.thickness;
     8md.prognostic.spcthickness=md.geometry.thickness;
    99md=solve(md,PrognosticSolutionEnum);
    1010
  • issm/trunk/test/NightlyRun/test1205.m

    r9681 r9691  
    1313%Calculation of the analytical 2d velocity field
    1414constant=0.3;
    15 vx_obs=constant/2*md.x.*(md.thickness).^-1;
    16 vy_obs=constant/2*md.y.*(md.thickness).^-1;
     15vx_obs=constant/2*md.x.*(md.geometry.thickness).^-1;
     16vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1;
    1717vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2));
    1818
  • issm/trunk/test/NightlyRun/test1206.m

    r9681 r9691  
    1313%Calculation of the analytical 2d velocity field
    1414constant=0.3;
    15 vx_obs=constant/2*md.x.*(md.thickness).^-1;
    16 vy_obs=constant/2*md.y.*(md.thickness).^-1;
     15vx_obs=constant/2*md.x.*(md.geometry.thickness).^-1;
     16vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1;
    1717vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2));
    1818
  • issm/trunk/test/NightlyRun/test1207.m

    r9681 r9691  
    1313%Calculation of the analytical 2d velocity field
    1414constant=0.3;
    15 vx_obs=constant/2*md.x.*(md.thickness).^-1;
    16 vy_obs=constant/2*md.y.*(md.thickness).^-1;
     15vx_obs=constant/2*md.x.*(md.geometry.thickness).^-1;
     16vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1;
    1717vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2));
    1818
  • issm/trunk/test/NightlyRun/test1303.m

    r9684 r9691  
    1818%d2T/dz2=0 T(bed)=10 T(surface)=0  => T=0*(z-bed)/thickness+10*(surface-z)/thickness
    1919%each layer of the 3d mesh must have a constant value
    20 md.initialization.temperature=10*(md.surface-md.z)./md.thickness;
     20md.initialization.temperature=10*(md.geometry.surface-md.z)./md.geometry.thickness;
    2121
    2222%modeled  results
  • issm/trunk/test/NightlyRun/test1304.m

    r9684 r9691  
    1919%the result is linear with depth and is equal to 0 on the upper surface (See BC)
    2020%d2T/dz2=0  -k*dT/dz(bed)=G  T(surface)=0  => T=-G/k*(z-surface)
    21 md.initialization.temperature=-0.1/md.thermalconductivity*(md.z-md.surface); %G=0.1 W/m2
     21md.initialization.temperature=-0.1/md.thermalconductivity*(md.z-md.geometry.surface); %G=0.1 W/m2
    2222
    2323%modeled  results
  • issm/trunk/test/NightlyRun/test131.m

    r9664 r9691  
    44%Add boundary conditions on thickness on the border
    55pos=find(md.nodeonboundary);
    6 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     6md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    77md=setflowequation(md,'macayeal','all');
    88md.cluster=none;
  • issm/trunk/test/NightlyRun/test132.m

    r9664 r9691  
    44%Add boundary conditions on thickness on the border
    55pos=find(md.nodeonboundary);
    6 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     6md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    77md=setflowequation(md,'macayeal','all');
    88md.cluster=generic('name',oshostname(),'np',3);
  • issm/trunk/test/NightlyRun/test133.m

    r9664 r9691  
    55%Add boundary conditions on thickness on the border
    66pos=find(md.nodeonboundary);
    7 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     7md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    88md=setflowequation(md,'macayeal','all');
    99md.cluster=none;
  • issm/trunk/test/NightlyRun/test134.m

    r9664 r9691  
    55%Add boundary conditions on thickness on the border
    66pos=find(md.nodeonboundary);
    7 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     7md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    88md=setflowequation(md,'macayeal','all');
    99md.cluster=generic('name',oshostname(),'np',3);
  • issm/trunk/test/NightlyRun/test1501.m

    r9664 r9691  
    2121for i=1:10
    2222         md=solve(md,PrognosticSolutionEnum);
    23          md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.thickness);
     23         md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.geometry.thickness);
    2424end
    2525
  • issm/trunk/test/NightlyRun/test1502.m

    r9664 r9691  
    2222for i=1:10
    2323         md=solve(md,PrognosticSolutionEnum);
    24          md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.thickness);
     24         md.surfaceforcings.mass_balance= md.surfaceforcings.mass_balance - (PatchToVec(md.results.PrognosticSolution.Thickness)-md.geometry.thickness);
    2525end
    2626
  • issm/trunk/test/NightlyRun/test233.m

    r9684 r9691  
    2121
    2222h=1000;
    23 md.thickness=h*ones(md.numberofnodes,1);
    24 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    25 md.surface=md.bed+md.thickness;
     23md.geometry.thickness=h*ones(md.numberofnodes,1);
     24md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     25md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    2626
    2727%Initial velocity and pressure
     
    6161
    6262%create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
    63 %ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.materials.rheology_B)).^3;
     63%ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.geometry.thickness./(4*md.materials.rheology_B)).^3;
    6464%vy_c=ey_c.*md.y*md.constants.yts;
    6565
  • issm/trunk/test/NightlyRun/test234.m

    r9684 r9691  
    2121
    2222h=1000;
    23 md.thickness=h*ones(md.numberofnodes,1);
    24 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    25 md.surface=md.bed+md.thickness;
     23md.geometry.thickness=h*ones(md.numberofnodes,1);
     24md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     25md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    2626
    2727%Initial velocity and pressure
     
    6161
    6262%create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
    63 %ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.materials.rheology_B)).^3;
     63%ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.geometry.thickness./(4*md.materials.rheology_B)).^3;
    6464%vy_c=ey_c.*md.y*md.constants.yts;
    6565
  • issm/trunk/test/NightlyRun/test235.m

    r9684 r9691  
    1818
    1919h=1000;
    20 md.thickness=h*ones(md.numberofnodes,1);
    21 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    22 md.surface=md.bed+md.thickness;
     20md.geometry.thickness=h*ones(md.numberofnodes,1);
     21md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     22md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    2323
    2424%Initial velocity and pressure
  • issm/trunk/test/NightlyRun/test236.m

    r9684 r9691  
    1818
    1919h=1000;
    20 md.thickness=h*ones(md.numberofnodes,1);
    21 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    22 md.surface=md.bed+md.thickness;
     20md.geometry.thickness=h*ones(md.numberofnodes,1);
     21md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     22md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    2323
    2424%Initial velocity and pressure
  • issm/trunk/test/NightlyRun/test245.m

    r9664 r9691  
    33md=parameterize(md,'../Par/SquareShelf.par');
    44md=setflowequation(md,'macayeal','all');
    5 md.bed=md.bed+50; md.surface=md.surface+50;
     5md.geometry.bed=md.geometry.bed+50; md.geometry.surface=md.geometry.surface+50;
    66md.cluster=none;
    77md.prognostic.hydrostatic_adjustment='Incremental';
  • issm/trunk/test/NightlyRun/test246.m

    r9664 r9691  
    33md=parameterize(md,'../Par/SquareShelf.par');
    44md=setflowequation(md,'macayeal','all');
    5 md.bed=md.bed+50; md.surface=md.surface+50;
     5md.geometry.bed=md.geometry.bed+50; md.geometry.surface=md.geometry.surface+50;
    66md.cluster=generic('name',oshostname(),'np',3);
    77md.prognostic.hydrostatic_adjustment='Incremental';
  • issm/trunk/test/NightlyRun/test249.m

    r9664 r9691  
    44md=extrude(md,3,1);
    55md=setflowequation(md,'pattyn','all');
    6 md.bed=md.bed+50; md.surface=md.surface+50;
     6md.geometry.bed=md.geometry.bed+50; md.geometry.surface=md.geometry.surface+50;
    77md.cluster=none;
    88md.prognostic.hydrostatic_adjustment='Incremental';
  • issm/trunk/test/NightlyRun/test250.m

    r9664 r9691  
    44md=extrude(md,3,1);
    55md=setflowequation(md,'pattyn','all');
    6 md.bed=md.bed+50; md.surface=md.surface+50;
     6md.geometry.bed=md.geometry.bed+50; md.geometry.surface=md.geometry.surface+50;
    77md.cluster=generic('name',oshostname(),'np',3);
    88md.prognostic.hydrostatic_adjustment='Incremental';
  • issm/trunk/test/NightlyRun/test319.m

    r9664 r9691  
    55md=setflowequation(md,'macayeal','all');
    66md.prognostic.stabilization=3;
    7 md.prognostic.spcthickness=md.thickness;
     7md.prognostic.spcthickness=md.geometry.thickness;
    88md.cluster=none;
    99md=solve(md,PrognosticSolutionEnum);
  • issm/trunk/test/NightlyRun/test320.m

    r9664 r9691  
    55md=setflowequation(md,'macayeal','all');
    66md.prognostic.stabilization=3;
    7 md.prognostic.spcthickness=md.thickness;
     7md.prognostic.spcthickness=md.geometry.thickness;
    88md.cluster=generic('name',oshostname(),'np',3);
    99md=solve(md,PrognosticSolutionEnum);
  • issm/trunk/test/NightlyRun/test427.m

    r9679 r9691  
    55md.cluster=none;
    66md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
    7 md.thickness(:)=1; %make it easy
     7md.geometry.thickness(:)=1; %make it easy
    88
    99%constrain all velocities to 1 m/yr, in the y-direction
  • issm/trunk/test/NightlyRun/test428.m

    r9679 r9691  
    55md.cluster=generic('name',oshostname(),'np',3);
    66md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
    7 md.thickness(:)=1; %make it easy
     7md.geometry.thickness(:)=1; %make it easy
    88
    99%constrain all velocities to 1 m/yr, in the y-direction
  • issm/trunk/test/NightlyRun/test434.m

    r9679 r9691  
    55md.cluster=generic('name',oshostname(),'np',3);
    66md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
    7 md.thickness(:)=1; %make it easy
     7md.geometry.thickness(:)=1; %make it easy
    88
    99%constrain all velocities to 1 m/yr, in the y-direction
  • issm/trunk/test/NightlyRun/test446.m

    r9664 r9691  
    2626rad=sqrt((md.x).*md.x+(md.y).*md.y);
    2727pos=find(rad<200000);
    28 md.thickness(pos)=100;
    29 md.bed(pos)=-di*md.thickness(pos)-20;
    30 md.surface(pos)=md.bed(pos)+md.thickness(pos);
     28md.geometry.thickness(pos)=100;
     29md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20;
     30md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
    3131
    3232pos=find(md.x<.2*1e6 & md.x>-.2*1e6 & md.y>0);
    33 md.thickness(pos)=100;
    34 md.bed(pos)=-di*md.thickness(pos)-20;
    35 md.surface(pos)=md.bed(pos)+md.thickness(pos);
     33md.geometry.thickness(pos)=100;
     34md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20;
     35md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
    3636
    3737pos=find(md.x<.1*1e6 & md.x>-.1*1e6 & md.y<-.5*1e6 & md.y>-.6*1e6);
    38 md.thickness(pos)=100;
    39 md.bed(pos)=-di*md.thickness(pos)-20;
    40 md.surface(pos)=md.bed(pos)+md.thickness(pos);
     38md.geometry.thickness(pos)=100;
     39md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20;
     40md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
    4141%}}}
    4242
  • issm/trunk/test/NightlyRun/test521.m

    r9684 r9691  
    44
    55%impose hydrostatic equilibrium (required by Stokes)
    6 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    7 md.surface=md.bed+md.thickness;
     6md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     7md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    88md=extrude(md,3,1);
    99md=setflowequation(md,'stokes','all');
  • issm/trunk/test/NightlyRun/test522.m

    r9684 r9691  
    44
    55%impose hydrostatic equilibrium (required by Stokes)
    6 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    7 md.surface=md.bed+md.thickness;
     6md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     7md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    88md=extrude(md,3,1);
    99md=setflowequation(md,'stokes','all');
  • issm/trunk/test/NightlyRun/test527.m

    r9681 r9691  
    3939
    4040%refine existing mesh 5
    41 md2=bamg(md,'field',[md.inversion.vy_obs md.thickness],'hmin',1000,'hmax',20000,'gradation',3,'geometricalmetric',1,'Hessiantype',1,'err',[10 100]);
     41md2=bamg(md,'field',[md.inversion.vy_obs md.geometry.thickness],'hmin',1000,'hmax',20000,'gradation',3,'geometricalmetric',1,'Hessiantype',1,'err',[10 100]);
    4242x7=md2.x;
    4343y7=md2.y;
  • issm/trunk/test/NightlyRun/test603.m

    r9664 r9691  
    55md=setflowequation(md,'macayeal','all');
    66md.prognostic.stabilization=3;
    7 md.prognostic.spcthickness=md.thickness;
     7md.prognostic.spcthickness=md.geometry.thickness;
    88md.cluster=none;
    99md=solve(md,PrognosticSolutionEnum);
  • issm/trunk/test/NightlyRun/test604.m

    r9664 r9691  
    55md=setflowequation(md,'macayeal','all');
    66md.prognostic.stabilization=3;
    7 md.prognostic.spcthickness=md.thickness;
     7md.prognostic.spcthickness=md.geometry.thickness;
    88md.cluster=generic('name',oshostname(),'np',3);
    99md=solve(md,PrognosticSolutionEnum);
  • issm/trunk/test/NightlyRun/test621.m

    r9681 r9691  
    99md.inversion.iscontrol=1;
    1010md.inversion.control_parameters={'BalancethicknessThickeningRate'};
    11 md.inversion.thickness_obs=md.thickness;
     11md.inversion.thickness_obs=md.geometry.thickness;
    1212md.inversion.min_parameters=-50*ones(md.numberofnodes,1);
    1313md.inversion.max_parameters=50*ones(md.numberofnodes,1);
  • issm/trunk/test/NightlyRun/test622.m

    r9681 r9691  
    99md.inversion.iscontrol=1;
    1010md.inversion.control_parameters={'BalancethicknessThickeningRate'};
    11 md.inversion.thickness_obs=md.thickness;
     11md.inversion.thickness_obs=md.geometry.thickness;
    1212md.inversion.min_parameters=-50*ones(md.numberofnodes,1);
    1313md.inversion.max_parameters=50*ones(md.numberofnodes,1);
  • issm/trunk/test/NightlyRun/test623.m

    r9681 r9691  
    1010md.inversion.iscontrol=1;
    1111md.inversion.control_parameters={'BalancethicknessThickeningRate'};
    12 md.inversion.thickness_obs=md.thickness;
     12md.inversion.thickness_obs=md.geometry.thickness;
    1313md.inversion.min_parameters=-50*ones(md.numberofnodes,1);
    1414md.inversion.max_parameters=50*ones(md.numberofnodes,1);
  • issm/trunk/test/NightlyRun/test624.m

    r9681 r9691  
    1010md.inversion.iscontrol=1;
    1111md.inversion.control_parameters={'BalancethicknessThickeningRate'};
    12 md.inversion.thickness_obs=md.thickness;
     12md.inversion.thickness_obs=md.geometry.thickness;
    1313md.inversion.min_parameters=-50*ones(md.numberofnodes,1);
    1414md.inversion.max_parameters=50*ones(md.numberofnodes,1);
  • issm/trunk/test/NightlyRun/test625.m

    r9681 r9691  
    88md=modelextract(md,md.mask.elementongroundedice);
    99pos=find(md.nodeonboundary);
    10 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     10md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    1111
    1212%control parameters
    13 md.inversion.thickness_obs=md.thickness;
     13md.inversion.thickness_obs=md.geometry.thickness;
    1414md.inversion.iscontrol=1;
    15 md.inversion.thickness_obs=md.thickness;
     15md.inversion.thickness_obs=md.geometry.thickness;
    1616md.inversion.nsteps=2;
    1717md.inversion.control_parameters={'Vx' 'Vy'};
  • issm/trunk/test/NightlyRun/test626.m

    r9681 r9691  
    88md=modelextract(md,md.mask.elementongroundedice);
    99pos=find(md.nodeonboundary);
    10 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     10md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    1111
    1212%control parameters
    13 md.inversion.thickness_obs=md.thickness;
     13md.inversion.thickness_obs=md.geometry.thickness;
    1414md.inversion.iscontrol=1;
    15 md.inversion.thickness_obs=md.thickness;
     15md.inversion.thickness_obs=md.geometry.thickness;
    1616md.inversion.nsteps=2;
    1717md.inversion.control_parameters={'Vx' 'Vy'};
  • issm/trunk/test/Par/79North.par

    r9684 r9691  
    55md.initialization.vx       =InterpFromMeshToMesh2d(index,x,y,vx,md.x,md.y);
    66md.initialization.vy       =InterpFromMeshToMesh2d(index,x,y,vy,md.x,md.y);
    7 md.surface  =InterpFromMeshToMesh2d(index,x,y,surface,md.x,md.y);
    8 md.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.x,md.y);
    9 md.bed=md.surface-md.thickness;
     7md.geometry.surface  =InterpFromMeshToMesh2d(index,x,y,surface,md.x,md.y);
     8md.geometry.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.x,md.y);
     9md.geometry.bed=md.geometry.surface-md.geometry.thickness;
    1010clear surface thickness vx vy x y index;
    1111
     
    4545md=SetMarineIceSheetBC(md);
    4646pos=find(md.nodeonboundary);
    47 md.balancethickness.spcthickness(pos)=md.thickness(pos);
    48 md.prognostic.spcthickness(pos)=md.thickness(pos);
     47md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
     48md.prognostic.spcthickness(pos)=md.geometry.thickness(pos);
    4949
    5050%Change name so that no test have the same name
  • issm/trunk/test/Par/ISMIPA.par

    r9641 r9691  
    22
    33disp('      creating thickness');
    4 md.surface=-md.x*tan(0.5*pi/180);
    5 md.bed=md.surface-1000+500*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x));
    6 md.thickness=md.surface-md.bed;
     4md.geometry.surface=-md.x*tan(0.5*pi/180);
     5md.geometry.bed=md.geometry.surface-1000+500*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x));
     6md.geometry.thickness=md.geometry.surface-md.geometry.bed;
    77
    88disp('      creating drag');
  • issm/trunk/test/Par/ISMIPB.par

    r9641 r9691  
    22
    33disp('      creating thickness');
    4 md.surface=-md.x*tan(0.5*pi/180);
    5 md.bed=md.surface-1000+500*sin(md.x*2*pi/max(md.x));
    6 md.thickness=md.surface-md.bed;
     4md.geometry.surface=-md.x*tan(0.5*pi/180);
     5md.geometry.bed=md.geometry.surface-1000+500*sin(md.x*2*pi/max(md.x));
     6md.geometry.thickness=md.geometry.surface-md.geometry.bed;
    77
    88disp('      creating drag');
  • issm/trunk/test/Par/ISMIPC.par

    r9641 r9691  
    22
    33disp('      creating thickness');
    4 md.surface=2000-md.x*tan(0.1*pi/180); %to have z>0
    5 md.bed=md.surface-1000;
    6 md.thickness=md.surface-md.bed;
     4md.geometry.surface=2000-md.x*tan(0.1*pi/180); %to have z>0
     5md.geometry.bed=md.geometry.surface-1000;
     6md.geometry.thickness=md.geometry.surface-md.geometry.bed;
    77
    88disp('      creating drag');
    9 %md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)));
     9%md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)));
    1010md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x))));
    1111%Take care of iceshelves: no basal drag
  • issm/trunk/test/Par/ISMIPD.par

    r9641 r9691  
    22
    33disp('      creating thickness');
    4 md.surface=2000-md.x*tan(0.1*pi/180); %to have z>0
    5 md.bed=md.surface-1000;
    6 md.thickness=md.surface-md.bed;
     4md.geometry.surface=2000-md.x*tan(0.1*pi/180); %to have z>0
     5md.geometry.bed=md.geometry.surface-1000;
     6md.geometry.thickness=md.geometry.surface-md.geometry.bed;
    77
    88disp('      creating drag');
  • issm/trunk/test/Par/ISMIPE.par

    r9636 r9691  
    44data=load('../Data/ISMIPE.data','-mat');
    55data=data.data;
    6 md.surface=zeros(md.numberofnodes,1);
    7 md.bed=zeros(md.numberofnodes,1);
     6md.geometry.surface=zeros(md.numberofnodes,1);
     7md.geometry.bed=zeros(md.numberofnodes,1);
    88for i=1:md.numberofnodes
    99        y=md.y(i);
     
    1111        point2=min(point1+1,51);
    1212        coeff=(y-(point1-1)*100)/100;
    13         md.bed(i)=(1-coeff)*data(point1,2)+coeff*data(point2,2);
    14         md.surface(i)=(1-coeff)*data(point1,3)+coeff*data(point2,3);
     13        md.geometry.bed(i)=(1-coeff)*data(point1,2)+coeff*data(point2,2);
     14        md.geometry.surface(i)=(1-coeff)*data(point1,3)+coeff*data(point2,3);
    1515end
    16 md.thickness=md.surface-md.bed;
    17 md.thickness(find(~md.thickness))=0.01;
    18 md.bed=md.surface-md.thickness;
     16md.geometry.thickness=md.geometry.surface-md.geometry.bed;
     17md.geometry.thickness(find(~md.geometry.thickness))=0.01;
     18md.geometry.bed=md.geometry.surface-md.geometry.thickness;
    1919
    2020disp('      creating drag');
  • issm/trunk/test/Par/ISMIPF.par

    r9684 r9691  
    33
    44disp('      creating thickness');
    5 md.surface=-md.x*tan(3*pi/180);
    6 %md.bed=md.surface-1000;
    7 md.bed=md.surface-1000+100*exp(-((md.x-max(md.x)/2).^2+(md.y-max(md.y)/2).^2)/(10000^2));
    8 md.thickness=md.surface-md.bed;
     5md.geometry.surface=-md.x*tan(3*pi/180);
     6%md.geometry.bed=md.geometry.surface-1000;
     7md.geometry.bed=md.geometry.surface-1000+100*exp(-((md.x-max(md.x)/2).^2+(md.y-max(md.y)/2).^2)/(10000^2));
     8md.geometry.thickness=md.geometry.surface-md.geometry.bed;
    99
    1010disp('      creating drag');
     
    3030pos=find(md.x==min(md.x) | md.x==max(md.x) | md.y==min(md.y) | md.y==max(md.y));
    3131md.balancethickness.spcthickness=NaN*ones(md.numberofnodes,1);
    32 md.balancethickness.spcthickness(pos)=md.thickness(pos);
     32md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos);
    3333md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1);
    34 md.prognostic.spcthickness(pos)=md.thickness(pos);
     34md.prognostic.spcthickness(pos)=md.geometry.thickness(pos);
    3535md.thermal.spctemperature=255*ones(md.numberofnodes,1);
    3636md.basalforcings.geothermalflux=0.4*ones(md.numberofnodes,1);
  • issm/trunk/test/Par/Pig.par

    r9684 r9691  
    55md.inversion.vx_obs   =InterpFromMeshToMesh2d(index,x,y,vx_obs,md.x,md.y);
    66md.inversion.vy_obs   =InterpFromMeshToMesh2d(index,x,y,vy_obs,md.x,md.y);
    7 md.surface  =InterpFromMeshToMesh2d(index,x,y,surface,md.x,md.y);
    8 md.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.x,md.y);
    9 md.bed=md.surface-md.thickness;
     7md.geometry.surface  =InterpFromMeshToMesh2d(index,x,y,surface,md.x,md.y);
     8md.geometry.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.x,md.y);
     9md.geometry.bed=md.geometry.surface-md.geometry.thickness;
    1010clear surface thickness vx_obs vy_obs x y index;
    1111md.initialization.vx=md.inversion.vx_obs;
  • issm/trunk/test/Par/RoundSheetEISMINT.par

    r9684 r9691  
    11%Ok, start defining model parameters here
    22disp('      creating thickness');
    3 md.thickness=10*ones(md.numberofnodes,1);
    4 md.bed=zeros(md.numberofnodes,1);
    5 md.surface=md.bed+md.thickness;
     3md.geometry.thickness=10*ones(md.numberofnodes,1);
     4md.geometry.bed=zeros(md.numberofnodes,1);
     5md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    66
    77disp('      creating drag');
     
    2929disp('      creating velocities');
    3030constant=0.3;
    31 md.inversion.vx_obs=constant/2*md.x.*(md.thickness).^-1;
    32 md.inversion.vy_obs=constant/2*md.y.*(md.thickness).^-1;
     31md.inversion.vx_obs=constant/2*md.x.*(md.geometry.thickness).^-1;
     32md.inversion.vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1;
    3333md.inversion.vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2));
    3434md.initialization.vx=zeros(md.numberofnodes,1);
  • issm/trunk/test/Par/RoundSheetShelf.par

    r9684 r9691  
    1010ymin=min(radius);
    1111ymax=max(radius);
    12 md.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin);
    13 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
     12md.geometry.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin);
     13md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
    1414
    1515pos=find(md.mask.vertexongroundedice);
    16 md.bed(pos)=md.bed(pos)-300*(radius(pos)-(rad-shelfextent))/(rad-shelfextent);
    17 md.surface=md.bed+md.thickness;
     16md.geometry.bed(pos)=md.geometry.bed(pos)-300*(radius(pos)-(rad-shelfextent))/(rad-shelfextent);
     17md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1818
    1919pos=find(radius<200000);
    20 md.thickness(pos)=100;
    21 md.bed(pos)=-di*md.thickness(pos)-20;
    22 md.surface(pos)=md.bed(pos)+md.thickness(pos);
     20md.geometry.thickness(pos)=100;
     21md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20;
     22md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
    2323
    2424
    2525pos=find(md.x<.2*1e6 & md.x>-.2*1e6 & md.y>0);
    26 md.thickness(pos)=100;
    27 md.bed(pos)=-di*md.thickness(pos)-20;
    28 md.surface(pos)=md.bed(pos)+md.thickness(pos);
     26md.geometry.thickness(pos)=100;
     27md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20;
     28md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
    2929
    3030pos=find(md.x<.1*1e6 & md.x>-.1*1e6 & md.y<-.5*1e6 & md.y>-.6*1e6);
    31 md.thickness(pos)=100;
    32 md.bed(pos)=-di*md.thickness(pos)-20;
    33 md.surface(pos)=md.bed(pos)+md.thickness(pos);
     31md.geometry.thickness(pos)=100;
     32md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20;
     33md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
    3434
    3535%Initial velocity
     
    7171%bathymetry and grounding line migration:
    7272md.groundingline.migration='AgressiveMigration';
    73 md.bathymetry=md.bed;
    74 pos=find(md.mask.vertexonfloatingice); md.bathymetry(pos)=md.bed(pos)-900;
     73md.geometry.bathymetry=md.geometry.bed;
     74pos=find(md.mask.vertexonfloatingice); md.geometry.bathymetry(pos)=md.geometry.bed(pos)-900;
    7575
    7676%Deal with boundary conditions:
  • issm/trunk/test/Par/RoundSheetStaticEISMINT.par

    r9684 r9691  
    44radius=(sqrt((md.x).^2+(md.y).^2));
    55radiusmax=max(radius);
    6 md.thickness=hmin*ones(size(md.x,1),1)+hmax*(4*((1/2)^(4/3)*ones(size(md.x,1),1)-((radius)./(2*radiusmax)).^(4/3))).^(3/8);
    7 md.bed=0*md.thickness;
    8 md.surface=md.bed+md.thickness;
     6md.geometry.thickness=hmin*ones(size(md.x,1),1)+hmax*(4*((1/2)^(4/3)*ones(size(md.x,1),1)-((radius)./(2*radiusmax)).^(4/3))).^(3/8);
     7md.geometry.bed=0*md.geometry.thickness;
     8md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    99
    1010disp('      creating drag');
     
    3434disp('      creating velocities');
    3535constant=0.3;
    36 md.inversion.vx_obs=constant/2*md.x.*(md.thickness).^-1;
    37 md.inversion.vy_obs=constant/2*md.y.*(md.thickness).^-1;
     36md.inversion.vx_obs=constant/2*md.x.*(md.geometry.thickness).^-1;
     37md.inversion.vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1;
    3838md.inversion.vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2));
    3939md.initialization.vx=zeros(md.numberofnodes,1);
  • issm/trunk/test/Par/SquareEISMINT.par

    r9684 r9691  
    44ymin=min(md.y);
    55ymax=max(md.y);
    6 md.thickness=500*ones(md.numberofnodes,1);
    7 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    8 md.surface=md.bed+md.thickness;
     6md.geometry.thickness=500*ones(md.numberofnodes,1);
     7md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     8md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    99
    1010disp('      creating drag');
  • issm/trunk/test/Par/SquareSheetConstrained.par

    r9684 r9691  
    66ymin=min(md.y);
    77ymax=max(md.y);
    8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+20;
    10 md.surface=md.bed+md.thickness;
     8md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     9md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20;
     10md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1111
    1212%Initial velocity
  • issm/trunk/test/Par/SquareSheetShelf.par

    r9684 r9691  
    66ymin=min(md.y);
    77ymax=max(md.y);
    8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
     8md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     9md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
    1010bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin));
    1111pos=find(md.y<=ymax/2);
    12 md.bed(pos)=bed_sheet;
    13 md.surface=md.bed+md.thickness;
     12md.geometry.bed(pos)=bed_sheet;
     13md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1414
    1515%Initial velocity
  • issm/trunk/test/Par/SquareShelf.par

    r9684 r9691  
    66ymin=min(md.y);
    77ymax=max(md.y);
    8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    10 md.surface=md.bed+md.thickness;
     8md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     9md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     10md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1111
    1212%Initial velocity and pressure
  • issm/trunk/test/Par/SquareShelfConstrained.par

    r9684 r9691  
    66ymin=min(md.y);
    77ymax=max(md.y);
    8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
    9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
    10 md.surface=md.bed+md.thickness;
     8md.geometry.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
     9md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
     10md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1111
    1212%Initial velocity
  • issm/trunk/test/Par/SquareThermal.par

    r9684 r9691  
    55disp('      creating thickness');
    66h=1000;
    7 md.thickness=h*ones(md.numberofnodes,1);
    8 md.bed=-1000*ones(md.numberofnodes,1);
    9 md.surface=md.bed+md.thickness;
     7md.geometry.thickness=h*ones(md.numberofnodes,1);
     8md.geometry.bed=-1000*ones(md.numberofnodes,1);
     9md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1010
    1111disp('      creating velocities');
Note: See TracChangeset for help on using the changeset viewer.