[17802] | 1 | Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 17221)
|
---|
| 4 | +++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 17222)
|
---|
| 5 | @@ -678,6 +678,7 @@
|
---|
| 6 | /*Levelset related enums (will be moved to appropriate place when finished){{{*/
|
---|
| 7 | TransientIslevelsetEnum,
|
---|
| 8 | ExtrapolationVariableEnum,
|
---|
| 9 | + IceMaskNodeActivationEnum,
|
---|
| 10 | /*}}}*/
|
---|
| 11 | MaximumNumberOfDefinitionsEnum
|
---|
| 12 | };
|
---|
| 13 | Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
|
---|
| 14 | ===================================================================
|
---|
| 15 | --- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 17221)
|
---|
| 16 | +++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 17222)
|
---|
| 17 | @@ -637,6 +637,7 @@
|
---|
| 18 | case LliboutryDuvalEnum : return "LliboutryDuval";
|
---|
| 19 | case TransientIslevelsetEnum : return "TransientIslevelset";
|
---|
| 20 | case ExtrapolationVariableEnum : return "ExtrapolationVariable";
|
---|
| 21 | + case IceMaskNodeActivationEnum : return "IceMaskNodeActivation";
|
---|
| 22 | case MaximumNumberOfDefinitionsEnum : return "MaximumNumberOfDefinitions";
|
---|
| 23 | default : return "unknown";
|
---|
| 24 |
|
---|
| 25 | Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
|
---|
| 26 | ===================================================================
|
---|
| 27 | --- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 17221)
|
---|
| 28 | +++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 17222)
|
---|
| 29 | @@ -652,6 +652,7 @@
|
---|
| 30 | else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
|
---|
| 31 | else if (strcmp(name,"TransientIslevelset")==0) return TransientIslevelsetEnum;
|
---|
| 32 | else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
|
---|
| 33 | + else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
|
---|
| 34 | else if (strcmp(name,"MaximumNumberOfDefinitions")==0) return MaximumNumberOfDefinitionsEnum;
|
---|
| 35 | else stage=7;
|
---|
| 36 | }
|
---|
| 37 | Index: ../trunk-jpl/src/m/classes/mask.m
|
---|
| 38 | ===================================================================
|
---|
| 39 | --- ../trunk-jpl/src/m/classes/mask.m (revision 17221)
|
---|
| 40 | +++ ../trunk-jpl/src/m/classes/mask.m (revision 17222)
|
---|
| 41 | @@ -38,6 +38,14 @@
|
---|
| 42 | function marshall(obj,md,fid) % {{{
|
---|
| 43 | WriteData(fid,'object',obj,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1);
|
---|
| 44 | WriteData(fid,'object',obj,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
|
---|
| 45 | +
|
---|
| 46 | + % get mask of vertices of elements with ice
|
---|
| 47 | + isice=md.mask.ice_levelset<=0.;
|
---|
| 48 | + vlist = zeros(md.mesh.numberofvertices,1);
|
---|
| 49 | + pos=find(sum(isice(md.mesh.elements),2)>0);
|
---|
| 50 | + vlist(md.mesh.elements(pos,:))=1;
|
---|
| 51 | + WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
|
---|
| 52 | +
|
---|
| 53 | end % }}}
|
---|
| 54 | end
|
---|
| 55 | end
|
---|
| 56 | Index: ../trunk-jpl/src/m/classes/mask.py
|
---|
| 57 | ===================================================================
|
---|
| 58 | --- ../trunk-jpl/src/m/classes/mask.py (revision 17221)
|
---|
| 59 | +++ ../trunk-jpl/src/m/classes/mask.py (revision 17222)
|
---|
| 60 | @@ -1,3 +1,4 @@
|
---|
| 61 | +import numpy
|
---|
| 62 | from fielddisplay import fielddisplay
|
---|
| 63 | from EnumDefinitions import *
|
---|
| 64 | from checkfield import *
|
---|
| 65 | @@ -42,4 +43,11 @@
|
---|
| 66 | def marshall(self,md,fid): # {{{
|
---|
| 67 | WriteData(fid,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1)
|
---|
| 68 | WriteData(fid,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1)
|
---|
| 69 | +
|
---|
| 70 | + # get mask of vertices of elements with ice
|
---|
| 71 | + isice=numpy.array(md.mask.ice_levelset<=0.,int)
|
---|
| 72 | + vlist = numpy.zeros((md.mesh.numberofvertices,1), dtype=int)
|
---|
| 73 | + pos=numpy.nonzero(numpy.sum(isice[md.mesh.elements-1],axis=1))[0]
|
---|
| 74 | + vlist[md.mesh.elements[pos,:]-1]=1
|
---|
| 75 | + WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
|
---|
| 76 | # }}}
|
---|
| 77 | Index: ../trunk-jpl/src/m/enum/EnumDefinitions.py
|
---|
| 78 | ===================================================================
|
---|
| 79 | --- ../trunk-jpl/src/m/enum/EnumDefinitions.py (revision 17221)
|
---|
| 80 | +++ ../trunk-jpl/src/m/enum/EnumDefinitions.py (revision 17222)
|
---|
| 81 | @@ -629,4 +629,5 @@
|
---|
| 82 | def LliboutryDuvalEnum(): return StringToEnum("LliboutryDuval")[0]
|
---|
| 83 | def TransientIslevelsetEnum(): return StringToEnum("TransientIslevelset")[0]
|
---|
| 84 | def ExtrapolationVariableEnum(): return StringToEnum("ExtrapolationVariable")[0]
|
---|
| 85 | +def IceMaskNodeActivationEnum(): return StringToEnum("IceMaskNodeActivation")[0]
|
---|
| 86 | def MaximumNumberOfDefinitionsEnum(): return StringToEnum("MaximumNumberOfDefinitions")[0]
|
---|