Changeset 21155
- Timestamp:
- 08/24/16 11:02:56 (9 years ago)
- Location:
- issm/trunk-jpl/src/m/classes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/mask.js
r20832 r21155 19 19 fielddisplay(this,"ice_levelset","presence of ice if < 0, icefront position if = 0, no ice if > 0"); 20 20 } //}}} 21 22 23 24 25 21 this.extrude = function(md) {//{{{ 22 this.groundedice_levelset=project3d(md,'vector',this.groundedice_levelset,'type','node'); 23 this.ice_levelset=project3d(md,'vector',this.ice_levelset,'type','node'); 24 return this; 25 }//}}} 26 26 this.classname = function () { //{{{ 27 27 return "mask"; … … 39 39 console.log('no ice front provided'); 40 40 } 41 42 var icefront=NewArrayFill(md.mesh.numberofelements,0);43 for(var i=0;i<md.mesh.numberofelements;i++){44 for(var j=0;j<md.mesh.elements[0].length;j++){45 icefront[i]+=(md.mask.ice_levelset[md.mesh.elements[i][j]-1]==0);46 }47 }48 if ((ArrayMax(icefront)==3 & (md.mesh.elementtype() == 'Tria')) | (ArrayMax(icefront)==6 & md.mesh.elementtype() == 'Penta')){49 if (md.mesh.elementtype()=='Tria'){50 var pos=ArrayFindEqual(icefront,3); numberemptyelements=pos.length;51 }52 else if (md.mesh.elementtype() == 'Penta'){53 var pos=ArrayFindEqual(icefront,6); numberemptyelements=pos.length;54 }55 throw Error(sprintf(" %i have all nodes on ice front, change md.mask.ice_levelset to fix it",numberemptyelements));56 }57 41 } // }}} 58 42 this.marshall=function(md,prefix,fid) { //{{{ -
issm/trunk-jpl/src/m/classes/mask.m
r21141 r21155 48 48 disp('WARNING: no ice front provided'); 49 49 end 50 icefront=sum(md.mask.ice_levelset(md.mesh.elements)==0,2);51 if (max(icefront)==3 & strcmp(elementtype(md.mesh),'Tria')) | (max(icefront==6) & strcmp(elementtype(md.mesh),'Penta')),52 error('At least one element has all nodes on ice front, change md.mask.ice_levelset to fix it')53 end54 50 end % }}} 55 51 function disp(self) % {{{ -
issm/trunk-jpl/src/m/classes/mask.py
r21049 r21155 44 44 raise TypeError("no ice present in the domain") 45 45 46 icefront=numpy.sum(md.mask.ice_levelset[md.mesh.elements-1]==0,axis=1)47 if (max(icefront)==3 and m.strcmp(md.mesh.elementtype(),'Tria')) or (max(icefront==6) and m.strcmp(md.mesh.elementtype(),'Penta')):48 raise TypeError("At least one element has all nodes on ice front, change md.mask.ice_levelset to fix it")49 50 46 return md 51 47 # }}}
Note:
See TracChangeset
for help on using the changeset viewer.