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

📄 integration_zone.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : integration_zone            Auteur : J. Gressier!                                         Date   : Aout 2002! Fonction                                Modif  : (cf historique)!   Integration de tous les domaines d'une zone sur un pas de temps correspondant !   a une iteration!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine integration_zone(dt, zone)use TYPHMAKEuse OUTPUTuse VARCOMuse DEFZONEimplicit none! -- Declaration des entrees --real(krp)     :: dt              ! pas de temps propre a la zonetype(st_zone) :: zone            ! zone a integrer! -- Declaration des sorties --! retour des residus a travers le champ field de la structure zone! -- Declaration des variables internes --type(st_grid), pointer :: pgridinteger                :: if! -- Debut de la procedure --! -- Preparation du calcul --pgrid => zone%griddo while (associated(pgrid))  call calc_varprim(zone%defsolver, pgrid%field_loc)     ! calcul des var. primitives  pgrid => pgrid%nextenddo! -- calcul des conditions aux limites pour tous les domaines --call conditions_limites(zone)    ! on ne calcule les gradients que dans les cas necessairesif (zone%defspat%calc_grad) then  pgrid => zone%grid  do while (associated(pgrid))    call calc_gradient(zone%defsolver, pgrid%umesh,                 &                       pgrid%field_loc%etatprim, pgrid%field_loc%gradient)    call calc_gradient_limite(zone%defsolver, pgrid%umesh, pgrid%field_loc%gradient)    pgrid => pgrid%next  enddoendif! -- integration des domaines --pgrid => zone%griddo while (associated(pgrid))  ! DEV : changer les structures de couplages dans MGRID  call integration_grid(dt, zone%info%typ_temps,                    &                        zone%defsolver, zone%defspat, zone%deftime, &                        pgrid, zone%coupling, zone%ncoupling)  ! Desallocation des eventuelles listes chainees de champ generique utilisees  if (pgrid%nbocofield .ne. 0) then    call delete_chainedgfield(pgrid%bocofield)    pgrid%nbocofield=0  endif  pgrid => pgrid%nextenddo!-----------------------------endsubroutine integration_zone!------------------------------------------------------------------------------!! Historique des modifications!! ao鹴 2002 : creation de la procedure! juil 2003 : modification arguments integration_ustdomaine! oct  2003  : modification arguments integration_ustdomaine : ajout typ_temps! oct  2003 : insertion des procedures de calcul var. primitives et gradients!             (calcul des conditions aux limites avant calcul de gradients)!             ajout du calcul des gradients aux limites (set_gradient_limite)! avr  2004 : traitement des listes chainees de structures MGRID!             changement d'appel integration_ustdomaine -> integration_grid! juin 2004 : desallocation des listes chainees de champ generique en fin de procedure! oct  2004 : field chained list!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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