calc_roe_states.f90

来自「国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码」· F90 代码 · 共 58 行

F90
58
字号
!------------------------------------------------------------------------------!! Procedure : calc_roe_states              Auteur : J. Gressier!                                         Date   : July 2004! Fonction                                Modif  : (cf historique)!   Computation of HLLE flux for Euler equations!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine calc_roe_states(fluid, nflux, cell_l, cell_r, roe)use TYPHMAKEuse VARCOMuse EQNSuse GEO3Dimplicit none! -- Declaration des entrees --type(st_espece)       :: fluid            ! parametres de definition du fluideinteger               :: nflux            ! nombre de flux (face) a calculertype(st_nsetat), dimension(1:nflux) &                      :: cell_l, cell_r   ! champs des valeurs primitives! -- Declaration des sorties --type(st_nsetat), dimension(1:nflux) &                      :: roe              ! roe state average! -- Declaration des variables internes --integer               :: ifreal(krp)             :: gig1real(krp)             :: frac, kl, kr     ! weights of roe averagereal(krp)             :: hil, hir, him    ! mass total enthalpy! -- Debut de la procedure --gig1 = fluid%gamma / (fluid%gamma - 1._krp)do if = 1, nflux  frac = sqrt(cell_r(if)%density / cell_l(if)%density)  kl   = 1._krp / (1._krp + frac)  kr   = frac*kl  hil  = gig1*cell_l(if)%pressure/cell_l(if)%density + .5_krp*sqrabs(cell_l(if)%velocity)  hir  = gig1*cell_r(if)%pressure/cell_r(if)%density + .5_krp*sqrabs(cell_r(if)%velocity)  him  = kl*hil + kr*hir   roe(if)%density  = cell_l(if)%density*frac  roe(if)%velocity = kl*cell_l(if)%velocity + kr*cell_r(if)%velocity  roe(if)%pressure = (him -  .5_krp*sqrabs(roe(if)%velocity))*roe(if)%density/gig1enddoendsubroutine calc_roe_states!------------------------------------------------------------------------------!! Changes history!! July 2004 : creation, Roe average state computation!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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