📄 init_coupling.f90
字号:
!------------------------------------------------------------------------------!! 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -