44  character(len=20) :: POINTZ_KNOWN_TYPES(3) = [character(len=20) :: &
 
   56  module subroutine point_zone_factory(object, json, dof)
 
   57    class(point_zone_t), 
allocatable, 
intent(inout) :: object
 
   58    type(json_file), 
intent(inout) :: json
 
   59    type(dofmap_t), 
intent(inout), 
optional :: dof
 
   60    character(len=:), 
allocatable :: type_name
 
   61    character(len=:), 
allocatable :: type_string
 
   63    call json_get(json, 
"geometry", type_name)
 
   65    call point_zone_allocator(object, type_name)
 
   67    if (
present(dof)) 
then 
   68       call object%init(json, dof%size())
 
   70       call object%finalize()
 
   74       call object%init(json, 1)
 
   75       call object%finalize()
 
   77  end subroutine point_zone_factory
 
   79  module subroutine point_zone_allocator(object, type_name)
 
   80    class(point_zone_t), 
allocatable, 
intent(inout) :: object
 
   81    character(len=:), 
allocatable, 
intent(in) :: type_name
 
   84    if (
allocated(object)) 
deallocate(object)
 
   86    select case (trim(type_name))
 
   94       do i = 1, point_zone_registry_size
 
  100       call neko_error(
"Unknown point zone type: " // trim(type_name))
 
  102  end subroutine point_zone_allocator
 
  109  module subroutine register_point_zone(type_name, allocator)
 
  110    character(len=*), 
intent(in) :: type_name
 
  111    procedure(point_zone_allocate), 
pointer, 
intent(in) :: allocator
 
  112    type(allocator_entry), 
allocatable :: temp(:)
 
  115    do i = 1, 
size(pointz_known_types)
 
  116       if (trim(type_name) .eq. trim(pointz_known_types(i))) 
then 
  121    do i = 1, point_zone_registry_size
 
  128    if (point_zone_registry_size .eq. 0) 
then 
  131       allocate(temp(point_zone_registry_size + 1))
 
  136    point_zone_registry_size = point_zone_registry_size + 1
 
  140  end subroutine register_point_zone
 
  142end submodule point_zone_fctry
 
Retrieves a parameter by name or throws an error.
 
Implements a cylinder geometry subset.
 
Utilities for retrieving parameters from the case files.
 
subroutine, public neko_type_registration_error(base_type, wrong_type, known)
 
A cylindrical point zone.
 
A sphere-shaped point zone.