Changeset 9731


Ignore:
Timestamp:
09/09/11 14:41:38 (14 years ago)
Author:
seroussi
Message:

added more fields in mesh

Location:
issm/trunk
Files:
20 edited

Legend:

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

    r9729 r9731  
    162162        MeshVertexonbedEnum,
    163163        MeshVertexonsurfaceEnum,
     164        MeshElements2dEnum,
    164165        /*}}}*/
    165166        /*Datasets {{{1*/
     
    474475        ZEnum,
    475476        EdgesEnum,
    476         Elements2dEnum,
    477477        XEnum,
    478478        OutputfilenameEnum,
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9729 r9731  
    166166                case MeshVertexonbedEnum : return "MeshVertexonbed";
    167167                case MeshVertexonsurfaceEnum : return "MeshVertexonsurface";
     168                case MeshElements2dEnum : return "MeshElements2d";
    168169                case ConstraintsEnum : return "Constraints";
    169170                case ElementsEnum : return "Elements";
     
    417418                case ZEnum : return "Z";
    418419                case EdgesEnum : return "Edges";
    419                 case Elements2dEnum : return "Elements2d";
    420420                case XEnum : return "X";
    421421                case OutputfilenameEnum : return "Outputfilename";
  • issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp

    r9725 r9731  
    7171        else{
    7272                /*load elements2d: */
    73                 iomodel->FetchData(&elements2d,NULL,NULL,Elements2dEnum);
     73                iomodel->FetchData(&elements2d,NULL,NULL,MeshElements2dEnum);
    7474        }
    7575
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9729 r9731  
    164164        else if (strcmp(name,"MeshVertexonbed")==0) return MeshVertexonbedEnum;
    165165        else if (strcmp(name,"MeshVertexonsurface")==0) return MeshVertexonsurfaceEnum;
     166        else if (strcmp(name,"MeshElements2d")==0) return MeshElements2dEnum;
    166167        else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
    167168        else if (strcmp(name,"Elements")==0) return ElementsEnum;
     
    415416        else if (strcmp(name,"Z")==0) return ZEnum;
    416417        else if (strcmp(name,"Edges")==0) return EdgesEnum;
    417         else if (strcmp(name,"Elements2d")==0) return Elements2dEnum;
    418418        else if (strcmp(name,"X")==0) return XEnum;
    419419        else if (strcmp(name,"Outputfilename")==0) return OutputfilenameEnum;
  • issm/trunk/src/m/classes/mesh.m

    r9730 r9731  
    3232                vertexonbed         = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',1);
    3333                vertexonsurface     = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',1);
     34                elements2d         = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
     35                x2d                = modelfield('default',NaN,'marshall',false);
     36                y2d                = modelfield('default',NaN,'marshall',false);
    3437        end
    3538        methods
     
    7578
    7679                        if obj.dimension==3,
    77                                 disp(sprintf('\n      Elements and nodes of the original 2d mesh:'));
     80                                disp(sprintf('\n      Elements and vertices of the original 2d mesh:'));
    7881                                fielddisplay(obj,'numberofelements2d','number of elements');
    79                                 fielddisplay(obj,'numberofnodes2d','number of nodes');
    80                                 fielddisplay(obj,'elements2d','index into (x,y,z), coordinates of the nodes');
    81                                 fielddisplay(obj,'x2d','nodes x coordinate');
    82                                 fielddisplay(obj,'y2d','nodes y coordinate');
     82                                fielddisplay(obj,'numberofverticess2d','number of vertices');
     83                                fielddisplay(obj,'elements2d','index into (x,y,z), coordinates of the vertices');
     84                                fielddisplay(obj,'x2d','vertices x coordinate');
     85                                fielddisplay(obj,'y2d','vertices y coordinate');
    8386
    84                                 disp(sprintf('\n      Elements and nodes of the extruded 3d mesh:'));
     87                                disp(sprintf('\n      Elements and vertices of the extruded 3d mesh:'));
    8588                        else
    86                                 disp(sprintf('\n      Elements and nodes:'));
     89                                disp(sprintf('\n      Elements and vertices:'));
    8790                        end
    8891                        fielddisplay(obj,'numberofelements','number of elements');
    89                         fielddisplay(obj,'numberofnodes','number of nodes');
    90                         fielddisplay(obj,'elements','index into (x,y,z), coordinates of the nodes');
     92                        fielddisplay(obj,'numberofvertices','number of vertices');
     93                        fielddisplay(obj,'elements','index into (x,y,z), coordinates of the vertices');
    9194                        fielddisplay(obj,'elements_type','element types');
    92                         fielddisplay(obj,'x','nodes x coordinate');
    93                         fielddisplay(obj,'y','nodes y coordinate');
    94                         fielddisplay(obj,'z','nodes z coordinate');
    95                         fielddisplay(obj,'edges','edges of the 2d mesh (node1 node2 element1 element2)');
     95                        fielddisplay(obj,'x','vertices x coordinate');
     96                        fielddisplay(obj,'y','vertices y coordinate');
     97                        fielddisplay(obj,'z','vertices z coordinate');
     98                        fielddisplay(obj,'edges','edges of the 2d mesh (vertex1 vertex2 element1 element2)');
    9699
    97100                        disp(sprintf('\n      Properties:'));
     
    99102                        fielddisplay(obj,'numlayers','number of extrusion layers');
    100103                        fielddisplay(obj,'penalties','penalties list');
    101                         fielddisplay(obj,'nodeonbed','lower nodes flags list');
     104                        fielddisplay(obj,'vertexonbed','lower vertices flags list');
    102105                        fielddisplay(obj,'elementonbed','lower elements flags list');
    103                         fielddisplay(obj,'nodeonsurface','upper nodes flags list');
     106                        fielddisplay(obj,'vertexonsurface','upper vertices flags list');
    104107                        fielddisplay(obj,'elementonsurface','upper elements flags list');
    105108                end % }}}
  • issm/trunk/src/m/classes/model/model.m

    r9729 r9731  
    4848                 z                   = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    4949                 edges               = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
    50                  elements2d         = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
    51                  x2d                = modelfield('default',NaN,'marshall',false);
    52                  y2d                = modelfield('default',NaN,'marshall',false);
    5350
    5451                 %}}}
     
    317314                         if isfield(structmd,'nodeonsurface'), md.mesh.vertexonsurface=structmd.nodeonsurface; end
    318315                         if isfield(structmd,'nodeonbed'), md.mesh.vertexonbed=structmd.nodeonbed; end
     316                         if isfield(structmd,'elements2d'), md.mesh.elements2d=structmd.elements2d; end
     317                         if isfield(structmd,'y2d'), md.mesh.y2d=structmd.y2d; end
     318                         if isfield(structmd,'x2d'), md.mesh.x2d=structmd.x2d; end
    319319
    320320                         %Field changes
  • issm/trunk/src/m/model/PropagateFlagsUntilDistance.m

    r9728 r9731  
    1313%make 3d work in 2d:
    1414if md.mesh.dimension==3,
    15         md.x=md.x2d;
    16         md.y=md.y2d;
    17         md.elements=md.elements2d;
     15        md.x=md.mesh.x2d;
     16        md.y=md.mesh.y2d;
     17        md.elements=md.mesh.elements2d;
    1818end
    1919
  • issm/trunk/src/m/model/SectionValues.m

    r9719 r9731  
    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.geometry.bed,1),X,Y)+offset;
    97         surface=InterpFromMeshToMesh2d(md.elements2d,md.x2d,md.y2d,project2d(md,md.geometry.surface,1),X,Y)-offset;
     96        bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.bed,1),X,Y)+offset;
     97        surface=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.surface,1),X,Y)-offset;
    9898
    9999        %Some useful parameters
  • issm/trunk/src/m/model/bedslope.m

    r9725 r9731  
    1414        numberofelements=md.mesh.numberofelements2d;
    1515        numberofnodes=md.mesh.numberofvertices2d;
    16         index=md.elements2d;
    17         x=md.x2d; y=md.y2d;
     16        index=md.mesh.elements2d;
     17        x=md.mesh.x2d; y=md.mesh.y2d;
    1818end
    1919
  • issm/trunk/src/m/model/collapse.m

    r9729 r9731  
    9090
    9191%Initialize with the 2d mesh
    92 md.x=md.x2d;
    93 md.y=md.y2d;
    94 md.z=zeros(size(md.x2d));
     92md.x=md.mesh.x2d;
     93md.y=md.mesh.y2d;
     94md.z=zeros(size(md.mesh.x2d));
    9595md.mesh.numberofvertices=md.mesh.numberofvertices2d;
    9696md.mesh.numberofelements=md.mesh.numberofelements2d;
    97 md.elements=md.elements2d;
     97md.elements=md.mesh.elements2d;
    9898
    9999%Keep a trace of lower and upper nodes
     
    102102
    103103%Remove old mesh
    104 md.x2d=NaN;
    105 md.y2d=NaN;
    106 md.elements2d=NaN;
     104md.mesh.x2d=NaN;
     105md.mesh.y2d=NaN;
     106md.mesh.elements2d=NaN;
    107107md.mesh.numberofelements2d=md.mesh.numberofelements;
    108108md.mesh.numberofvertices2d=md.mesh.numberofvertices;
  • issm/trunk/src/m/model/divergence.m

    r9725 r9731  
    1313        numberofelements=md.mesh.numberofelements2d;
    1414        numberofnodes=md.mesh.numberofvertices2d;
    15         index=md.elements2d;
    16         x=md.x2d; y=md.y2d;
     15        index=md.mesh.elements2d;
     16        x=md.mesh.x2d; y=md.mesh.y2d;
    1717end
    1818
  • issm/trunk/src/m/model/extrude.m

    r9729 r9731  
    103103
    104104%Save old mesh
    105 md.x2d=md.x;
    106 md.y2d=md.y;
    107 md.elements2d=md.elements;
     105md.mesh.x2d=md.x;
     106md.mesh.y2d=md.y;
     107md.mesh.elements2d=md.elements;
    108108md.mesh.numberofelements2d=md.mesh.numberofelements;
    109109md.mesh.numberofvertices2d=md.mesh.numberofvertices;
  • issm/trunk/src/m/model/misfit.m

    r9725 r9731  
    1818        vy_obs=md.inversion.vy_obs;
    1919else
    20         elements=md.elements2d;
    21         x=md.x2d;
    22         y=md.y2d;
     20        elements=md.mesh.elements2d;
     21        x=md.mesh.x2d;
     22        y=md.mesh.y2d;
    2323        vx=project2d(md,md.initialization.vx,md.mesh.numberoflayers);
    2424        vy=project2d(md,md.initialization.vy,md.mesh.numberoflayers);
  • issm/trunk/src/m/model/modelextract.m

    r9729 r9731  
    151151                md2.numberofelements2d=length(pos_elem_2d);
    152152                md2.numberofnodes2d=length(pos_node_2d);
    153                 md2.elements2d=md1.elements2d(pos_elem_2d,:);
    154                 md2.elements2d(:,1)=Pnode(md2.elements2d(:,1));
    155                 md2.elements2d(:,2)=Pnode(md2.elements2d(:,2));
    156                 md2.elements2d(:,3)=Pnode(md2.elements2d(:,3));
     153                md2.mesh.elements2d=md1.mesh.elements2d(pos_elem_2d,:);
     154                md2.mesh.elements2d(:,1)=Pnode(md2.mesh.elements2d(:,1));
     155                md2.mesh.elements2d(:,2)=Pnode(md2.mesh.elements2d(:,2));
     156                md2.mesh.elements2d(:,3)=Pnode(md2.mesh.elements2d(:,3));
    157157
    158158                md2.x2d=md1.x(pos_node_2d);
  • issm/trunk/src/m/model/partition/AreaAverageOntoPartition.m

    r9729 r9731  
    1616        md3d=md;
    1717       
    18         md.elements=md.elements2d;
    19         md.x=md.x2d;
    20         md.y=md.y2d;
     18        md.elements=md.mesh.elements2d;
     19        md.x=md.mesh.x2d;
     20        md.y=md.mesh.y2d;
    2121        md.mesh.numberofvertices=md.mesh.numberofvertices2d;
    2222        md.mesh.numberofelements=md.mesh.numberofelements2d;
  • issm/trunk/src/m/model/partition/partitioner.m

    r9729 r9731  
    3434        %extrude the partition vector vertically.
    3535        md3d=md; %save  for later
    36         md.elements=md.elements2d;
    37         md.x=md.x2d;
    38         md.y=md.y2d;
     36        md.elements=md.mesh.elements2d;
     37        md.x=md.mesh.x2d;
     38        md.y=md.mesh.y2d;
    3939        md.mesh.numberofvertices=md.mesh.numberofvertices2d;
    4040        md.mesh.numberofelements=md.mesh.numberofelements2d;
  • issm/trunk/src/m/model/plot/plot_section.m

    r9725 r9731  
    3232md3d=md;
    3333if exist(options,'layer')
    34         md.x=md.x2d; md.y=md.y2d; md.elements=md.elements2d; md.mesh.dimension=2;
     34        md.x=md.mesh.x2d; md.y=md.mesh.y2d; md.elements=md.mesh.elements2d; md.mesh.dimension=2;
    3535end
    3636
  • issm/trunk/src/m/model/plot/processmesh.m

    r9725 r9731  
    1717        if ~strcmpi(getfieldvalue(options,'coord','xy'),'latlon'),
    1818                x=md.x;
    19                 x2d=md.x2d;
     19                x2d=md.mesh.x2d;
    2020                y=md.y;
    21                 y2d=md.y2d;
     21                y2d=md.mesh.y2d;
    2222        else
    2323                x=md.mesh.long;
    24                 x2d=md.x2d;
     24                x2d=md.mesh.x2d;
    2525                y=md.mesh.lat;
    26                 y2d=md.y2d;
     26                y2d=md.mesh.y2d;
    2727        end
    2828
     
    3737
    3838
    39         elements2d=md.elements2d;
     39        elements2d=md.mesh.elements2d;
    4040        elements=md.elements;
    4141
  • issm/trunk/src/m/model/slope.m

    r9725 r9731  
    1414        numberofelements=md.mesh.numberofelements2d;
    1515        numberofnodes=md.mesh.numberofvertices2d;
    16         index=md.elements2d;
    17         x=md.x2d; y=md.y2d;
     16        index=md.mesh.elements2d;
     17        x=md.mesh.x2d; y=md.mesh.y2d;
    1818end
    1919
  • issm/trunk/test/NightlyRun/test136.m

    r9703 r9731  
    66md.initialization.vy=md.initialization.vy+400;
    77md=setflowequation(md,'macayeal','all');
    8 md.cluster=generic('name',oshostname(),'np',3);
     8md.cluster=generic('name',oshostname(),'np',1);
     9md.debug.valgrind=1;
    910md=solve(md,BalancethicknessSolutionEnum);
    1011
Note: See TracChangeset for help on using the changeset viewer.