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

📄 zone_coupling.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! MODULE : ZONE_COUPLING                  Auteur : E. Radenac / J. Gressier!                                         Date   : Juin 2003! Fonction                                Modif  : Juillet 2003!   Definition des methodes de couplage entre zones!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!module ZONE_COUPLINGuse TYPHMAKE   ! Definition de la precision et des types basiquesuse DEFFIELD   ! Definition des champs de valeurs physiques pour les transfertsuse VARCOM! -- DECLARATIONS -----------------------------------------------------------!------------------------------------------------------------------------------!! Definition de la structure ST_ZONECOUPLING : structures d'echanges entres zones!------------------------------------------------------------------------------!type st_zonecoupling  integer                    :: solvercoupling ! types de solvers couples  integer                    :: nface_int      ! nb de faces c魌e interne  integer                    :: nface_ext      ! nb de faces c魌e externe  type(st_genericfield)      :: echdata        ! donnees d'echange (champ de zone externe)  type(st_genericfield)      :: etatcons       ! energie a l'interface  integer, dimension(:), pointer &                              :: connface       ! connectivite de face (dim = nface_int)                                               !   connface(i) = j                                               !   : face i interne = face j externeendtype st_zonecoupling! -- INTERFACES -------------------------------------------------------------interface new  module procedure new_zcouplingendinterfaceinterface delete  module procedure delete_zcouplingendinterface! -- Fonctions et Operateurs ------------------------------------------------! -- IMPLEMENTATION ---------------------------------------------------------contains!------------------------------------------------------------------------------!! Procedure : creation d'une structure ZONE_COUPLING!------------------------------------------------------------------------------!subroutine new_zcoupling(zc, nfaceint)implicit nonetype(st_zonecoupling)  :: zcinteger                :: nfaceintzc%nface_int = nfaceintallocate(zc%connface(nfaceint))select case(zc%solvercoupling)  case(kdif_kdif)    call new(zc%echdata, nfaceint, 2,1,0)    call new(zc%etatcons, nfaceint, 3, 0, 0)    call init_genericfield(zc%echdata, 0._krp, v3d(0._krp, 0._krp, 0._krp))    call init_genericfield(zc%etatcons, 0._krp, v3d(0._krp, 0._krp, 0._krp))  case(kdif_ns)    call new(zc%echdata, nfaceint, 2,1,0)    call new(zc%etatcons, nfaceint, 3, 0, 0)    call init_genericfield(zc%echdata, 0._krp, v3d(0._krp, 0._krp, 0._krp))    call init_genericfield(zc%etatcons, 0._krp, v3d(0._krp, 0._krp, 0._krp))  case(ns_ns)    call erreur("incoherence interne (ZONE_COUPLING)", "cas non implemente")  case default    call erreur("incoherence interne (ZONE_COUPLING)", &                "couplage solveurs inconnu")endselectendsubroutine new_zcoupling!------------------------------------------------------------------------------!! Procedure : desallocation d'une structure ZONE_COUPLING!------------------------------------------------------------------------------!subroutine delete_zcoupling(zc)implicit nonetype(st_zonecoupling)  :: zccall delete(zc%echdata)call delete(zc%etatcons)deallocate(zc%connface)endsubroutine delete_zcouplingendmodule ZONE_COUPLING!------------------------------------------------------------------------------!! Historique des modifications!! juin 2003 (v0.0.1b): creation du module!                      creation de new et delete! juillet 2003       : ajout de etatcons!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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