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

📄 reorder_ustconnect.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : reorder_ustconnect.f90      Auteur : J. Gressier!                                         Date   : Fevrier 2003! Fonction                                Modif  :!   Renumerotation des faces (faces internes puis faces limites)!     et des connectivites associees!! Defauts/Limitations/Divers :!   choix des actions a effectuer par (iaction)!     O: action sur les connectivites, pas le maillage!     1: action sur connectivites et maillage!!------------------------------------------------------------------------------!subroutine reorder_ustconnect(iaction, mesh) use USTMESH       ! Definition des structures maillage non structureimplicit none ! -- Entrees --integer             :: iaction! -- Entrees/Sorties --type(st_ustmesh)    :: mesh            ! maillage non structure et connectivite! -- Variables internes --type(st_connect) :: f_vtex, f_cell  ! conn. Typhon intermediaire : face -> sommetsinteger, dimension(:), allocatable &                    :: trans_index     ! nouvelle renumerotationinteger             :: nface_int       ! nombre de faces internesinteger             :: nface_lim       ! nombre de faces limitesinteger             :: ntotface        ! nombre total de facesinteger             :: if, oldf, newf! -- Debut de procedureif (iaction /= 0) then  call erreur("Developpement","cas inattendu dans 'reorder_ustconnect'")endifntotface = mesh%facecell%nbnodesallocate(trans_index(ntotface))! -- renumerotation des faces (faces limites en dernier) --nface_int = 0nface_lim = 0! calcul des nombres de faces et de la transposition d'indexdo if = 1, ntotface  if (mesh%facecell%fils(if,2) == 0) then     ! si face(if) est face limite    nface_lim = nface_lim + 1    trans_index(ntotface+1-nface_lim) = if  else    nface_int = nface_int + 1    trans_index(nface_int) = if  endifenddo! copie des connectivitesf_vtex = copy(mesh%facevtex)f_cell = copy(mesh%facecell)!print*,"!! DEBUG    f_vtex :",transpose(f_vtex%fils(:,:))!print*,"!! DEBUG face_vtex :",transpose(mesh%facevtex%fils(:,:))! transposition d'indexdo if = 1, ntotface  oldf = trans_index(if)  newf = if  mesh%facecell%fils(newf,:) = f_cell%fils(oldf,:)  mesh%facevtex%fils(newf,:) = f_vtex%fils(oldf,:)  !print*,"!! DEBUG trans ",oldf, newf,":", mesh%facevtex%fils(newf,:),"<=",f_vtex%fils(oldf,:)enddomesh%nface_int = nface_intmesh%nface_lim = nface_lim!print*,"!! DEBUG trans index :",trans_index(:)!print*,"!! DEBUG    f_vtex :",transpose(f_vtex%fils(:,:))!print*,"!! DEBUG face_vtex :",transpose(mesh%facevtex%fils(:,:))! desallocationcall delete(f_vtex)call delete(f_cell)deallocate(trans_index)!-------------------------endsubroutine reorder_ustconnect!------------------------------------------------------------------------------!! Historique des modifications!! fev 2003 (v0.0.1b): creation de la procedure!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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