38 use json_module,
only: json_file
70 type(json_file),
intent(inout) :: json
71 integer,
intent(in) :: size
73 character(len=:),
allocatable :: str_read
74 real(kind=
rp),
allocatable :: values(:)
75 real(kind=
rp) :: xmin, xmax, ymin, ymax, zmin, zmax
77 call json_get(json,
"x_bounds", values)
80 call json_get(json,
"y_bounds", values)
83 call json_get(json,
"z_bounds", values)
86 call json_get(json,
"name", str_read)
89 xmax, ymin, ymax, zmin, zmax)
105 integer,
intent(in),
optional :: size
106 character(len=*),
intent(in) :: name
107 real(kind=
rp),
intent(in) :: xmin
108 real(kind=
rp),
intent(in) :: xmax
109 real(kind=
rp),
intent(in) :: ymin
110 real(kind=
rp),
intent(in) :: ymax
111 real(kind=
rp),
intent(in) :: zmin
112 real(kind=
rp),
intent(in) :: zmax
114 call this%init_base(
size, name)
136 call this%free_base()
157 real(kind=
rp),
intent(in) :: x
158 real(kind=
rp),
intent(in) :: y
159 real(kind=
rp),
intent(in) :: z
160 integer,
intent(in) :: j
161 integer,
intent(in) :: k
162 integer,
intent(in) :: l
163 integer,
intent(in) :: e
165 logical :: in_x, in_y, in_z
168 in_x = ( (x .gt. this%xmin .and. x .lt. this%xmax) .or. &
172 in_y = ( (y .gt. this%ymin .and. y .lt. this%ymax) .or. &
176 in_z = ( (z .gt. this%zmin .and. z .lt. this%zmax) .or. &
179 is_inside = in_x .and. in_y .and. in_z
Retrieves a parameter by name or throws an error.
subroutine box_point_zone_init_from_json(this, json, size)
Constructor from json object file.
pure logical function box_point_zone_criterion(this, x, y, z, j, k, l, e)
Defines the criterion of selection of a GLL point in the box point zone. In the case of a box point z...
subroutine box_point_zone_init_common(this, size, name, xmin, xmax, ymin, ymax, zmin, zmax)
Initializes a box point zone from its coordinates.
subroutine box_point_zone_free(this)
Destructor.
Utilities for retrieving parameters from the case files.
integer, parameter, public rp
Global precision used in computations.
Base abstract type for point zones.