| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(toml_table), | intent(inout) | :: | table | |||
| type(toml_key), | intent(in) | :: | key | |||
| integer(kind=i32), | intent(out) | :: | value | |||
| character(len=*), | intent(in) | :: | context | |||
| logical, | intent(in) | :: | allow_inherit |
subroutine get_toml_particle_boundary_mode(table, key, value, context, allow_inherit) type(toml_table), intent(inout) :: table type(toml_key), intent(in) :: key integer(i32), intent(out) :: value character(len=*), intent(in) :: context logical, intent(in) :: allow_inherit character(len=64) :: mode call get_toml_string(table, key, mode, context) select case (trim(lower_ascii(mode))) case ('inherit') if (.not. allow_inherit) then call stop_config_error(trim(context)//' must be "open", "reflect", or "redistributed_reflect".') end if value = particle_bc_inherit case ('open') value = bc_open case ('reflect') value = bc_reflect case ('redistributed_reflect') value = bc_redistributed_reflect case ('periodic') call stop_config_error(trim(context)//' cannot set periodicity; use domain.periodic_axes.') case default if (allow_inherit) then call stop_config_error(trim(context)//' must be "inherit", "open", "reflect", or "redistributed_reflect".') else call stop_config_error(trim(context)//' must be "open", "reflect", or "redistributed_reflect".') end if end select end subroutine get_toml_particle_boundary_mode