|
V3FIT
|
Go to the documentation of this file.
17 USE stel_kinds,
only: rprec, dp
38 LOGICAL :: on_edge = .false.
40 REAL (rprec),
DIMENSION(:),
POINTER :: phi => null()
76 IF (
ASSOCIATED(this%phi))
THEN
81 this%on_edge = .false.
113 REAL (rprec),
DIMENSION(4),
INTENT(out) :: sigma
114 REAL (rprec),
DIMENSION(4),
INTENT(in) :: last_value
118 REAL (rprec),
DIMENSION(:),
POINTER :: r
119 REAL (rprec),
DIMENSION(:),
POINTER :: z
122 REAL (rprec),
DIMENSION(3) :: rphiz_at_max
123 REAL (rprec) :: fval_max
124 REAL (rprec) :: start_time
131 IF (btest(a_model%state_flags, model_state_vmec_flag) .or.
132 & btest(a_model%state_flags, model_state_siesta_flag) .or.
133 & btest(a_model%state_flags, model_state_shift_flag) .or.
134 & btest(a_model%state_flags, model_state_signal_flag))
THEN
140 DO phi_index = 1,
SIZE(this%phi)
142 & equilibrium_get_plasma_edge(a_model%equilibrium,
143 & this%phi(phi_index), r, z)
145 fval_max = this%get_max_fval(num_theta, phi_index, r, z,
149 IF (this%on_edge)
THEN
157 IF (
ASSOCIATED(r))
THEN
160 IF (
ASSOCIATED(z))
THEN
166 CALL this%scale_and_offset(a_model,
195 REAL (rprec) :: start_time
222 CHARACTER (len=data_name_length),
DIMENSION(7),
INTENT(inout) ::
226 REAL (rprec) :: start_time
232 header(2) =
'phi (rad)'
234 header(4) =
'model_sig(1)'
235 header(5) =
'model_sig(2)'
236 header(6) =
'model_sig(3)'
237 header(7) =
'model_sig(4)'
257 & r, z, rphiz_at_max)
265 INTEGER,
INTENT(in) :: num_theta
266 INTEGER,
INTENT(in) :: phi_index
267 REAL (rprec),
DIMENSION(:),
INTENT(in) :: r
268 REAL (rprec),
DIMENSION(:),
INTENT(in) :: z
269 REAL (rprec),
DIMENSION(3),
INTENT(out) :: rphiz_at_max
272 CALL assert(.false.,
'limiter_get_max_fval not over written' //
273 &
' for ' // this%get_type())
Defines functions for measuring an tabulating performance of function and subroutine calls....
subroutine limiter_get_header(this, header)
Gets a discription of the model and model sigma array indices.
Base class representing a limiter signal.
Defines the base class of the type model_class. The model contains information not specific to the eq...
subroutine limiter_destruct(this)
Deconstruct a limiter_class object.
real(rprec) function, dimension(4) limiter_get_modeled_signal(this, a_model, sigma, last_value)
Calculates the modeled signal.
real(rprec) function profiler_get_start_time()
Gets the start time of profiled function.
Base class representing a model.
real(rprec) function limiter_get_max_fval(this, num_theta, phi_index, r, z, rphiz_at_max)
Calculates the maximum value of the limiter function.
character(len=data_name_length) function limiter_get_type(this)
Gets a discription of the limiter type.
This modules contains parameters used by equilibrium models.
subroutine profiler_set_stop_time(symbol_name, start_time)
Gets the end time of profiled function.
Defines the base class of the type limiter_class.
Base class representing a signal.
Defines the base class of the type signal_class.