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

📄 seek_bcface_face.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : seek_bcface_face.f90        Auteur : J. Gressier!                                         Date   : Juin 2004! Fonction                                Modif  : (cf historique)!   Recherche des faces a partir des listes de FACES marquees!! Defauts/Limitations/Divers :!   On passe par la reconstruction d'une liste de VERTEX marques et on!   utilise seek_bcface_vtex!!------------------------------------------------------------------------------!subroutine seek_bcface_face(ib, cgnsboco, nfam, facevtex, mesh, listface) use TYPHMAKE      ! definitions generales use CONNECTIVITYuse CGNS_STRUCT   ! Definition des structures CGNSuse USTMESH       ! Definition des structures maillage non structureuse OUTPUT        ! Sorties standard TYPHONimplicit none ! -- Entrees --integer             :: ib             ! indice de condition limiteinteger             :: nfam           ! nombre de connectivite facevtextype(st_cgns_boco)  :: cgnsboco       ! zone CGNS contenant conditions aux limitestype(st_cgns_ustconnect), dimension(1:nfam) &                    :: facevtex! -- Entrees/Sorties --type(st_ustmesh)    :: mesh            ! connectivites et conditions aux limites! -- Variables internes --integer, dimension(*) :: listface      ! tableau de travailtype(st_cgns_boco)    :: cgboco        ! connectivite intermediairelogical, dimension(:), allocatable &                      :: mkvtex        ! liste de vertex marquesinteger               :: iface, pface, ifam, pfam, iv, ivm, dim! -- Debut de procedureallocate(mkvtex(mesh%mesh%nvtex))    ! allocation du tableau des vertex marquesmkvtex(:) = .false.                  ! initialisation a "non marque"!print*,"DEBUG:",nfam! -- marquage de sommets marques par la liste de faces marquees --do iface = 1, cgnsboco%list%nbfils  ! boucle sur la liste de faces marquees  pface = cgnsboco%list%fils(iface)   ! index reel de face  pfam  = 0                           ! recherche de famille  do ifam = 1, nfam    if ((pface >= facevtex(ifam)%ideb).and.(pface <= facevtex(ifam)%ifin)) pfam = ifam  enddo  if (pfam == 0) call erreur("Calcul de connectivite","face limite introuvable dans CGNS")  ! on marque les sommets de la face trouvee  do iv = 1, facevtex(pfam)%nbfils    mkvtex(facevtex(pfam)%fils(pface,iv)) = .true.  enddoenddo! -- construction d'une connectivite cgnsboco/vertex associee --!dim = count(mkvtex==.true.)dim = count(mkvtex)cgboco%nom    = cgnsboco%nomcgboco%family = cgnsboco%familycall new(cgboco%list, dim)ivm = 0do iv = 1, size(mkvtex)  if (mkvtex(iv)) then    ivm = ivm+1    cgboco%list%fils(ivm) = iv  endifenddodeallocate(mkvtex)! -- contruction de la connectivite boco/face de TYPHON a partir des sommets --call seek_bcface_vtex(ib, cgboco, mesh, listface)call delete(cgboco%list)  !-------------------------endsubroutine seek_bcface_face!------------------------------------------------------------------------------!! Historique des modifications!! juin 2004 : creation de la procedure!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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