SimWe仿真论坛's Archiver

COMSOL 2008年会圆满结束!

nickshao007 发表于 2008-6-8 22:35

求助这两段子程序的差别

subroutine uactive(m,n,mode,irststr,irststn,inc,time,timinc)
      implicit real*8 (a-h,o-z)                                               dp
      common /mydata/ ielem(30000)
      dimension m(2)
c     
c     user routine to activate or deacctivate an element
c
c     m(1)     - element number
c     m(2)     - master element number
c     n        - internal element number
c     mode=-1  - deactivate element
c     mode=2   - leave in current status
c     mode=1   - activate element
c     irststr  - reset stresses to zero
c     irststn  - reset strains to zero
c     inc      - increment number
c     time     - time at begining of increment
c     timinc   - incremental time
c
      kc=1
      ie=m(1)
      call elmvar(17,ie,nn,kc,v)
      if(v.gt.8.00d3) then
        ielem(ie)=1
      else
        ielem(ie)=0
      end if
      if(ielem(ie).eq.1.and.mode.ne.-1) then
         mode=-1
c        write(96,*) 'deactivating element ', ie, ' increment ', inc
      else
         mode=2
      end if
      return
      end

nickshao007 发表于 2008-6-8 22:36

subroutine plotv(v,s,sp,etot,eplas,ecreep,t,m,nn,layer,ndi,
     * nshear,jpltcd)
      implicit real*8 (a-h,o-z)                                               dp
      common /mydata/ ielem(30000)
      dimension s(*),etot(*),eplas(*),ecreep(*),sp(*)
      kc=1
      call elmvar(17,m,nn,kc,v)
c     c=0.5d0*(s(1)+s(2))
c     r=sqrt( ( (s(1)-s(2))/2.0d0 )**2 + s(4)**2)
c     v=c+r
      if(v.gt.8.00d3) then
        ielem(m)=1
      else
        ielem(m)=0
      end if
      return
      end
      subroutine uactive(m,n,mode,irststr,irststn,inc,time,timinc)
      implicit real*8 (a-h,o-z)                                               dp
      common /mydata/ ielem(30000)
      dimension m(2)
c     
c     user routine to activate or deacctivate an element
c
c     m(1)     - element number
c     m(2)     - master element number
c     n        - internal element number
c     mode=-1  - deactivate element
c     mode=2   - leave in current status
c     mode=1   - activate element
c     irststr  - reset stresses to zero
c     irststn  - reset strains to zero
c     inc      - increment number
c     time     - time at begining of increment
c     timinc   - incremental time
c
      ie=m(1)
      if(ielem(ie).eq.1.and.mode.ne.-1) then
         mode=-1
c        write(96,*) 'deactivating element ', ie, ' increment ', inc
      else
         mode=2
      end if
      return
      end

页: [1]
 

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.