init_coupling.f90

来自「国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码」· F90 代码 · 共 96 行

F90
96
字号
!------------------------------------------------------------------------------!! Procedure : init_coupling               Auteur : E. Radenac!                                         Date   : Juin 2003! Fonction                                Modif  :!   Initialisation des structures de donnees d'echange et de resultats de!   couplage!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine init_coupling(zone1, zone2, nbc1, nbc2, ncoupl1, ncoupl2, raccord)use TYPHMAKEuse DEFZONEuse OUTPUTuse VARCOMimplicit none! -- Declaration des entrees --integer :: nbc1, nbc2  ! indices de conditions limites pour les zones 1 et 2integer :: ncoupl1, ncoupl2 ! numero de raccord pour les zones 1 et 2integer :: raccord     ! type de conditions limites au raccord! -- Declaration des sorties --! -- Declaration des entrees/sorties --type(st_zone) :: zone1, zone2! -- Declaration des variables internes --integer       :: ic, ibinteger       :: typsolver1, typsolver2! -- Debut de la procedure --! Determination des solveurs des deux zones coupleestypsolver1 = zone1%defsolver%typ_solvertypsolver2 = zone2%defsolver%typ_solverselect case(typsolver1) case(solKDIF)  select case(typsolver2)   case(solKDIF)    zone1%coupling(ncoupl1)%zcoupling%solvercoupling = kdif_kdif    zone2%coupling(ncoupl2)%zcoupling%solvercoupling = kdif_kdif   case(solNS)    zone1%coupling(ncoupl1)%zcoupling%solvercoupling = kdif_ns    zone2%coupling(ncoupl2)%zcoupling%solvercoupling = kdif_ns   case default    call erreur("incoherence interne (init_coupling)", "solveur inconnu")  endselect  case(solNS)  select case(typsolver2)   case(solKDIF)    zone1%coupling(ncoupl1)%zcoupling%solvercoupling = kdif_ns    zone2%coupling(ncoupl2)%zcoupling%solvercoupling = kdif_ns   case(solNS)    zone1%coupling(ncoupl1)%zcoupling%solvercoupling = ns_ns    zone2%coupling(ncoupl2)%zcoupling%solvercoupling = ns_ns   case default    call erreur("incoherence interne (init_coupling)", "solveur inconnu")  endselectendselect! Initialisation des structures du couplagecall new(zone1%coupling(ncoupl1)%zcoupling, zone1%grid%umesh%boco(nbc1)%nface)call new(zone2%coupling(ncoupl2)%zcoupling, zone2%grid%umesh%boco(nbc2)%nface)! calcul des connections et connectivites entre zones! maillages coincidantscall calc_connface(zone1%grid%umesh, zone1%grid%umesh%boco(nbc1), &                   zone1%coupling(ncoupl1)%zcoupling%connface, &                   zone2%grid%umesh, zone2%grid%umesh%boco(nbc2), &                   zone2%coupling(ncoupl2)%zcoupling%connface)  write(uf_log,"(a,5i)")"conn de zones : ", &                     zone1%coupling(ncoupl1)%zcoupling%connface(1:5:1)!! DEBUG! Initialisation des conditions aux limites au raccordcall update_couplingboco(zone1, zone2, nbc1, nbc2, ncoupl1, raccord)endsubroutine init_coupling!------------------------------------------------------------------------------!! Historique des modifications!! juin 2003 : creation de la procedure! avr  2004 : modification par integration MGRID (grille unique)!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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