calc_connface.f90

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

F90
75
字号
!------------------------------------------------------------------------------!! Procedure : calc_connface               Auteur : J. Gressier!                                         Date   : Juin 2003! Fonction                                Modif  :!   Calcul de connectivites face/face entre deux zones selon la liste de!   faces de famille pour chacune des zones!! Defauts/Limitations/Divers : maillages coincidents!!------------------------------------------------------------------------------!subroutine calc_connface(m1, b1, connface1, m2, b2, connface2)use TYPHMAKEuse GEO3Duse OUTPUTuse USTMESHimplicit none! -- Declaration des entrees --type(st_ustmesh) :: m1, m2      ! maillage 1 et 2 connectees (non structures)type(st_ustboco) :: b1, b2      ! conditions aux limites concernees par la connection! -- Declaration des entrees/sorties --integer, dimension(1:b1%nface) :: connface1integer, dimension(1:b2%nface) :: connface2! -- Declaration des sorties --! -- Declaration des variables internes --type(v3d), dimension(:), allocatable :: centre1, centre2real(krp)                            :: mincentreinteger                              :: if1, if2, ind_assoc! -- Debut de la procedure --allocate(centre1(b1%nface))allocate(centre2(b2%nface))! creation de la liste des centres des faces concernees des deux zonescall extract_centre(b1, m1, centre1)call extract_centre(b2, m2, centre2)! calcul pour chaque centre de la zone 1 du centre le plus proche de la zone 2! et affectation des indices aux connectivites de facesdo if1 = 1, b1%nface  mincentre = abs( centre1(if1) - centre2(1) )  ind_assoc = 1  if ( b2%nface .gt. 1 ) then    do if2 = 2, b2%nface      if ( abs( centre1(if1) - centre2(if2) ) .lt. mincentre) then        mincentre = abs( centre1(if1) - centre2(if2) )        ind_assoc = if2      endif    enddo  endif  connface1(if1) = ind_assoc  connface2(ind_assoc) = if1enddodeallocate(centre1, centre2)endsubroutine calc_connface!------------------------------------------------------------------------------!! Historique des modifications!! Juin 2003 (v0.0.1b): creation de la procedure! Fevrier 2004       : connectivites determinees par la coincidence des centres!                      de faces! !------------------------------------------------------------------------------!

⌨️ 快捷键说明

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