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