From 1472ca27d38bf4ea023349357459027bf1326e04 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Mon, 25 Mar 2024 17:13:15 +0000 Subject: [PATCH] qval should be positive --- src/components/instant_gradients.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/instant_gradients.jl b/src/components/instant_gradients.jl index 8785641..0ef67ae 100644 --- a/src/components/instant_gradients.jl +++ b/src/components/instant_gradients.jl @@ -1,6 +1,8 @@ module InstantGradients import StaticArrays: SVector, SMatrix +import JuMP: @constraint import ...Variables: VariableType, duration, qval, bmat_gradient, get_free_variable, set_simple_constraints!, effective_time, make_generic +import ...BuildSequences: global_model import ..AbstractTypes: EventComponent, GradientWaveform """ @@ -23,6 +25,9 @@ function (::Type{InstantGradient})(; orientation=nothing, group=nothing, qval=no res = InstantGradient3D(get_free_variable.(qval), group) else res = InstantGradient1D(get_free_variable(qval), orientation, group) + if res.qval isa Number + @constraint global_model() res.qval >= 0 + end end set_simple_constraints!(res, variables) return res -- GitLab