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
78 call json_get(json,
"x_bounds", values)
81 call json_get(json,
"y_bounds", values)
84 call json_get(json,
"z_bounds", values)
87 call json_get(json,
"name", str_read)
89 call json_get(json,
"name", str_read)
93 xmin, xmax, ymin, ymax, zmin, zmax)
107 ymin, ymax, zmin, zmax)
109 integer,
intent(in),
optional :: size
110 character(len=*),
intent(in) :: name
111 logical,
intent(in) :: invert
112 real(kind=
rp),
intent(in) :: xmin
113 real(kind=
rp),
intent(in) :: xmax
114 real(kind=
rp),
intent(in) :: ymin
115 real(kind=
rp),
intent(in) :: ymax
116 real(kind=
rp),
intent(in) :: zmin
117 real(kind=
rp),
intent(in) :: zmax
119 call this%init_base(
size, name, invert)
141 call this%free_base()
163 real(kind=
rp),
intent(in) :: x
164 real(kind=
rp),
intent(in) :: y
165 real(kind=
rp),
intent(in) :: z
166 integer,
intent(in) :: j
167 integer,
intent(in) :: k
168 integer,
intent(in) :: l
169 integer,
intent(in) :: e
171 logical :: in_x, in_y, in_z
174 in_x = ( (x .gt. this%xmin .and. x .lt. this%xmax) .or. &
178 in_y = ( (y .gt. this%ymin .and. y .lt. this%ymax) .or. &
182 in_z = ( (z .gt. this%zmin .and. z .lt. this%zmax) .or. &
185 is_inside = in_x .and. in_y .and. in_z
Retrieves a parameter by name or assigns a provided default value. In the latter case also adds the m...
Retrieves a parameter by name or throws an error.
subroutine box_point_zone_init_common(this, size, name, invert, xmin, xmax, ymin, ymax, zmin, zmax)
Initializes a box point zone from its coordinates.
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_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.