From 2a0e662d97ee550086e3510082b669263606d917 Mon Sep 17 00:00:00 2001 From: Chenran Xu Date: Thu, 26 Sep 2024 10:33:38 +0200 Subject: [PATCH 1/2] Corretly convert hgap in dipole from bmad --- CHANGELOG.md | 1 + cheetah/converters/bmad.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96765227..cdfec90f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Add `TransverseDeflectingCavity` element (following the Bmad-X implementation) (see #240) (@jp-ga) - `Dipole` and `RBend` now take a focusing moment `k1` (see #235, #247) (@hespe) - Implement a converter for lattice files imported from Elegant (see #222) (@hespe) +- Implement a converter to read bmad lattices (see #196, #261) ### 🐛 Bug fixes diff --git a/cheetah/converters/bmad.py b/cheetah/converters/bmad.py index 7bb249a2..a2f45a6a 100644 --- a/cheetah/converters/bmad.py +++ b/cheetah/converters/bmad.py @@ -145,7 +145,7 @@ def convert_element( ) return cheetah.Dipole( length=torch.tensor([bmad_parsed["l"]]), - gap=torch.tensor([bmad_parsed.get("hgap", 0.0)]), + gap=torch.tensor([2 * bmad_parsed.get("hgap", 0.0)]), angle=torch.tensor([bmad_parsed.get("angle", 0.0)]), e1=torch.tensor([bmad_parsed["e1"]]), e2=torch.tensor([bmad_parsed.get("e2", 0.0)]), From 34a18e51196caeca25c7eb8985b6cf33c9f2e6d4 Mon Sep 17 00:00:00 2001 From: Jan Kaiser Date: Tue, 1 Oct 2024 18:30:53 +0200 Subject: [PATCH 2/2] Correct changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdfec90f..c55869cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,6 @@ - Add `TransverseDeflectingCavity` element (following the Bmad-X implementation) (see #240) (@jp-ga) - `Dipole` and `RBend` now take a focusing moment `k1` (see #235, #247) (@hespe) - Implement a converter for lattice files imported from Elegant (see #222) (@hespe) -- Implement a converter to read bmad lattices (see #196, #261) ### 🐛 Bug fixes @@ -34,6 +33,7 @@ - Fix an issue where splitting elements would result in splits with a different `dtype` (see #211) (@jank324) - Fix issue in Bmad import where collimators had no length by interpreting them as `Drift` + `Aperture` (see #249) (@jank324) - Fix NumPy 2 compatibility issues with PyTorch on Windows (see #220, #242) (@hespe) +- Fix issue with Dipole hgap conversion in Bmad import (see #261) (@cr-xu) ### 🐆 Other