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

📄 rpm.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! MODULE : RPM                            Auteur : J. Gressier!                                         Date   : Fevrier 2002! Fonction                                Modif  : Novembre 2002 (cf historique)!   Bibliotheque de procedures pour la lecture de fichier de parametres!! Defauts/Limitations/Divers :!   cf VERSIONS!------------------------------------------------------------------------------!module RPM!use PRECDEFuse STRINGimplicit none! -- Variables globales du module -------------------------------------------integer,          parameter :: dimrpmlig      = 100integer,          parameter :: dimrpmname     = 30character(len=*), parameter :: rpmcommentchar = '!#%'character,        parameter :: rpmquotechar   = '"'!------------------------------------------------------------------------------!!    DECLARATIONS!------------------------------------------------------------------------------!type rpmblock  integer                   :: nblig     ! nombre de lignes du bloc  character(len=dimrpmname) :: name      ! nom du bloc  logical                   :: flagblock ! marqueur de lecture de bloc  logical, dimension(:), pointer &                            :: flagtxt   ! marqueur de lecture de ligne  character(len=dimrpmlig), dimension(:), pointer &                            :: txt       ! contenu du bloc, par ligne  type(rpmblock), pointer   :: next      ! pointeur sur le bloc suivant  type(rpmdata),  pointer   :: data      ! pointeur sur le premier bloc DATAendtypetype rpmdata  integer                :: nbvar       ! nombre de variables         integer                :: nbpts       ! nombre de points  character(len=dimrpmname), dimension(:), pointer &                         :: name        ! noms des variables  real, dimension(:,:), pointer &                         :: tab         ! tableau de valeurs (nbvar,nbpts)  type(rpmdata), pointer :: next        ! pointeur sur un eventuel bloc suivantendtype! -- INTERFACES -------------------------------------------------------------!interface new!  module procedure new_rpmblock!endinterfaceinterface seekrpmdata  module procedure seekrpmdataendinterfaceinterface rpmgetvalreal  module procedure rpmgetvalrealsp, rpmgetvalrealdpendinterfaceinterface rpmgetkeyvalreal  module procedure rpmgetkeyvalrealsp, rpmgetkeyvalrealdpendinterface! -- Procedures, Fonctions et Operateurs ------------------------------------!! subroutine create_rpmblock  (pblock, name)! subroutine create_rpmdata   (pdata)! subroutine dealloc_rpmblock (firstblock)! subroutine readrpmblock (nio, nerr, iaff, firstblock)! subroutine readrpmdata  (nio, pdata, entete, iaff)! subroutine seekinrpmblock (block, str, num, nlig, ntot)! subroutine seekrpmdata    (block, strvar, num, data, ntot)! subroutine printrpmblock  (iu, pblock)! subroutine rpmgetvalreal (str, res)! subroutine rpmgetvalstr  (str, res)! subroutine rpmgetvalint  (str, res)! subroutine rpmgetkeyvalreal (block, key, res)! subroutine rpmgetkeyvalstr  (block, key, res)! subroutine rpmgetkeyvalint  (block, key, res)! !integer numvar_inrpmdata!interface numvar_inrpmdata!  function numvar_inrpmdata (strvar, data)!    character(len=*)       :: strvar  ! nom de variable a chercher!    type(rpmdata), pointer :: data    ! structure de donnees concernee!    integer                :: numvar_inrpmdata!  end!endinterface!------------------------------------------------------------------------------!!    IMPLEMENTATION !------------------------------------------------------------------------------!contains!------------------------------------------------------------------------------!! Les procedures des fichiers F90 sont incluses par commande INCLUDE! L'implementation doit etre interne au module car elle affecte des pointeurs! en tant que resultat (en particulier, allocation)! Les declarations doivent etre explicites!------------------------------------------------------------------------------!  include "rpm_gestalloc.F90"  include "rpm_read.F90"  include "rpm_seek.F90"   include "rpm_get.F90"!------------------------------------------------------------------------------!endmodule RPM!------------------------------------------------------------------------------!! Historique des modifications!! fev  2002 (v0.0.1b): creation du module! juil 2003          : ajout des procedures "get" double precision!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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