File: N:\mfix\model\des\des_thermo_newvalues.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2     !                                                                      !
3     !  Module name: DES_THERMO_NEWVALUES                                   !
4     !                                                                      !
5     !  Purpose:                                                            !
6     !                                                                      !
7     !                                                                      !
8     !  Author: J.Musser                                   Date: 16-Jun-10  !
9     !                                                                      !
10     !  Comments:                                                           !
11     !                                                                      !
12     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
13           SUBROUTINE DES_THERMO_NEWVALUES
14     
15           USE compar
16           Use des_thermo
17           Use des_rxns
18           Use discretelement
19           USE geometry
20           USE indices
21           Use param1
22           Use physprop
23           use run, only: ENERGY_EQ
24           use functions
25           use funits, only: dmp_log
26           use run, only: ANY_SPECIES_EQ
27           USE des_thermo_cond, only: DES_QW_cond
28           IMPLICIT NONE
29     
30     ! Passed variables
31     !-----------------------------------------------
32     ! NONE
33     
34     ! Local variables
35     !---------------------------------------------------------------------//
36     ! Index of neighbor particle of particle I such that I < J
37           INTEGER IJK
38     ! Loop index for particles.
39           INTEGER NP, lNP
40     ! Logical for Adams-Bashfort integration.
41           LOGICAL,SAVE:: FIRST_PASS = .TRUE.
42     !---------------------------------------------------------------------//
43     
44           IF(.NOT.ENERGY_EQ) RETURN
45     
46     ! Second-order Adams-Bashforth scheme defaults to Euler on first pass.
47           IF(FIRST_PASS .AND. INTG_ADAMS_BASHFORTH) THEN
48              WHERE(PARTICLE_STATE(:MAX_PIP) == NORMAL_PARTICLE) &
49                 Q_Source0(:MAX_PIP) = Q_Source(:MAX_PIP)/       &
50                 (PMASS(:MAX_PIP)*DES_C_ps(:MAX_PIP))
51           ENDIF
52           FIRST_PASS = .FALSE.
53     
54     ! First-order method
55           IF (INTG_EULER) THEN
56              WHERE(PARTICLE_STATE(:MAX_PIP) == NORMAL_PARTICLE)   &
57                 DES_T_s(:MAX_PIP) = DES_T_s(:MAX_PIP) +   &
58                 DTSOLID*(Q_Source(:MAX_PIP)/(PMASS(:MAX_PIP)*     &
59                 DES_C_ps(:MAX_PIP)))
60     
61     ! Second-order Adams-Bashforth scheme
62           ELSE
63              WHERE(PARTICLE_STATE(:MAX_PIP) == NORMAL_PARTICLE)
64                 DES_T_s(:MAX_PIP) = DES_T_s(:MAX_PIP) + DTSOLID *         &
65                    (1.5d0*Q_Source(:MAX_PIP) -0.5d0*Q_Source0(:MAX_PIP))/ &
66                    (PMASS(:MAX_PIP)*DES_C_ps(:MAX_PIP))
67                 Q_Source0(:MAX_PIP) = Q_Source(:MAX_PIP)
68              ENDWHERE
69           ENDIF
70     
71     
72           Q_Source(:) = ZERO
73           IF(ALLOCATED(DES_QW_Cond)) &
74              DES_QW_Cond(:,:) = ZERO
75     
76     ! Update particle from reactive chemistry process.
77           IF(ANY_SPECIES_EQ .AND. .NOT.DES_EXPLICITLY_COUPLED)&
78              CALL DES_REACTION_MODEL
79     
80           RETURN
81     
82           END SUBROUTINE DES_THERMO_NEWVALUES
83