File: N:\mfix\model\des\des_thermo_newvalues.f
1
2
3
4
5
6
7
8
9
10
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
31
32
33
34
35
36
37 INTEGER IJK
38
39 INTEGER NP, lNP
40
41 LOGICAL,SAVE:: FIRST_PASS = .TRUE.
42
43
44 IF(.NOT.ENERGY_EQ) RETURN
45
46
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
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
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
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