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

📄 readcgnsbase.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : readcgnsbase                Auteur : J. Gressier!                                         Date   : Novembre 2002! Fonction                                Modif  :!   Lecture d'une base d'un fichier CGNS!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine readcgnsbase(unit, ib,  base) use CGNSLIB       ! definition des mots-clefsuse CGNS_STRUCT   ! Definition des structures CGNSuse OUTPUT        ! Sorties standard TYPHONimplicit none ! -- Entrees --integer             :: unit       ! numero d'unite pour la lectureinteger             :: ib         ! numero de base! -- Sorties --type(st_cgns_base)  :: base       ! structure CGNS : base! -- Variables internes --integer       :: ier              ! code d'erreurinteger       :: iz               ! indice courant de zonecharacter(len=10), dimension(2:3), parameter &              :: type_maillage = (/ "surfacique", "volumique " /)! -- Debut de procedure   ! --- Lecture des infos de la base ---call cg_base_read_f(unit, ib, base%nom, base%imesh, base%igeo, ier)!!print*,unit, ib, base%nom, base%imesh, base%igeo, ier !! DEBUG!!call cg_error_exit_f                                  !! DEBUG!! BUG : test desactive car ier /= 0 meme si tout est correct!if (ier /= 0) call erreur("Lecture CGNS","Probleme a la lecture de la base")call print_info(5,"- BASE "//trim(base%nom)//" : maillage "//type_maillage(base%imesh))   ! --- Lecture du nombre de zones ---call cg_nzones_f(unit, ib, base%nzone, ier)write(str_w,'(2x,i2,a,i2)') base%nzone," zone(s) dans la base ",ibcall print_info(8, "   "//adjustl(str_w))if (ier /= 0) call erreur("Lecture CGNS","Probleme a la lecture du nombre de zones") ! --- Allocation et Lecture des zones ---base%nzone_str = 0base%nzone_ust = 0allocate(base%zone(base%nzone))do iz = 1, base%nzone  ! les maillages (2D ou 3D) sont de meme type que la base  base%zone(iz)%imesh = base%imesh     call readcgnszone(unit, ib, iz, base%zone(iz))  ! Denombrement des zones structurees et non structurees  select case(base%zone(iz)%type)  case(Structured)    base%nzone_str = base%nzone_str + 1  case(Unstructured)    base%nzone_ust = base%nzone_ust + 1  case default    call erreur("Developpement","Type de maillage non prevu")  endselectenddo !-------------------------endsubroutine readcgnsbase

⌨️ 快捷键说明

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