From dcc5692567de2d93dbeefa5747591f568ae1d8b0 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk>
Date: Wed, 31 Jan 2024 16:46:26 +0000
Subject: [PATCH] Add contraints on negative gradient strength/slew rate

---
 src/building_blocks.jl | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/building_blocks.jl b/src/building_blocks.jl
index caba574..9621283 100644
--- a/src/building_blocks.jl
+++ b/src/building_blocks.jl
@@ -137,6 +137,7 @@ function scanner_constraints!(model::Model, building_block::BuildingBlock, scann
                 # no rotation; apply constraint to each dimension independently
                 for expr in res_bb
                     @constraint model expr <= func(scanner)
+                    @constraint model expr >= -func(scanner)
                 end
             else
                 # with rotation: apply constraint to total squared
@@ -145,6 +146,7 @@ function scanner_constraints!(model::Model, building_block::BuildingBlock, scann
             end
         else
             @constraint model res_bb <= func(scanner)
+            @constraint model res_bb >= -func(scanner)
         end
     elseif building_block isa ContainerBlock
         # apply constraints at lower level
-- 
GitLab