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

📄 setboco_kdif_hconv.f90

📁 国外大名顶顶的“台风”并行计算流体力学CFD软件的早期版本的源代码
💻 F90
字号:
!------------------------------------------------------------------------------!! Procedure : setboco_kdif_hconv          Auteur : J. Gressier/E. Radenac!                                         Date   : Juin 2004! Fonction                                Modif  : (cf Historique)!   Calcul des conditions aux limites non uniformes pour la conduction de la !   chaleur! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine setboco_kdif_hconv(unif, ustboco, ustdom, champ, flux, defsolver, bckdif)use TYPHMAKEuse OUTPUTuse VARCOMuse MENU_SOLVERuse MENU_BOCOuse USTMESHuse DEFFIELD implicit none! -- Declaration des entrees --integer            :: unif             ! uniform or nottype(st_ustboco)   :: ustboco          ! lieu d'application des conditions aux limitestype(st_ustmesh)   :: ustdom           ! maillage non structuretype(mnu_solver)   :: defsolver        ! type d'equation a resoudretype(st_boco_kdif) :: bckdif           ! parameters and fluxes (field or constant)! -- Declaration des sorties --type(st_field)   :: champ            ! champ des etatsreal(krp), dimension(ustboco%nface) &                 :: flux             ! flux! -- Declaration des variables internes --integer          :: ifb, if, ip      ! index de liste, index de face limite et parametresinteger          :: ic, ighost    ! index de cellule interieure, et de cellule fictivetype(v3d)        :: cgface, cg, normale ! centre de face, de cellule, normale facereal(krp)        :: d             ! distance cellule - face limitereal(krp)        :: conduct       ! conductivite! -- Debut de la procedure --if (unif == uniform) then!-----------------------------------------! cas uniforme!-----------------------------------------do ifb = 1, ustboco%nface  if     = ustboco%iface(ifb)  ic     = ustdom%facecell%fils(if,1)  ighost = ustdom%facecell%fils(if,2)  ! Calcul "distance ponderee" centre de cellule - centre face  cgface = ustdom%mesh%iface(if,1,1)%centre  cg     = ustdom%mesh%centre(ic,1,1)  normale= ustdom%mesh%iface(if,1,1)%normale  d    = (cgface - cg) .scal. (cgface - cg) / (abs((cgface - cg).scal.normale))  ! Calcul conductivite  conduct = valeur_loi(defsolver%defkdif%materiau%Kd, champ%etatprim%tabscal(1)%scal(ic))  ! Calcul approche de la temperature du point fictif pour calcul des gradients  do ip = 1, champ%nscal    champ%etatprim%tabscal(ip)%scal(ighost) = &       ( (conduct/d) * champ%etatprim%tabscal(ip)%scal(ic) + bckdif%h_conv*bckdif%temp_conv ) &      / (conduct/d+bckdif%h_conv)  enddo  ! Calcul du flux  flux(ifb) = bckdif%h_conv*(champ%etatprim%tabscal(1)%scal(ighost) - bckdif%temp_conv)enddoelse!-----------------------------------------! cas non uniforme!-----------------------------------------do ifb = 1, ustboco%nface  if     = ustboco%iface(ifb)  ic     = ustdom%facecell%fils(if,1)  ighost = ustdom%facecell%fils(if,2)  ! Calcul "distance ponderee" centre de cellule - centre face  cgface = ustdom%mesh%iface(if,1,1)%centre  cg     = ustdom%mesh%centre(ic,1,1)  normale= ustdom%mesh%iface(if,1,1)%normale  d    = (cgface - cg) .scal. (cgface - cg) / (abs((cgface - cg).scal.normale))  ! Calcul conductivite  conduct = valeur_loi(defsolver%defkdif%materiau%Kd, champ%etatprim%tabscal(1)%scal(ic))  ! Calcul approche de la temperature du point fictif pour calcul des gradients  do ip = 1, champ%nscal    champ%etatprim%tabscal(ip)%scal(ighost) = ( (conduct/d) * &      champ%etatprim%tabscal(ip)%scal(ic) + bckdif%tconv_nunif(ifb)*bckdif%h_nunif(ifb) ) &      / (conduct/d+bckdif%h_nunif(ifb))  enddo  ! Calcul du flux  flux(ifb) = bckdif%h_nunif(ifb)*(champ%etatprim%tabscal(1)%scal(ighost) &                                       - bckdif%tconv_nunif(ifb))enddoendifendsubroutine setboco_kdif_hconv!------------------------------------------------------------------------------!! Historique des modifications!! juin 2004 : creation de la procedure! july 2004 : merge of uniform and non-uniform boco settings!------------------------------------------------------------------------------!

⌨️ 快捷键说明

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