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

📄 readtyphmsh_dom.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : readtyphmsh_dom             Auteur : J. Gressier!                                         Date   : Fevrier 2004! Fonction                                Modif  : (cf historique)!   Lecture d'un fichier de maillage TYPHMSH - lecture d'une domaine!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine readtyphmsh_dom(unit, umesh, typ_geo)use DEFZONE       ! structure ZONEuse OUTPUT        ! Sorties standard TYPHONimplicit none ! -- Entrees --integer      :: unit       ! numero d'unite pour la lecturecharacter    :: typ_geo    ! type de geometrie! -- Sorties --type(st_ustmesh) :: umesh      ! structure maillage non structure! -- Variables internes --integer               :: ier             ! code d'erreurinteger               :: i               ! indice courantcharacter(len=60)     :: typ_dom, str    ! chainescharacter(len=strlen) :: nom             ! chaines! -- Debut de procedure   ! -- type de domaine --umesh%mesh%info%geom = typ_geo!! DEV : lecture de fichier avec commentairesread(unit,*) typ_domif (samestring(typ_dom,"CLOSEDCRV")) then  read(unit,*) nom            ! nom du domaine  read(unit,*) umesh%nface    ! nombre de faces   ! dans ce type de maillage, les elements sont directements les faces  ! et on etablit une connectivite entres faces (cellface)  umesh%ncell = 0              ! pas de cellule dans le maillage  umesh%nvtex = umesh%nface+1  ! pas de cellule dans le maillage  ! allocation des vertex uniquement  call new(umesh%mesh, 0, 0, umesh%nvtex)  call print_info(10,"| lecture du maillage de points")  ! lecture des points  do i = 1, umesh%nvtex    read(unit,*) umesh%mesh%vertex(i,1,1)%x, umesh%mesh%vertex(i,1,1)%y    umesh%mesh%vertex%z = 0._krp  enddo  ! connectivite face->vtex  call new(umesh%facevtex, umesh%nface, 2)  do i = 1, umesh%nface    umesh%facevtex%fils(i,1) = i    umesh%facevtex%fils(i,2) = i+1  enddo    ! connectivite face->cell (connectivite des faces, deux a deux)  call new(umesh%facecell, umesh%nface, 2)  do i = 2, umesh%nvtex-1   ! boucle sur les sommets "internes"    umesh%facecell%fils(i-1,2) = i    umesh%facecell%fils(i,  1) = i  enddo  ! connectivite particuliere de la premiere et la derniere face  umesh%facecell%fils(1,1) = umesh%facecell%fils(1,2)  ! echange  umesh%facecell%fils(1,2)           = 0               ! cellule limite  umesh%facecell%fils(umesh%nface,2) = 0               ! cellule limite  umesh%nface_int = umesh%nface - 2  umesh%nface_lim = 2  umesh%ncell_int = 0  umesh%ncell_lim = 0  ! -- Definition des listes de conditions limites --  call print_info(10,"| Creation des familles de conditions limites")  call createboco(umesh, 2)  ! profil  call new(umesh%boco(1), nom, umesh%nface)  do i = 1, umesh%nface    umesh%boco(1)%iface(i) = i  enddo  ! kutta  nom = trim(nom)//"_KT"  call new(umesh%boco(2), nom, umesh%nface_lim)  umesh%boco(2)%iface(1) = 0  umesh%boco(2)%iface(2) = 0    else  call erreur("lecture TYPHMSH","type de domaine inconnu")endif!-------------------------endsubroutine readtyphmsh_dom!------------------------------------------------------------------------------!! Historique des modifications!! fev  2004 : creation de la procedure!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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