c********************************************************************** SUBROUTINE pulsation(L,teff,typ,m,puls,p) c routine PUBLIC du module mod_evol c Recherche si le modèle se trouve dans la bande d'instabilité c version pour les Céphéïdes qui pourra être étendue à d'autres étoiles c variables en introduisant la bande d'instabilité correspobndante c entrées: c L : luminosité / Lsol c m : masse / msol c teff : température effective K c typ: 1 linéaire, 2 quadratique, 3 Turner c sorties : c puls : .TRUE. / .FALSE. dans/hors de la zone d'instabilité c p : période du fondamental (jours) toujours calculé c Auteur: P.Morel, Département J.D. Cassiopée, O.C.A., CESAM2k c---------------------------------------------------------------------- USE mod_donnees, ONLY : lsol, pi, rsol, sigma USE mod_kind USE mod_numerique, ONLY : cepheid_instb, entre IMPLICIT NONE REAL (kind=dp), INTENT(in) :: L, teff, m INTEGER, INTENT(in) :: typ REAL (kind=dp), INTENT(out) :: p LOGICAL, INTENT(out) :: puls REAL (kind=dp), SAVE :: cte1, cte2 REAL (kind=dp) :: log_l, log_t, r, tb, tr LOGICAL, SAVE :: init=.TRUE. c------------------------------------------------------------------------ 2000 FORMAT(8es10.3) IF(init)THEN init=.FALSE. cte1=0.0425d0 !coefficient Qi cte2=lsol/4.d0/pi/sigma/rsol**2 ENDIF c zone d'instabilité tb > Teff > tr log_l=LOG10(L) ; log_t=LOG10(teff) CALL cepheid_instb(log_l,typ,tb,tr) puls=entre(tb,tr,log_t) c rayon r=SQRT(cte2*L/teff**4) c période p=cte1*SQRT(r**3/m) RETURN END SUBROUTINE pulsation