Changeset 17222


Ignore:
Timestamp:
02/05/14 17:14:02 (11 years ago)
Author:
jbondzio
Message:

ADD: IceMaskNodeActivationEnum. Ice mask for activation of nodes now marshalled during initialization of model

Location:
issm/trunk-jpl/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r17192 r17222  
    679679        TransientIslevelsetEnum,
    680680        ExtrapolationVariableEnum,
     681        IceMaskNodeActivationEnum,
    681682        /*}}}*/
    682683        MaximumNumberOfDefinitionsEnum
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r17192 r17222  
    638638                case TransientIslevelsetEnum : return "TransientIslevelset";
    639639                case ExtrapolationVariableEnum : return "ExtrapolationVariable";
     640                case IceMaskNodeActivationEnum : return "IceMaskNodeActivation";
    640641                case MaximumNumberOfDefinitionsEnum : return "MaximumNumberOfDefinitions";
    641642                default : return "unknown";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r17192 r17222  
    653653              else if (strcmp(name,"TransientIslevelset")==0) return TransientIslevelsetEnum;
    654654              else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
     655              else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
    655656              else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
    656657         else stage=7;
  • issm/trunk-jpl/src/m/classes/mask.m

    r17214 r17222  
    3939                        WriteData(fid,'object',obj,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1);
    4040                        WriteData(fid,'object',obj,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
     41
     42                        % get mask of vertices of elements with ice
     43                        isice=md.mask.ice_levelset<=0.;
     44                        vlist = zeros(md.mesh.numberofvertices,1);
     45                        pos=find(sum(isice(md.mesh.elements),2)>0);
     46                        vlist(md.mesh.elements(pos,:))=1;
     47                        WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
     48
    4149                end % }}}
    4250        end
  • issm/trunk-jpl/src/m/classes/mask.py

    r17214 r17222  
     1import numpy
    12from fielddisplay import fielddisplay
    23from EnumDefinitions import *
     
    4344                WriteData(fid,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1)
    4445                WriteData(fid,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1)
     46
     47                # get mask of vertices of elements with ice
     48                isice=numpy.array(md.mask.ice_levelset<=0.,int)
     49                vlist = numpy.zeros((md.mesh.numberofvertices,1), dtype=int)
     50                pos=numpy.nonzero(numpy.sum(isice[md.mesh.elements-1],axis=1))[0]
     51                vlist[md.mesh.elements[pos,:]-1]=1
     52                WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
    4553        # }}}
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r17191 r17222  
    630630def TransientIslevelsetEnum(): return StringToEnum("TransientIslevelset")[0]
    631631def ExtrapolationVariableEnum(): return StringToEnum("ExtrapolationVariable")[0]
     632def IceMaskNodeActivationEnum(): return StringToEnum("IceMaskNodeActivation")[0]
    632633def MaximumNumberOfDefinitionsEnum(): return StringToEnum("MaximumNumberOfDefinitions")[0]
Note: See TracChangeset for help on using the changeset viewer.