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

📄 echange_kdif.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : echange_kdif           	  Auteur : E. Radenac!                                         Date   : Mai 2003! Fonction                                Modif  : Juin 2003!   Echange de donnees entre zones de calcul, pour deux materiaux couples!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine echange_kdif(echdata1, echdata2, normale, vecinter, d1, d2, nfacelim, &			typecalcul, typemethode, bocokdif1, bocokdif2, connface2)use TYPHMAKEuse OUTPUTuse GEO3Duse DEFFIELDuse MENU_KDIFimplicit none! -- Declaration des entrees --type(st_genericfield)      :: echdata1, echdata2integer                    :: nfacelim   ! nombre de faces limites sur l'interfacetype(v3d), dimension(nfacelim) &                           :: vecinter                ! vecteur unitaire "intercellules"                       type(v3d), dimension(nfacelim) &                           :: normale ! normales a l'interfacereal(krp), dimension(nfacelim) &		           :: d1, d2  ! distance entre les centres des cellules gauche,		      		      ! droite et l'interfaceinteger                    :: typecalcul, typemethodeinteger, dimension(nfacelim) &                           :: connface2! -- Declaration des entrees/sorties --type(st_boco_kdif)         :: bocokdif1, bocokdif2! -- Declaration des variables internes --integer                  :: ifreal(krp)                :: temp1, temp2   ! temperatures a echangertype(v3d)                :: gradtemp1, gradtemp2    ! gradients de temperature a echangerreal(krp)                :: conduct1, conduct2 ! conductivites a echangertype(v3d)                :: flux1, flux2 ! densite de flux a echanger                         real(krp)                :: temp_interreal(krp)                :: flux_inter! -- Debut de la procedure --! boucle sur les faces de l'interface entre les deux zones.do if = 1, nfacelim  ! Donnees instationnaires   temp1 = echdata1%tabscal(1)%scal(if)   temp2 = echdata2%tabscal(1)%scal(if)   gradtemp1 = echdata1%tabvect(1)%vect(if)   gradtemp2 = echdata2%tabvect(1)%vect(if)   conduct1 = echdata1%tabscal(2)%scal(if)   conduct2 = echdata2%tabscal(2)%scal(if)   flux1 = - conduct1 * gradtemp1   flux2 = - conduct2 * gradtemp2   !Appel aux sous-routines de calcul de flux et temperature a l'interface.  !flux_inter = 0  call calc_fluxinter_kdif(temp1, temp2, gradtemp1, gradtemp2, conduct1, conduct2,&   			   d1(if), d2(if), vecinter(if), flux1, flux2, normale(if), &                           flux_inter, typecalcul, typemethode)    call calc_tempinter_kdif(temp1, temp2, conduct1, conduct2, d1(if), d2(if), &  					temp_inter)  !Conditions aux limites des deux zones  call stock_kdif_cond_coupling(bocokdif1, temp_inter, flux_inter, if, temp2)  call stock_kdif_cond_coupling(bocokdif2, temp_inter, -flux_inter, connface2(if), temp1) enddoendsubroutine echange_kdif

⌨️ 快捷键说明

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