Changeset 16287


Ignore:
Timestamp:
10/02/13 20:30:24 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: starting new mesh class and removed planet since it is a model with a sphere mesh class

Location:
issm/trunk-jpl/src/m/classes
Files:
2 added
1 deleted
2 copied
1 moved

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/spheremesh.m

    r16222 r16287  
    1 %PLANETMESH class definition
     1%SPHEREMESH class definition
    22%
    33%   Usage:
    4 %      planetmesh=planetmesh();
     4%      spheremesh=spheremesh();
    55
    6 classdef planetmesh
     6classdef spheremesh
    77        properties (SetAccess=public)
    88                x                           = NaN;
     
    2323        end
    2424        methods
    25                 function obj = planetmesh(varargin) % {{{
     25                function obj = spheremesh(varargin) % {{{
    2626                        switch nargin
    2727                                case 0
     
    4242                function md = checkconsistency(obj,md,solution,analyses) % {{{
    4343
    44                         md = checkfield(md,'planetmesh.x','NaN',1,'size',[md.planetmesh.numberofvertices 1]);
    45                         md = checkfield(md,'planetmesh.y','NaN',1,'size',[md.planetmesh.numberofvertices 1]);
    46                         md = checkfield(md,'planetmesh.z','NaN',1,'size',[md.planetmesh.numberofvertices 1]);
    47                         md = checkfield(md,'planetmesh.r','NaN',1,'size',[md.planetmesh.numberofvertices 1]);
    48                         md = checkfield(md,'planetmesh.theta','NaN',1,'size',[md.planetmesh.numberofvertices 1]);
    49                         md = checkfield(md,'planetmesh.phi','NaN',1,'size',[md.planetmesh.numberofvertices 1]);
    50                         md = checkfield(md,'planetmesh.elements','NaN',1,'>',0,'values',1:md.planetmesh.numberofvertices);
    51                         if(md.planetmesh.dimension==2),
    52                                 md = checkfield(md,'planetmesh.elements','size',[md.planetmesh.numberofelements 3]);
     44                        md = checkfield(md,'spheremesh.x','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     45                        md = checkfield(md,'spheremesh.y','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     46                        md = checkfield(md,'spheremesh.z','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     47                        md = checkfield(md,'spheremesh.r','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     48                        md = checkfield(md,'spheremesh.theta','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     49                        md = checkfield(md,'spheremesh.phi','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     50                        md = checkfield(md,'spheremesh.elements','NaN',1,'>',0,'values',1:md.spheremesh.numberofvertices);
     51                        if(md.spheremesh.dimension==2),
     52                                md = checkfield(md,'spheremesh.elements','size',[md.spheremesh.numberofelements 3]);
    5353                        else
    54                                 md = checkfield(md,'planetmesh.elements','size',[md.planetmesh.numberofelements 6]);
     54                                md = checkfield(md,'spheremesh.elements','size',[md.spheremesh.numberofelements 6]);
    5555                        end
    56                         if any(~ismember(1:md.planetmesh.numberofvertices,sort(unique(md.planetmesh.elements(:)))));
    57                                 md = checkmessage(md,'orphan nodes have been found. Check the planetmesh outline');
     56                        if any(~ismember(1:md.spheremesh.numberofvertices,sort(unique(md.spheremesh.elements(:)))));
     57                                md = checkmessage(md,'orphan nodes have been found. Check the spheremesh outline');
    5858                        end
    59                         md = checkfield(md,'planetmesh.dimension','values',[2 3]);
    60                         md = checkfield(md,'planetmesh.numberoflayers','>=',0);
    61                         md = checkfield(md,'planetmesh.numberofelements','>',0);
    62                         md = checkfield(md,'planetmesh.numberofvertices','>',0);
    63                         if (md.planetmesh.dimension==2),
    64                                 md = checkfield(md,'planetmesh.average_vertex_connectivity','>=',9,'message','''planetmesh.average_vertex_connectivity'' should be at least 9 in 2d');
     59                        md = checkfield(md,'spheremesh.dimension','values',[2 3]);
     60                        md = checkfield(md,'spheremesh.numberoflayers','>=',0);
     61                        md = checkfield(md,'spheremesh.numberofelements','>',0);
     62                        md = checkfield(md,'spheremesh.numberofvertices','>',0);
     63                        if (md.spheremesh.dimension==2),
     64                                md = checkfield(md,'spheremesh.average_vertex_connectivity','>=',9,'message','''spheremesh.average_vertex_connectivity'' should be at least 9 in 2d');
    6565                        else
    66                                 md = checkfield(md,'planetmesh.average_vertex_connectivity','>=',24,'message','''planetmesh.average_vertex_connectivity'' should be at least 24 in 3d');
     66                                md = checkfield(md,'spheremesh.average_vertex_connectivity','>=',24,'message','''spheremesh.average_vertex_connectivity'' should be at least 24 in 3d');
    6767                        end
    68                         md = checkfield(md,'planetmesh.elementconnectivity','size',[md.planetmesh.numberofelements 3],'NaN',1);
     68                        md = checkfield(md,'spheremesh.elementconnectivity','size',[md.spheremesh.numberofelements 3],'NaN',1);
    6969
    7070                        %Solution specific checks
     
    7272                                case MasstransportSolutionEnum(),
    7373                                        if md.masstransport.stabilization==3,
    74                                                 md = checkfield(md,'planetmesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d planetmeshes');
     74                                                md = checkfield(md,'spheremesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d spheremeshes');
    7575                                        end
    7676                                case TransientSolutionEnum(),
    7777                                        if md.transient.ismasstransport & md.masstransport.stabilization==3,
    78                                                 md = checkfield(md,'planetmesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d planetmeshes');
     78                                                md = checkfield(md,'spheremesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d spheremeshes');
    7979                                        end
    8080                                case ThermalSolutionEnum(),
    81                                         md = checkfield(md,'planetmesh.dimension','values',3,'message','thermal solution only supported on 3d planetmeshes');
     81                                        md = checkfield(md,'spheremesh.dimension','values',3,'message','thermal solution only supported on 3d spheremeshes');
    8282                        end
    8383                end % }}}
     
    9797
    9898                        disp(sprintf('\n      Properties:'));
    99                         fielddisplay(obj,'dimension','planetmesh dimension (2d or 3d)');
     99                        fielddisplay(obj,'dimension','spheremesh dimension (2d or 3d)');
    100100                        fielddisplay(obj,'numberoflayers','number of extrusion layers');
    101101
Note: See TracChangeset for help on using the changeset viewer.