write_ignition_config_summary_to_unit Subroutine

subroutine write_ignition_config_summary_to_unit(unit_id, mesh, params)

Write ignition-kernel settings to the run configuration summary.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_id
type(mesh_t), intent(in) :: mesh
type(case_params_t), intent(in) :: params

Source Code

   subroutine write_ignition_config_summary_to_unit(unit_id, mesh, params)
      integer, intent(in) :: unit_id
      type(mesh_t), intent(in) :: mesh
      type(case_params_t), intent(in) :: params

      integer :: c, affected_cells
      real(rk) :: delta(3), radius2

      write(unit_id,'(a)') ''
      write(unit_id,'(a)') 'Ignition initialization:'
      write(unit_id,'(a,l1)') '  enable_ignition_kernel    : ', params%enable_ignition_kernel
      if (.not. params%enable_ignition_kernel) return

      affected_cells = 0
      radius2 = params%ignition_kernel_radius * params%ignition_kernel_radius
      do c = 1, mesh%ncells
         delta = mesh%cells(c)%center - params%ignition_kernel_center
         if (dot_product(delta, delta) <= radius2) affected_cells = affected_cells + 1
      end do

      write(unit_id,'(a,a)') '  ignition_kernel_shape     : ', trim(params%ignition_kernel_shape)
      write(unit_id,'(a,3(1x,es12.5))') '  ignition_kernel_center    : ', params%ignition_kernel_center
      write(unit_id,'(a,es12.5)') '  ignition_kernel_radius    : ', params%ignition_kernel_radius
      write(unit_id,'(a,es12.5)') '  ignition_kernel_T [K]     : ', params%ignition_kernel_T
      write(unit_id,'(a,a)') '  ignition_kernel_blend     : ', trim(params%ignition_kernel_blend)
      write(unit_id,'(a,i0)') '  ignition_kernel_cells     : ', affected_cells
      if (len_trim(params%ignition_kernel_composition) > 0) then
         write(unit_id,'(a,a)') '  ignition_kernel_composition : ', trim(params%ignition_kernel_composition)
      else
         write(unit_id,'(a)') '  ignition_kernel_composition : <unchanged from initial field>'
      end if
      if (params%restart_from_file) then
         write(unit_id,'(a)') '  note                       : restart_from_file=.true.; fresh-run kernel is skipped'
      end if
   end subroutine write_ignition_config_summary_to_unit