Reads the &output_input namelist block.
Reads the &energy_input namelist block.
Reads controls for sensible-enthalpy transport. Cantera thermo, when
enabled, preserves transported h and recovers T(h,Y,p0) every energy
step; thermo_update_interval is reserved and must remain 1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | filename | |||
| type(case_params_t), | intent(inout) | :: | params |
| Name | Type | Default | Description |
|---|---|---|---|
| enable_energy | logical | None | |
| enable_cantera_thermo | logical | None | |
| thermo_default_species | character(len=name_len) | None | |
| thermo_update_interval | integer | None | |
| initial_T | real(kind=rk) | None | |
| energy_reference_T | real(kind=rk) | None | |
| energy_reference_h | real(kind=rk) | None | |
| energy_cp | real(kind=rk) | None | |
| energy_lambda | real(kind=rk) | None |
subroutine read_energy_input(filename, params) character(len=*), intent(in) :: filename type(case_params_t), intent(inout) :: params logical :: enable_energy logical :: enable_cantera_thermo integer :: thermo_update_interval character(len=name_len) :: thermo_default_species real(rk) :: initial_T real(rk) :: energy_reference_T real(rk) :: energy_reference_h real(rk) :: energy_cp real(rk) :: energy_lambda integer :: unit_id, ios namelist /energy_input/ enable_energy, enable_cantera_thermo, thermo_default_species, thermo_update_interval, & initial_T, energy_reference_T, energy_reference_h, & energy_cp, energy_lambda enable_energy = params%enable_energy enable_cantera_thermo = params%enable_cantera_thermo thermo_update_interval = params%thermo_update_interval thermo_default_species = params%thermo_default_species initial_T = params%initial_T energy_reference_T = params%energy_reference_T energy_reference_h = params%energy_reference_h energy_cp = params%energy_cp energy_lambda = params%energy_lambda call open_namelist_file(filename, unit_id, ios) if (ios == 0) then read(unit_id, nml=energy_input, iostat=ios) close(unit_id) end if if (ios /= 0 .and. ios /= -1) then call fatal_error('input', 'failed reading &energy_input. Check for unknown variables or typos.') end if if (ios == 0) then params%enable_energy = enable_energy params%enable_cantera_thermo = enable_cantera_thermo params%thermo_update_interval = thermo_update_interval params%thermo_default_species = trim(thermo_default_species) params%initial_T = initial_T params%energy_reference_T = energy_reference_T params%energy_reference_h = energy_reference_h params%energy_cp = energy_cp params%energy_lambda = energy_lambda end if end subroutine read_energy_input