⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uk1.f90

📁 这是一个用fortran编写的“第一类边界条件的有限元算法”
💻 F90
字号:
!***************************************************************************!
!                   SUBROUTINE UK1(nd,ne,iw,i3,xy,sk)                       !
!                                                                           !
!   功能     三角单元,线性插值时用定带宽储存的方法集成总体矩阵              !
!   参数说明                                                                !
!     nd---整型变量,输入参数,节点总数。                                     !
!     ne---整型变量,输入参数,单元总数。                                     !
!     iw---整型变量,输入参数,半带宽。                                       !
!     i3---3*ne的二维整数组,输入参数,存放单元节点编号,存放顺序:i1,j1,m1,    !
!          ...,ine,jne,mne。                                                !
!     xy---2*nd的二维整数组,输入参数,存放节点的xy坐标,存放顺序:x1,y1,       !
!          ...,xnd,ynd。                                                    !
!     sk---nd*iw的二维整数组,输出参数,存放定带宽储存的总体系数矩阵          !
!***************************************************************************!

SUBROUTINE UK1(nd,ne,iw,i3,xy,sk)

   DIMENSION i3(3,ne),xy(2,nd),sk(nd,iw)
   dimension x(3),y(3)
   real ke(3,3)
   
     do 10 i=1,nd
	   do 10 j=1,iw
10	     sk(i,j)=0
		   do 20 l=1,ne
		     do 30 j=1,3
			   i=i3(j,l)
			   x(j)=xy(1,i)
30			   y(j)=xy(2,i)
             call UKE1(x,y,ke)
			 do 40 j=1,3
			   nj=i3(j,l)
			 do 40 k=1,j
			   nk=i3(k,l)
			   if(nj.lt.nk) goto 50
			     nk=nk-nj+iw
				 sk(nj,nk)=sk(nj,nk)+ke(j,k)
				 goto 40
50			    nj=nj-nk+iw
                sk(nk,nj)=sk(nk,nj)+ke(j,k)
				nj=nj+nk-iw
40			  continue
20        continue
     return
 end subroutine UK1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -