📄 trait_param.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 + -