Changeset 15807


Ignore:
Timestamp:
08/12/13 17:11:24 (12 years ago)
Author:
seroussi
Message:

BUG: trying to fix python BC

Location:
issm/trunk-jpl/src/m/boundaryconditions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py

    r15806 r15807  
    4747        else:
    4848                numbernodesfront=4
    49         values=md.mask.icelevelset[md.mesh.segments[:,0:-1]]
    50         segmentsfront=1-values
    51         segments=(numpy.sum(segmentsfront,axis=1)!=numbernodesfront).astype(int)
    52         #Find all nodes for these segments and spc them
    53         pos=md.mesh.segments[segments,0:-1]
     49        if any(md.mask.icelevelset<=0):
     50                values=md.mask.icelevelset[md.mesh.segments[:,0:-1]]
     51                segmentsfront=1-values
     52                segments=(numpy.sum(segmentsfront,axis=1)!=numbernodesfront).astype(int)
     53                #Find all nodes for these segments and spc them
     54                pos=md.mesh.segments[segments,0:-1]
     55        else:
     56                pos=numpy.nonzero(md.mesh.vertexonboundary)[0]
    5457        md.stressbalance.spcvx[pos[:]]=0
    5558        md.stressbalance.spcvy[pos[:]]=0
  • issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py

    r15801 r15807  
    5555        else:
    5656                numbernodesfront=4
    57         values=md.mask.icelevelset[md.mesh.segments[:,0:-1]]
    58         segmentsfront=1-values
    59         segments=(numpy.sum(segmentsfront,axis=1)!=numbernodesfront).astype(int)
    60         #Find all nodes for these segments and spc them
    61         pos=md.mesh.segments[segments,0:-1]
     57        if any(md.mask.icelevelset<=0):
     58                values=md.mask.icelevelset[md.mesh.segments[:,0:-1]]
     59                segmentsfront=1-values
     60                segments=(numpy.sum(segmentsfront,axis=1)!=numbernodesfront).astype(int)
     61                #Find all nodes for these segments and spc them
     62                pos=md.mesh.segments[segments,0:-1]
     63        else:
     64                pos=numpy.nonzero(md.mesh.vertexonboundary)[0]
    6265        md.stressbalance.spcvx[pos[:]]=0
    6366        md.stressbalance.spcvy[pos[:]]=0
Note: See TracChangeset for help on using the changeset viewer.