subroutine read_fluid_input(filename, params)
character(len=*), intent(in) :: filename
type(case_params_t), intent(inout) :: params
real(rk) :: rho, nu
logical :: enable_cantera
character(len=path_len) :: cantera_mech_file
character(len=name_len) :: cantera_phase_name
real(rk) :: background_temp
real(rk) :: background_press
integer :: transport_update_interval
integer :: unit_id, ios
logical :: enable_variable_density
logical :: enable_density_corrector_projection
logical :: upwind_dilatation_density
character(len=name_len) :: density_eos = "constant" !< Density EOS selector: constant, cantera, ideal_gas.
logical :: enable_variable_nu
namelist /fluid_input/ rho, nu, enable_cantera, cantera_mech_file, cantera_phase_name, &
background_temp, background_press, transport_update_interval, &
enable_variable_density, enable_density_corrector_projection, &
density_eos, enable_variable_nu, upwind_dilatation_density
rho = params%rho
nu = params%nu
enable_cantera = params%enable_cantera_fluid
cantera_mech_file = params%cantera_mech_file
cantera_phase_name = params%cantera_phase_name
background_temp = params%background_temp
background_press = params%background_press
transport_update_interval = params%transport_update_interval
enable_variable_density = params%enable_variable_density
enable_density_corrector_projection = params%enable_density_corrector_projection
density_eos = params%density_eos
enable_variable_nu = params%enable_variable_nu
upwind_dilatation_density = params%upwind_dilatation_density
call open_namelist_file(filename, unit_id, ios)
if (ios == 0) then
read(unit_id, nml=fluid_input, iostat=ios)
close(unit_id)
end if
if (ios > 0) call fatal_error('input', 'failed reading &fluid_input')
params%rho = rho
params%nu = nu
params%enable_cantera_fluid = enable_cantera
params%enable_variable_density = enable_variable_density
params%enable_density_corrector_projection = enable_density_corrector_projection
params%density_eos = trim(density_eos)
params%enable_variable_nu = enable_variable_nu
params%upwind_dilatation_density = upwind_dilatation_density
params%cantera_mech_file = cantera_mech_file
params%cantera_phase_name = trim(cantera_phase_name)
params%background_temp = background_temp
params%background_press = background_press
params%transport_update_interval = transport_update_interval
end subroutine read_fluid_input