pkSetReacCoef

Name

pkSetReacCoef -- Sets the values of reaction properties

Description

The subroutine pkSetReacCoef allows setting the values of selected reaction properties. The properties that can be set are 'reverse' and 'value'. This makes possible adopting user defined expressions for the reaction coefficients and is particularly useful for reactions involving vibrational levels.

Syntax

pkSetReacCoef( Property, Value, KReacN[, STAT] )

NameDescriptionData type and attributes
PropertyCase sensitive name of propertyCHARACTER(len=*), INTENT(IN)

{Value | Value(:)}

Value(s) of property

{LOGICAL | REAL(double)} , INTENT(IN)

KReacNStarting index of reaction listINTEGER, INTENT(IN)
STATExecution status indicatorINTEGER, OPTIONAL, INTENT(OUT)

Results

STAT = 0: no errors; STAT = n: error number.

Comments

The Value argument sets the value of the property inquired about and can be a scalar or an array. In the last case the values set are the SIZE(Value) consecutive values of property.

Examples

Example E-17. pkSetReacCoef: Modifying the value of the 'reverse' property.

The following example is a continuation of Example E-7. In that example the superelastic electron collision cross sections were evaluated from the corresponding cross sections for the forward processes. Consequently, we no longer need to consider those reactions as reverse processes and the reverse property is set to FALSE:

  IF( NSKea > 0 ) THEN
    ... ! See code in pkGetReacCoef routine
    CALL pkSetReacCoef( 'reverse', (/(.FALSE.,i=1,NSKea)/), NdKea+1 )
  END IF

Example E-18. pkSetReacCoef: Updating temperature dependent rate coefficients or coefficients defined through an external routine.

  INTEGER :: NKaa
  REAL(double), ALLOCATABLE :: Kvalue(:)
  ...
  NKaa = NKgas - NKea
  ALLOCATE( Kvalue(NKaa) )
  ...
  CALL pkGetReacCoef( 'value', Kvalue, NKaa )
  CALL pkSetValue( GasTemp=GasT )
  CALL pkSetReacCoef( 'value' Kvalue, NKea+1 )