12 USE stel_kinds,
only : rprec, cprec
45 REAL (rprec),
DIMENSION(0:4,0:4) :: arz
98 REAL (rprec),
DIMENSION(0:4,0:4),
INTENT(in) :: arz
99 REAL (rprec),
INTENT(in) :: rc
100 REAL (rprec),
INTENT(in) :: zc
101 INTEGER,
INTENT(in) :: numin
102 REAL (rprec),
DIMENSION(:),
INTENT(in) :: vgrid
103 LOGICAL,
INTENT(in) :: on_edge
106 REAL (rprec) :: start_time
109 start_time = profiler_get_start_time()
123 CALL profiler_set_stop_time(
'limiter_iso_construct', start_time)
142 TYPE (limiter_iso_class),
INTENT(inout) :: this
171 & r, z, rphiz_at_max)
178 INTEGER,
INTENT(in) :: num_theta
179 INTEGER,
INTENT(in) :: phi_index
180 REAL (rprec),
DIMENSION(:),
INTENT(in) :: r
181 REAL (rprec),
DIMENSION(:),
INTENT(in) :: z
182 REAL (rprec),
DIMENSION(3),
INTENT(out) :: rphiz_at_max
185 INTEGER :: theta_index
187 REAL (rprec) :: start_time
190 start_time = profiler_get_start_time()
195 DO theta_index = 1, num_theta
196 fval = this%get_value(r(theta_index), z(theta_index))
200 rphiz_at_max = (/ r(theta_index), this%phi(phi_index),
205 CALL profiler_set_stop_time(
'limiter_iso_get_max_fval',
231 REAL (rprec),
INTENT(in) :: r
232 REAL (rprec),
INTENT(in) :: z
238 REAL (rprec) :: grad_e
241 REAL (rprec) :: start_time
244 start_time = profiler_get_start_time()
251 & + this%arz(i,j)*((r - this%rc)**i)*((z - this%zc)**j)
260 & + this%arz(i,j)*i*((r - this%rc)**(i-1)) *
270 & + this%arz(i,j)*j*((r - this%rc)**i) *
271 & ((z - this%zc)**(j - 1))
276 grad_e = max(1.e-12, sqrt(er*er + ez*ez))
280 CALL profiler_set_stop_time(
'limiter_iso_get_value', start_time)
302 REAL (rprec) :: start_time
305 start_time = profiler_get_start_time()
308 & trim(this%limiter_class%get_type()) //
'iso'
310 CALL profiler_set_stop_time(
'limiter_iso_get_type', start_time)