andes.core.discrete.RateLimiter#
- class andes.core.discrete.RateLimiter(u, lower, upper, enable=True, no_lower=False, no_upper=False, lower_cond=1, upper_cond=1, name=None, tex_name=None, info=None)[source]#
Rate limiter for a differential variable.
RateLimiter does not export any variable. It directly modifies the differential equation value.
Warning
RateLimiter cannot be applied to a state variable that already undergoes an AntiWindup limiter. Use AntiWindupRate for a rate-limited anti-windup limiter.
Notes
RateLimiter inherits from Discrete to avoid internal naming conflicts with Limiter.
- __init__(u, lower, upper, enable=True, no_lower=False, no_upper=False, lower_cond=1, upper_cond=1, name=None, tex_name=None, info=None)[source]#
Methods
check_eq(**kwargs)This function is called in
l_check_eqafter updating equations.check_iter_err([niter, err])Check if the minimum iteration or maximum error is reached so that this discrete block should be enabled.
check_var(*args, **kwargs)This function is called in
l_update_varbefore evaluating equations.get_limit_report()Return a list of dicts describing variables clamped at limits.
get_names()Available symbols from this class
get_tex_names()Return tex_names of exported flags.
get_values()list2array(n)Allocate memory for the discrete flags specified in self.export_flags.
save_unconstrained()Save the input variable's unconstrained value (call after init pass 1).
Attributes
class_name