File: pick-dir/lwant_this_reaction.f90

    1       FUNCTION LWANT_THIS_REACTION(Lr_all,Lp_any,Lp_all,Jselect,Jreject,&
    2                                  & L_unknown,Jlog)
    3       IMPLICIT NONE
    4 !
    5 ! Dummy arguments
    6 !
    7       INTEGER :: Jlog , Jreject , Jselect
    8       LOGICAL :: Lp_all , Lp_any , Lr_all , L_unknown
    9       LOGICAL :: LWANT_THIS_REACTION
   10       INTENT (IN) Jlog , Jreject , Jselect , Lp_all , Lp_any , Lr_all , &
   11                 & L_unknown
   12 !
   13 !----------------------------------------------------------------------
   14 !
   15 !     written by:   David Lary
   16 !
   17 !     started:      7/1/1993
   18 !
   19 !     last updated: 27/1/2004
   20 !
   21 !----------------------------------------------------------------------
   22 !
   23 !     select reaction if reactant or product is a specie.
   24 !
   25 !----------------------------------------------------------------------
   26 !
   27       IF ( Jselect==0 ) THEN
   28          LWANT_THIS_REACTION = (Lr_all .OR. Lp_any)
   29 !
   30 !        select reaction if reactant and product is a specie.
   31       ELSEIF ( Jselect==1 ) THEN
   32          LWANT_THIS_REACTION = (Lr_all .AND. Lp_any)
   33 !
   34 !        select reaction if just a product is a specie.
   35       ELSEIF ( Jselect==2 ) THEN
   36          LWANT_THIS_REACTION = (Lp_any)
   37 !
   38 !        select reaction if just a reactant is a specie.
   39       ELSEIF ( Jselect==3 ) THEN
   40          LWANT_THIS_REACTION = (Lr_all)
   41 !
   42 !        select reaction if reactant and all products are a specie.
   43       ELSEIF ( Jselect==4 ) THEN
   44          LWANT_THIS_REACTION = (Lr_all .AND. Lp_all)
   45 !
   46 !        invalid choice.
   47       ELSEIF ( (Jselect>=5) .OR. (Jselect<0) ) THEN
   48 !
   49          PRINT * , "adjust reaction select swith.'
   50          PRINT * , "it is currently set to an undefined value.'
   51          PRINT * ,                                                      &
   52              &"0=either reactant(s) or product(s) is a required specie.'
   53          PRINT * ,                                                      &
   54               &"1=both reactant(s) or product(s) is a required specie.'
   55          PRINT * , "2=product(s) is a required specie.'
   56          PRINT * , "3=reactant(s) is a required specie.'
   57          STOP
   58       ENDIF
   59 !
   60       WRITE (Jlog,FMT=*) "Lr_all:' , Lr_all
   61       WRITE (Jlog,FMT=*) "Lp_any:' , Lp_any
   62       WRITE (Jlog,FMT=*) "Lp_all:' , Lp_all
   63       WRITE (Jlog,FMT=*) "LWANT_THIS_REACTION:' , LWANT_THIS_REACTION
   64 !
   65 !     rejection switch for unknown species.
   66       IF ( Jreject==1 ) THEN
   67          IF ( L_unknown ) THEN
   68             LWANT_THIS_REACTION = .FALSE.
   69             WRITE (Jlog,FMT=*)                                          &
   70                            &"lwant: reaction rejected: unknown product.'
   71             RETURN
   72          ENDIF
   73       ENDIF
   74 !
   75 !----------------------------------------------------------------------
   76 !
   77       END FUNCTION LWANT_THIS_REACTION