Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions Source/chem.f90
Original file line number Diff line number Diff line change
Expand Up @@ -928,13 +928,14 @@ SUBROUTINE CVODE_SERIAL(CC,ZZ_0, TMP_IN, TMP_UNMIX, PR_IN, ZETA0, TAU_MIX, CELL_
END IF

! SET MAX ORDER
MAXORD_C = 5
IF (IS_EXPONENT_LT_1) MAXORD_C = 1
IERR_C = FCVODESETMAXORD(CVODE_MEM, MAXORD_C)
IF (IERR_C /= 0) THEN
WRITE(LU_ERR,*) 'ERROR IN FCVODESETMAXORD, IERR = ', IERR_C, '; HALTING'
STOP 1
END IF
IF (CVODE_ORDER > 0) THEN
MAXORD_C = CVODE_ORDER
IERR_C = FCVODESETMAXORD(CVODE_MEM, MAXORD_C)
IF (IERR_C /= 0) THEN
WRITE(LU_ERR,*) 'ERROR IN FCVODESETMAXORD, IERR = ', IERR_C, '; HALTING'
STOP 1
END IF
ENDIF

! SET ERROR HANDLER
IERR_C = FCVODESETERRHANDLERFN(CVODE_MEM, C_FUNLOC(FDS_CVODE_ERR_HANDLER), C_NULL_PTR)
Expand Down
2 changes: 1 addition & 1 deletion Source/cons.f90
Original file line number Diff line number Diff line change
Expand Up @@ -905,7 +905,7 @@ MODULE CHEMCONS
LOGICAL :: DO_CHEM_LOAD_BALANCE = .FALSE.
INTEGER :: MAX_CVODE_SUBSTEPS=100000
INTEGER :: CVODE_MAX_TRY=4
LOGICAL :: IS_EXPONENT_LT_1 = .FALSE.
INTEGER :: CVODE_ORDER=0

! FOR WRITING CVODE SUBSTEPS
LOGICAL :: WRITE_CVODE_SUBSTEPS = .FALSE.
Expand Down
1 change: 1 addition & 0 deletions Source/fire.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1066,6 +1066,7 @@ SUBROUTINE CVODE(ZZ, TMP_IN, PRES_IN, ZETA_IN, ZETA_OUT, TAU_MIX, CELL_MASS, IG
ELSE
IF (SIM_MODE .NE. DNS_MODE .AND. USE_MIXED_ZN_AFT_TMP) THEN
CALL CALC_ADIABATIC_FLAME_TEMPERATURE(ZZ,TMP_IN,AFT)
IF (AFT < FINITE_RATE_MIN_TEMP) RETURN
TMP_IN_MOD = MAX(TMP_IN,AFT) ! TO DO: Ideal would be a equilibrium temperature based on ZZ(:) and TMP_IN
ENDIF
ENDIF
Expand Down
16 changes: 3 additions & 13 deletions Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -4506,11 +4506,11 @@ END SUBROUTINE PROC_SPEC_2
!> \brief Read the COMBustion namelist line

SUBROUTINE READ_COMB
USE CHEMCONS, ONLY: ODE_MIN_ATOL, EQUIV_RATIO_CHECK, MIN_EQUIV_RATIO, MAX_EQUIV_RATIO, DO_CHEM_LOAD_BALANCE, &
USE CHEMCONS, ONLY: ODE_MIN_ATOL,CVODE_ORDER,EQUIV_RATIO_CHECK, MIN_EQUIV_RATIO, MAX_EQUIV_RATIO, DO_CHEM_LOAD_BALANCE, &
FUEL_ID_FOR_AFT,USE_MIXED_ZN_AFT_TMP
REAL(EB) :: ODE_REL_ERROR
CHARACTER(LABEL_LENGTH) :: RAMP_ZETA_0='null'
NAMELIST /COMB/ CHECK_REALIZABILITY,COMPUTE_ADIABATIC_FLAME_TEMPERATURE, DO_CHEM_LOAD_BALANCE, EQUIV_RATIO_CHECK, &
NAMELIST /COMB/ CHECK_REALIZABILITY,COMPUTE_ADIABATIC_FLAME_TEMPERATURE,CVODE_ORDER,DO_CHEM_LOAD_BALANCE, EQUIV_RATIO_CHECK, &
EXTINCTION_MODEL,FINITE_RATE_MIN_TEMP, FIXED_MIX_TIME,FREE_BURN_TEMPERATURE, &
FUEL_ID_FOR_AFT,INITIAL_UNMIXED_FRACTION, MAX_CHEMISTRY_SUBSTEPS, MAX_EQUIV_RATIO, MIN_EQUIV_RATIO, &
N_FIXED_CHEMISTRY_SUBSTEPS, ODE_MIN_ATOL,ODE_REL_ERROR,ODE_SOLVER,SUPPRESSION,TAU_CHEM, &
Expand Down Expand Up @@ -5092,7 +5092,7 @@ END SUBROUTINE READ_REAC


SUBROUTINE PROC_REAC_1
USE CHEMCONS, ONLY: YP2ZZ,IS_EXPONENT_LT_1,FUEL_ID_FOR_AFT,I_FUEL,I_CO2,I_H2O,I_O2,I_N2
USE CHEMCONS, ONLY: YP2ZZ,FUEL_ID_FOR_AFT,I_FUEL,I_CO2,I_H2O,I_O2,I_N2
USE PROPERTY_DATA, ONLY : PARSE_EQUATION, SHUTDOWN_ATOM
REAL(EB) :: MASS_PRODUCT,MASS_REACTANT,REACTION_BALANCE(118),NU_Y(N_SPECIES)
INTEGER :: NS,NS2, NR
Expand Down Expand Up @@ -5315,16 +5315,6 @@ SUBROUTINE PROC_REAC_1
ENDIF
ENDDO

IF(TRIM(ODE_SOLVER)=='CVODE' .AND. .NOT. IS_EXPONENT_LT_1) THEN
DO NS=1,RN%N_SPEC
IF (RN%N_S(NS) .LT. 1) THEN
IS_EXPONENT_LT_1 = .TRUE.
IF (MY_RANK==0) WRITE(LU_ERR,'(A)')"INFO: CVODE solver order set to 1 because one REAC has an N_S < 1."
EXIT
ENDIF
ENDDO
ENDIF

! Normalize the stoichiometric coefficients by that of the fuel.
RN%NU_FUEL_0 = -RN%NU(RN%FUEL_SMIX_INDEX)
RN%NU_NN = RN%NU
Expand Down
Loading