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

📄 trait_param.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : trait_param                 Auteur : J. Gressier!                                         Date   : Juillet 2002! Fonction                                Modif  : (cf historique)!   Traitement des parametres du fichier menu principal!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine trait_param(block, world)use RPMuse TYPHMAKEuse VARCOMuse OUTPUTuse MODWORLDuse MENU_SOLVERimplicit none! -- Declaration des entrees --type(rpmblock), target :: block! -- Declaration des sorties --type(st_world) :: world! -- Declaration des variables internes --type(rpmblock), pointer  :: pblock, pcour, pzone  ! pointeurs de bloc RPMinteger                  :: nkey           ! nombre de clefslogical                  :: localzone      ! declaration locale d'une zoneinteger                  :: izone          ! numero local de zoneinteger                  :: icoupl         ! numero local de raccordinteger                  :: solver         ! type de solveurinteger                  :: info           ! etat de l'ouverture de fichiercharacter(len=dimrpmlig) :: str, fic       ! chaines RPM intermediaire! -- Debut de la procedure --! -- Recherche du BLOCK:PROJECT et traitementcall def_project(block, world%prj)! -- Recherche des BLOCK:ZONE pblock => blockcall seekrpmblock(pblock, "ZONE", 0, pcour, nkey)if (nkey == 0) call erreur("Lecture de menu","definition de ZONE manquante")! initialisation de WORLD et allocation des zonescall new(world, nkey, 0,  world%prj%ncoupling)  ! -- Recherche du BLOCK:OUTPUT et traitementcall def_output(block, world)! -- Lecture des zonesdo izone = 1, world%prj%nzone  call seekrpmblock(pblock, "ZONE", izone, pcour, nkey)    call new(world%zone(izone), izone)   ! intialisation de la zone  call rpmgetkeyvalstr(pcour, "NAME", str, "NONAME")  world%zone(izone)%nom = str  call rpmgetkeyvalstr(pcour, "SOLVER", str)  solver = 0  if (samestring(str, "HEAT" ))  solver = solKDIF   if (samestring(str, "EULER"))  solver = solNS  if (samestring(str, "FLUID"))  solver = solNS  if (samestring(str, "NS"))     solver = solNS  if (samestring(str, "VORTEX")) solver = solVORTEX  if (solver == 0) call erreur("Lecture du menu", &                               "Type de solveur incorrect : "//trim(str))    if (rpm_existkey(pcour, "FILE")) then    call rpmgetkeyvalstr(pcour, "FILE", fic)    open(unit=uf_menu, file=trim(fic), iostat=info)    if (info /= 0) call erreur("Lecture du menu","fichier "//trim(fic)// &                               " introuvable ou interdit en lecture")    call readrpmblock(uf_menu, uf_log, 1, pzone)    close(uf_menu)   else    call print_info(10,"Poursuite de la lecture des parametres ZONE")    pzone => pblock      endif  call trait_zoneparam(world%prj, pzone, solver, world%zone(izone))enddo! -- Recherche des BLOCK:COUPLING et traitementif (world%prj%ncoupling > 0) thendo icoupl = 1, world%prj%ncoupling!  print*,"!!! TRAITEMENT DES BLOCK:COUPLING a developper"  call def_coupling(block, world%coupling(icoupl), world%zone,&                   world%prj%nzone, icoupl)enddoendifendsubroutine trait_param!------------------------------------------------------------------------------!! Historique des modifications!! Juil 2002 : creation de la procedure! Juin 2003 : definition des couplages! Fev  2004 : ajout de solveur VORTEX!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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