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
5 changes: 5 additions & 0 deletions source/input.f90
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,11 @@ subroutine read_problem(fin, problem, ierr)
line = adjustl(line)
if (is_empty(line)) cycle
if (is_keyword(line)) then
if (dsname == 'outp' .and. line(1:4) == 'outp') then
! Legacy behavior allows repeated output datasets; merge them.
buffer = buffer // ' ' // trim(line)
cycle
end if
backspace(fin)
exit
else
Expand Down
13 changes: 13 additions & 0 deletions source/input_test.pf
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,19 @@ contains
return
end subroutine

@test
subroutine test_parse_outp_repeated_dataset_keywords
type(OutputDataset) :: outp

outp = parse_outp('outp short outp massf outp siunits outp trace=1e-8 outp transport')

@assertEqual(.true., outp%mass_fractions)
@assertEqual(.true., outp%transport)
@assertTrue(allocated(outp%trace))
@assertEqual(1.0d-8, outp%trace)
@assertEqual(.true., outp%siunit)
end subroutine

@test
subroutine test_parse_reac_custom_species
type(ReactantInput), allocatable :: reac(:)
Expand Down
6 changes: 3 additions & 3 deletions source/main.f90
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ subroutine run_thermo_problem(prob, thermo, solver, solutions, partials)
else
product_names = reactants%get_products(thermo)
end if
products = Mixture(thermo, product_names)
products = Mixture(thermo, product_names, ions=prob%problem%include_ions)

! Get the loop sizes
num_state1 = 1
Expand Down Expand Up @@ -535,7 +535,7 @@ subroutine run_shock_problem(prob, thermo, solver, solutions)
else
product_names = reactants%get_products(thermo)
end if
products = Mixture(thermo, product_names)
products = Mixture(thermo, product_names, ions=prob%problem%include_ions)

! Get the problem flags
if (prob%problem%shk_incident) then
Expand Down Expand Up @@ -767,7 +767,7 @@ subroutine run_detonation_problem(prob, thermo, solver, solutions)
else
product_names = reactants%get_products(thermo)
end if
products = Mixture(thermo, product_names)
products = Mixture(thermo, product_names, ions=prob%problem%include_ions)

! Get the problem flags
if (prob%problem%frozen) then
Expand Down
Loading