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

📄 trait_zoneparam.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : trait_zoneparam             Auteur : J. Gressier!                                         Date   : Juillet 2002! Fonction                                Modif  : (cf historique)!   Traitement des parametres de definition des zones!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine trait_zoneparam(prj, block, solver, zone)use RPMuse VARCOMuse OUTPUTuse DEFZONEuse MENU_GENuse MENU_BOCOimplicit none! -- Declaration des entrees --type(mnu_project)       :: prjtype(rpmblock), target  :: block    ! blocks RPM (parametres de la zone a lire)integer                 :: solver  ! type de solveur! -- Declaration des sorties --type(st_zone)          :: zone! -- Declaration des variables internes --type(rpmblock), pointer :: pblock, pcour  ! pointeur de bloc RPMinteger                 :: nkey           ! nombre de clefsinteger                 :: nboco          ! nombre de conditions limitesinteger                 :: nzr            ! nombre de couplages avec d'autres                                          ! zonesinteger                 :: ib             ! indice de parcours des bococharacter(len=dimrpmlig):: str            ! chaine RPM intermediaire! -- Debut de la procedure --! -------------------------! definition de la modelisationcall init_mnu_solver(zone%defsolver)zone%defsolver%typ_solver = solverselect case(solver)case(solKDIF)  if (.not.pass_kdif) call erreur("restriction","solveur Conduction indisponible")  call def_model_kdif(block, zone%defsolver)case(solNS)  if (.not.pass_ns) call erreur("restriction","solveur Navier-Stokes indisponible")  call def_model_ns(block, zone%defsolver)case(solVORTEX)  if (.not.pass_vort) call erreur("restriction","solveur Vortex indisponible")  call def_model_vortex(block, zone%defsolver)case default  call erreur("lecture de menu","solveur inconnu")endselect! -------------------------! Definition du maillagecall def_mesh(block, zone%defmesh)! -------------------------! Definition des parametres de simulationcall def_time(prj, block, solver, zone%deftime)call def_spat(block, zone%defsolver, zone%defspat)call def_amr(block, solver, zone%defsolver%defamr)! -------------------------! Definition des conditions aux limites et parametres de couplage! -- Determination du nombre de couplages avec d'autres zonescall print_info(5,"- Nombre de zones couplees")pblock => blockcall seekrpmblock(pblock, "BOCO", 0, pcour, nboco)if (nboco < 1) call erreur("lecture de menu", &                           "Pas de definition de conditions aux limites (BOCO)")! Initialisation du nombre de couplages avec d'autres zonesnzr = 0 do ib = 1, nboco  call seekrpmblock(pblock, "BOCO", ib, pcour, nkey)    ! -- Determination du type de condition aux limites   call rpmgetkeyvalstr(pcour, "TYPE", str)  if(samestring(str,"COUPLING")) nzr = nzr +1enddo! Allocation de couplingzone%ncoupling = nzr!if (zone%ncoupling > 0) then  allocate(zone%coupling(zone%ncoupling))!endif! Conditions aux limitescall def_boco(block, solver, zone%defsolver, zone%coupling, zone%ncoupling)! -------------------------! Definition de l'initialisationcall def_init(block, solver, zone%defsolver)! -------------------------! Definition des capteurscall def_capteurs(block, solver, zone%defsolver)! -------------------------! Definition des autres parametrescall def_other(block, solver, zone%defsolver)endsubroutine trait_zoneparam!------------------------------------------------------------------------------!! Historique des modifications!! Juil 2002 : creation de la procedure! Sept 2003 : appel a la definition de solveur NS! Nov  2003 : appel a la definition de capteurs! Fev  2004 : appel a la definition de solveur VORTEX!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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