Changeset 15815
- Timestamp:
- 08/13/13 10:29:19 (12 years ago)
- Location:
- issm/trunk-jpl/src/m/boundaryconditions
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
r15812 r15815 50 50 values=md.mask.icelevelset[md.mesh.segments[:,0:-1]-1] 51 51 segmentsfront=1-values 52 segments=(numpy.sum(segmentsfront,axis=1)!=numbernodesfront).astype(int) 52 numpy.sum(segmentsfront,axis=1)!=numbernodesfront 53 segments=numpy.nonzero(numpy.sum(segmentsfront,axis=1)!=numbernodesfront)[0] 53 54 #Find all nodes for these segments and spc them 54 55 pos=md.mesh.segments[segments,0:-1] 55 56 else: 56 57 pos=numpy.nonzero(md.mesh.vertexonboundary)[0] 57 md.stressbalance.spcvx[pos[:]]=0 58 md.stressbalance.spcvy[pos[:]]=0 59 md.stressbalance.spcvz[pos[:]]=0 58 md.stressbalance.spcvx[pos[:]-1]=0 59 md.stressbalance.spcvy[pos[:]-1]=0 60 md.stressbalance.spcvz[pos[:]-1]=0 61 62 if md.mesh.dimension==2: 63 numbernodesfront=2 64 else: 65 numbernodesfront=4 66 if any(md.mask.icelevelset<=0): 67 values=md.mask.icelevelset[md.mesh.segments[:,0:-1]-1] 68 segmentsfront=1-values 69 numpy.sum(segmentsfront,axis=1)!=numbernodesfront 70 segments=numpy.nonzero(numpy.sum(segmentsfront,axis=1)!=numbernodesfront)[0] 71 print segments 72 #Find all nodes for these segments and spc them 73 pos=md.mesh.segments[segments,0:-1] 74 print pos 75 else: 76 pos=numpy.nonzero(md.mesh.vertexonboundary)[0] 77 md.stressbalance.spcvx[pos[:]-1]=0 78 md.stressbalance.spcvy[pos[:]-1]=0 79 md.stressbalance.spcvz[pos[:]-1]=0 60 80 61 81 #Dirichlet Values -
issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
r15812 r15815 58 58 values=md.mask.icelevelset[md.mesh.segments[:,0:-1]-1] 59 59 segmentsfront=1-values 60 segments=(numpy.sum(segmentsfront,axis=1)!=numbernodesfront).astype(int) 60 numpy.sum(segmentsfront,axis=1)!=numbernodesfront 61 segments=numpy.nonzero(numpy.sum(segmentsfront,axis=1)!=numbernodesfront)[0] 61 62 #Find all nodes for these segments and spc them 62 63 pos=md.mesh.segments[segments,0:-1] 63 64 else: 64 65 pos=numpy.nonzero(md.mesh.vertexonboundary)[0] 65 md.stressbalance.spcvx[pos[:] ]=066 md.stressbalance.spcvy[pos[:] ]=067 md.stressbalance.spcvz[pos[:] ]=066 md.stressbalance.spcvx[pos[:]-1]=0 67 md.stressbalance.spcvy[pos[:]-1]=0 68 md.stressbalance.spcvz[pos[:]-1]=0 68 69 69 70 #Dirichlet Values
Note:
See TracChangeset
for help on using the changeset viewer.