亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? p64.f90

?? fortran程序
?? F90
字號:
 program p64                                                            
!-----------------------------------------------------------------------
!      program 6.4 plane strain of an elastic-plastic(Von Mises) solid
!      using 8-node quadrilateral elements; initial stress method  with
!      tangent stiffness ; consistent return algorithm for problem of p60
!------------------------------------------------------------------------
 use new_library  ;    use geometry_lib ;       implicit none
 integer::nels,nxe,nye,neq,nband,nn,nr,nip,nodof=2,nod=8,nst=4,ndof,          &
          loaded_nodes,i,k,iel,iters,limit,incs,iy,ndim=2
 logical::converged      ; character(len=15) :: element='quadrilateral'
 real::e,v,det,cu,ptot,fnew,ff,fstiff,dlam,dslam,dsbar,lode_theta,sigm,       &
       top,bot,tload,tloads,residual,tol,fftol,ltol
!--------------------------- dynamic arrays-----------------------------------
 real    ,allocatable :: kb(:,:),loads(:),points(:,:),totd(:),bdylds(:),      &
                         width(:),depth(:),tensor(:,:,:),                     &
                         dee(:,:),coord(:,:),fun(:),jac(:,:),weights(:),      &
                         der(:,:),deriv(:,:),bee(:,:),km(:,:),eld(:),eps(:),  &
                         sigma(:),bload(:),eload(:),elso(:),g_coord(:,:),     &
                         oldis(:),val(:,:),stress(:),qinc(:),ddylds(:),       &
                         dl(:,:),dload(:),vmfl(:),caflow(:),dsigma(:),        &
                         ress(:),rmat(:,:),acat(:,:),acatc(:,:),qmat(:,:),    &
                         qinva(:),daatd(:,:),temp(:,:),vmflq(:),              &
                         vmfla(:),qinvr(:),vmtemp(:,:)
 integer, allocatable :: nf(:,:) , g(:), no(:) ,num(:), g_num(:,:) ,g_g(:,:)   
!-------------------------input and initialisation-----------------------------
  open (10,file='p64.dat',status=    'old',action='read')
  open (11,file='p64.res',status='replace',action='write')                   
  read (10,*) cu,e,v,    nels,nxe,nye,nn,nip,tol,fftol,ltol,limit
  ndof=nod*nodof   
  allocate (nf(nodof,nn), points(nip,ndim),weights(nip),g_coord(ndim,nn),     &
            width(nxe+1),depth(nye+1),num(nod),dee(nst,nst),                  &
            tensor(nst,nip,nels),g_g(ndof,nels),coord(nod,ndim),stress(nst),  &
            jac(ndim,ndim),der(ndim,nod),deriv(ndim,nod),g_num(nod,nels),     &
            bee(nst,ndof),km(ndof,ndof),eld(ndof),eps(nst),sigma(nst),        &
            bload(ndof),eload(ndof),elso(nst),g(ndof),vmfl(nst),qinvr(nst),   &
            temp(nst,nst),dl(nip,nels),                                       &
            dload(ndof),caflow(nst),dsigma(nst),ress(nst),rmat(nst,nst),      &
            acat(nst,nst),acatc(nst,nst),qmat(nst,nst),qinva(nst),            &
            daatd(nst,nst),vmflq(nst),vmfla(nst),vmtemp(1,nst))                 
  nf=1; read(10,*) nr ; if(nr>0) read(10,*)(k,nf(:,k),i=1,nr)
  call formnf(nf); neq=maxval(nf)     ;  read(10,*) width, depth
  temp = .0; temp(1,1)=1.;temp(2,2)=1.;temp(3,3)=3.;temp(4,4)=1.
  temp(1,2)=-.5;temp(2,1)=-.5;temp(1,4)=-.5
  temp(2,4)=-.5;temp(4,1)=-.5;temp(4,2)=-.5
!--------------- loop the elements to find nband and set up global arrays -----
     nband = 0
       elements_1:   do iel = 1 , nels
                        call geometry_8qyv(iel,nye,width,depth,coord,num)
                        call num_to_g(num,nf,g);           g_num(:,iel)=num
                        g_coord(:,num)=transpose(coord) ;  g_g(: , iel ) = g
                        if (nband<bandwidth(g)) nband = bandwidth(g)
      end do elements_1    
    write(11,'(a)') "Global coordinates "
    do k=1,nn;write(11,'(a,i5,a,2e12.4)')"Node",k,"       ",g_coord(:,k);end do
    write(11,'(a)') "Global node numbers "
    do k = 1 , nels; write(11,'(a,i5,a,8i5)')                                  &
                             "Element ",k,"        ",g_num(:,k); end do  
    write(11,'(a,i5,a,i5)')                                                    &
            "The number of equations is ",neq," with half-bandwidth ",nband
  allocate(kb(neq,nband+1),loads(0:neq),bdylds(0:neq),oldis(0:neq),           & 
           totd(0:neq),ddylds(0:neq)) 
  kb=0.0; oldis=0.0; totd=0.0 
  call deemat(dee,e,v); call sample(element,points,weights);tensor=.0;  dl=.0 
!------------- starting element stiffness integration and assembly-------------
 elements_2: do iel = 1 , nels
                num = g_num(: , iel) ; coord =transpose( g_coord( : , num )) 
                g = g_g( : , iel )   ;     km=0.0
             gauss_pts_1:  do i =1 , nip
               call shape_der (der,points,i);  jac = matmul(der,coord) 
               det = determinant(jac)  ;   call invert(jac)
               deriv = matmul(jac,der) ;  call beemat (bee,deriv)           
               km = km + matmul(matmul(transpose(bee),dee),bee) *det* weights(i)
            end do gauss_pts_1   
   call formkb (kb,km,g)
 end do elements_2
!---------------------read load weightings and factorise l.h.s. ---------------
 read(10,*) loaded_nodes ; allocate(no(loaded_nodes),val(loaded_nodes,ndim)) 
 read(10,*)(no(i),val(i,:),i=1,loaded_nodes)             
         call cholin(kb)                    
!-------------------------- load increment loop--------------------------------
 read(10,*) incs ; allocate(qinc(incs)) ;   read(10,*)qinc ;   ptot = .0
     load_increments: do iy=1,incs
         write(11,'(/,a,i5)') ' Load increment  ',iy
         ptot=ptot + qinc(iy) ;   iters = 0 ;  bdylds=.0 ;  loads=.0
      do i=1,loaded_nodes ; loads(nf(:,no(i)))=val(i,:)*qinc(iy) ;  end do
!-----------------------   iteration loop  ------------------------------------
   iterations: do
    iters=iters+1;  if(iters/=1)loads=.0   ;loads = loads + bdylds  
       write(11,'(a,i5)') "Iteration number",iters  
        call chobac(kb,loads)  ; bdylds = .0    ; ddylds = .0
!---------------------- go round the elements ---------------------------------
      kb = .0
      elements_3: do iel = 1 , nels
       bload=.0   ;   dload = .0
       num = g_num( : , iel ) ; coord = transpose(g_coord( : , num ))
       g = g_g( : , iel )  ;   km = .0 ;    eld = loads(g)   
!---------------------- go round the Gauss points ----------------------------  
       gauss_points_2 : do i = 1 , nip
          elso = .0 ; call shape_der ( der,points,i); jac=matmul(der,coord)
          det = determinant(jac)  ;   call invert(jac)
          deriv = matmul(jac,der) ; call beemat (bee,deriv)
          eps = matmul(bee,eld);    call deemat(dee,e,v)
          stress = tensor(: , i , iel)
          call invar(stress,sigm,dsbar,lode_theta) ; ff = dsbar-sqrt(3.)*cu
           if(ff>fftol) then
             dlam = dl(i,iel) ; call vmflow(stress,dsbar,vmfl)
             call fmrmat(vmfl,dsbar,dlam,dee,temp,rmat)
             caflow = matmul(rmat,vmfl); bot=dot_product(vmfl,caflow)
             call formaa(vmfl,rmat,daatd); dee = rmat - daatd/bot
           end if
          sigma = matmul(dee,eps)   ;  stress = sigma + tensor( : , i , iel)
          call invar(stress,sigm,dsbar,lode_theta)
!---------------------  check whether yield is violated -----------------------
          fnew = dsbar - sqrt(3.)*cu ; fstiff = fnew
          if (fnew>=.0) then
              call deemat(dee,e,v) ; call vmflow(stress,dsbar,vmfl)
              caflow = matmul(dee,vmfl); bot=dot_product(vmfl,caflow)
              dlam = fnew/bot; elso = caflow*dlam 
              stress = tensor( : , i , iel) + sigma - elso
              call invar(stress,sigm,dsbar,lode_theta);fnew= dsbar-sqrt(3.)*cu
             iterate_on_fnew : do
               call vmflow(stress,dsbar,vmfl); caflow = matmul(dee,vmfl)*dlam
               ress = stress - (tensor(: , i , iel) +sigma - caflow)
               call fmacat(vmfl,temp,acat); acat = acat / dsbar
               acatc = matmul(dee,acat); qmat = acatc*dlam
               do k=1,4; qmat(k,k)=qmat(k,k)+1.; end do; call invert(qmat)
               vmtemp(1,:)=vmfl; vmtemp = matmul(vmtemp,qmat);vmflq=vmtemp(1,:)
               top = dot_product(vmflq,ress)
               vmtemp = matmul(vmtemp,dee);vmfla=vmtemp(1,:) 
               bot = dot_product(vmfla,vmfl) ; dslam = (fnew - top)/bot
               qinvr = matmul(qmat,ress); qinva=matmul(matmul(qmat,dee),vmfl)
               dsigma = -qinvr - qinva*dslam; stress = stress + dsigma
               call invar(stress,sigm,dsbar,lode_theta)
               fnew = dsbar - sqrt(3.)*cu;  dlam = dlam + dslam
               if (fnew<tol) exit
             end do iterate_on_fnew
             dl(i,iel) = dlam
             elso = tensor( : , i , iel) + sigma - stress
             eload=matmul(elso,bee);bload=bload+eload*det*weights(i)
             call vmflow(stress,dsbar,vmfl)
             call fmrmat(vmfl,dsbar,dlam,dee,temp,rmat)
             caflow=matmul(rmat,vmfl);bot = dot_product(vmfl,caflow)
             call formaa(vmfl,rmat,daatd)
             dee = rmat - daatd/bot
          end if
          if(fstiff<.0) call deemat(dee,e,v)
              km = km + matmul(matmul(transpose(bee),dee),bee) *det* weights(i)
!----------------------  update the Gauss Point stresses ----------------------
          tensor( : , i , iel) = tensor( : , i , iel) + sigma - elso
          stress = tensor ( : , i , iel)
          eload=matmul(stress,bee); dload=dload+eload*det*weights(i)
    end do gauss_points_2
!-------------------    compute the total bodyloads vector  -------------------
    bdylds( g ) = bdylds( g ) + bload  ; bdylds(0) = .0   
    ddylds( g ) = ddylds( g ) + dload  ; ddylds(0) = .0
    call formkb (kb,km,g) 
  end do elements_3 
   call cholin(kb)  ; tload = sum(ddylds)  ; tloads = sum(bdylds)
   if(iters==1)converged=.false.;if(iters/=1.and.tloads<ltol)converged=.true.
   residual = (2.*ptot+tload-tloads)/(2.*ptot)
   write(11,'(a,10e12.4)')"tloads,tload,residual are",tloads,tload,residual
   totd = totd + loads             
  if(converged.or.iters==limit)exit
 end do iterations
 totd=totd+loads  
 write(11,'(a,e12.4)') "The total load is  ",ptot
 write(11,'(a,10e12.4)') "Displacements are",totd(nf(2,no))
 write(11,'(a,i5,a)') "It took ",iters,"   iterations to converge" 
 if(iters==limit)stop
end do load_increments
end program p64 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区久久影院| 91一区二区三区在线观看| 国产盗摄女厕一区二区三区| 成人av资源在线观看| 欧美在线观看18| 日韩精品影音先锋| 国产精品久久久久久久裸模| 亚洲午夜视频在线观看| 麻豆成人久久精品二区三区红| 国产91精品久久久久久久网曝门| 99riav久久精品riav| 91麻豆精品国产无毒不卡在线观看| 精品动漫一区二区三区在线观看| 国产精品初高中害羞小美女文| 婷婷亚洲久悠悠色悠在线播放| 国产精品一区二区黑丝| 91国偷自产一区二区三区成为亚洲经典 | 高清av一区二区| 欧亚一区二区三区| 日韩欧美国产不卡| 亚洲色图清纯唯美| 麻豆91在线观看| 色综合视频一区二区三区高清| 日韩免费看网站| 亚洲欧洲99久久| 美女一区二区在线观看| 99精品热视频| 精品国产一区二区精华| 一片黄亚洲嫩模| 国产激情一区二区三区| 欧美日韩成人一区| 国产精品久久免费看| 麻豆91免费看| 欧美专区在线观看一区| 国产欧美va欧美不卡在线| 天堂av在线一区| 色综合久久久久久久| 国产欧美综合色| 蜜桃视频免费观看一区| 欧美亚洲图片小说| 中文字幕精品一区二区三区精品| 日韩av一区二区在线影视| 91网站视频在线观看| 久久嫩草精品久久久久| 日韩av午夜在线观看| 91精品福利视频| 国产精品美女久久久久高潮| 精品一区二区三区视频在线观看| 欧美日韩在线不卡| 亚洲免费av高清| 成人精品一区二区三区中文字幕| 欧美成人精品二区三区99精品| 亚洲一区二区三区四区在线观看 | 久久久久久久久久久黄色| 天天综合色天天| 欧美在线播放高清精品| 亚洲婷婷综合色高清在线| 国产成人超碰人人澡人人澡| 日韩欧美亚洲一区二区| 日韩综合在线视频| 欧美日韩国产另类不卡| 亚洲国产一区二区在线播放| 色婷婷亚洲精品| 亚洲男帅同性gay1069| 99综合影院在线| 国产精品乱码久久久久久| 国产精品一区专区| 久久久噜噜噜久久人人看| 麻豆一区二区三区| 5566中文字幕一区二区电影| 亚洲午夜精品网| 欧美视频在线一区| 亚洲一二三专区| 欧美视频一二三区| 亚洲第一会所有码转帖| 欧美性猛片xxxx免费看久爱| 亚洲永久精品大片| 欧美视频在线一区二区三区| 亚洲高清三级视频| 欧美日韩另类国产亚洲欧美一级| 亚洲高清三级视频| 欧美精品高清视频| 免费成人在线视频观看| 日韩欧美的一区二区| 国产在线不卡视频| 亚洲国产精华液网站w| 不卡的av电影| 樱桃国产成人精品视频| 欧美色国产精品| 日本不卡视频在线| 精品999久久久| 成人午夜免费视频| 亚洲欧洲综合另类| 欧美三级一区二区| 日本免费新一区视频| 精品福利一区二区三区| 国产a精品视频| 亚洲欧美激情视频在线观看一区二区三区 | 色综合咪咪久久| 亚洲不卡av一区二区三区| 91精品国产乱| 国内精品免费**视频| 国产精品美女久久久久久2018| 色哟哟在线观看一区二区三区| 性做久久久久久久久| 欧美tickle裸体挠脚心vk| 成人天堂资源www在线| 一区二区视频在线| 日韩亚洲欧美一区| 国产宾馆实践打屁股91| 亚洲综合无码一区二区| 日韩午夜在线观看| 成人黄色免费短视频| 一区二区三区小说| 日韩欧美视频在线| www.亚洲色图| 日韩av成人高清| 中文一区一区三区高中清不卡| 在线观看免费一区| 国内精品国产成人国产三级粉色| 国产精品久久久久桃色tv| 777午夜精品视频在线播放| 久久激情五月婷婷| 亚洲视频一二区| 日韩欧美国产成人一区二区| 成人av在线播放网站| 爽好多水快深点欧美视频| 国产清纯在线一区二区www| 欧美亚洲动漫精品| 国产传媒欧美日韩成人| 亚洲bdsm女犯bdsm网站| 欧美激情一区二区三区在线| 欧美裸体一区二区三区| 成人午夜电影久久影院| 日本一不卡视频| 日韩伦理电影网| 久久久久久久精| 欧美丰满美乳xxx高潮www| av电影在线不卡| 麻豆精品蜜桃视频网站| 亚洲黄色尤物视频| 日本一区二区三区在线不卡 | 亚洲第一激情av| 中文字幕乱码久久午夜不卡| 日韩欧美国产成人一区二区| 色婷婷国产精品综合在线观看| 国产精品一区免费视频| 香蕉av福利精品导航| 亚洲素人一区二区| 久久网站热最新地址| 在线成人av网站| 色婷婷激情综合| 成人a免费在线看| 国产精品1024久久| 久久激情五月激情| 日韩国产精品久久久| 一区二区三区小说| 中文字幕一区三区| 久久精品人人做| 精品精品欲导航| 91精品在线麻豆| 欧美日韩精品是欧美日韩精品| 91免费在线视频观看| 岛国一区二区三区| 国产精品资源网站| 久久 天天综合| 久久精品国产在热久久| 日韩影院精彩在线| 亚洲福利视频一区二区| 一区二区三区四区乱视频| 综合分类小说区另类春色亚洲小说欧美| 日韩欧美在线一区二区三区| 777欧美精品| 777奇米成人网| 7777精品伊人久久久大香线蕉完整版 | 在线精品亚洲一区二区不卡| 91在线一区二区三区| 成人18视频日本| aaa亚洲精品| 99re亚洲国产精品| 93久久精品日日躁夜夜躁欧美| a在线播放不卡| 91视频.com| 在线看国产一区| 欧美三级中文字| 91超碰这里只有精品国产| 欧美一区二区啪啪| 日韩一区二区在线看| 日韩精品一区二区三区老鸭窝| 欧美电影免费提供在线观看| 日韩欧美一二区| 久久久亚洲午夜电影| 国产欧美一区二区三区沐欲 | 色综合天天视频在线观看| 色婷婷精品大在线视频| 欧美在线|欧美| 91麻豆精品国产91| 精品久久久久久无| 欧美韩国日本不卡| 日韩码欧中文字|