c*********************************************************** REAL (kind=dp) FUNCTION d_convec(cp,delta,gradad,gradrad,grav,hp, 1 kap,r,ro,t) c Fonction PRIVATE du module mod_evol c coefficient de diffusion convectif 1/3 v_conv lm c Auteur: P.Morel, laboratoire Lagrange, O.C.A., CESAM2k c----------------------------------------------------------------------- USE mod_conv, ONLY: conv USE mod_donnees, ONLY : alpha, aradia, clight USE mod_kind USE mod_variables, ONLY : lim, jlim, rstar, r_zc IMPLICIT NONE REAL (kind=dp), INTENT(in) :: cp, delta, gradad, gradrad, grav, hp, kap, 1 r, ro, t REAL (kind=dp), SAVE :: cte1, cte3 REAL (kind=dp) :: dgamcp, dgamdel, dgamgad, dgamgra, dgamgrad, dgamhp, 1 dgamkra, dgamro, dgamtaur, dgradcp, dgradel, dgradgad, dgradgra, 2 dgradgrad, dgradhp, dgradkra, dgradro, dgradtaur, 3 gam, grad, krad, lm, lmix, taur INTEGER :: i LOGICAL, SAVE :: init=.TRUE. c------------------------------------------------------------------- 2000 FORMAT(8es10.3) c initialisations IF(init)THEN init=.FALSE. cte1=4.d0/3.d0*aradia*clight cte3=2.d0*aradia*clight ENDIF c diffusivite radiative krad=cte1/kap/ro*t**3 c longueur de mélange lm=alpha*hp c longueur de mixing lmix=MIN(lm,ABS(r-rstar),r) DO i=1,lim lmix=MIN(lmix,ABS(r-r_zc(jlim(i)))) ENDDO c épaisseur optique de la bulle taur=kap*ro*lm c gam: efficacité de la convection CALL conv(r,krad,grav,delta,cp,ro,hp,taur,gradrad,gradad, 1 .FALSE.,grad,dgradkra,dgradgra,dgradel,dgradcp,dgradro, 2 dgradhp,dgradtaur,dgradgrad,dgradgad, 3 gam,dgamkra,dgamgra,dgamdel,dgamcp,dgamro, 4 dgamhp,dgamtaur,dgamgrad,dgamgad) c coefficient diffusion convective IF(gam > 0.d0)THEN d_convec=cte3*t**3*gam/kap/ro**2/cp*lmix/lm ELSE d_convec=0.d0 ENDIF c PRINT*,'sortie d_convec: r,gam,d_convec' c WRITE(*,2000) r,gam,d_convec ; PAUSE't_convec' RETURN END FUNCTION d_convec