From 20defefd01a044060f1104d4df332ef264021638 Mon Sep 17 00:00:00 2001 From: Jan Kaiser Date: Tue, 12 Sep 2023 21:38:29 +0200 Subject: [PATCH] Revert "Add properties via pydantic" This reverts commit 7204199592b351f83aac06c5d826646826b15f45. --- cheetah/accelerator.py | 55 ++---------------------------------------- setup.py | 2 +- 2 files changed, 3 insertions(+), 54 deletions(-) diff --git a/cheetah/accelerator.py b/cheetah/accelerator.py index 637f4053..ff699be4 100644 --- a/cheetah/accelerator.py +++ b/cheetah/accelerator.py @@ -6,7 +6,6 @@ import matplotlib import matplotlib.pyplot as plt import numpy as np -import pydantic import torch from matplotlib.patches import Rectangle from scipy import constants @@ -28,7 +27,7 @@ ) -class Element(ABC, pydantic.BaseModel): +class Element(ABC): """ Base class for elements of particle accelerators. @@ -37,10 +36,7 @@ class Element(ABC, pydantic.BaseModel): CUDA GPU is selected if available. The CPU is used otherwise. """ - name: str = "unnamed" - device: torch.device - - def __init__(self, name: str = "unnamed", device: str = "auto") -> None: + def __init__(self, name: Optional[str] = None, device: str = "auto") -> None: self.name = name if device == "auto": @@ -172,8 +168,6 @@ class Drift(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - def __init__( self, length: torch.Tensor, name: Optional[str] = None, device: str = "auto" ) -> None: @@ -240,11 +234,6 @@ class Quadrupole(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - k1: torch.Tensor = torch.tensor(0.0) - misalignment: torch.Tensor = torch.tensor([0.0, 0.0]) - tilt: torch.Tensor = torch.tensor(0.0) - def __init__( self, length: torch.Tensor, @@ -341,15 +330,6 @@ class Dipole(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - angle: torch.Tensor = torch.tensor(0.0) - e1: torch.Tensor = torch.tensor(0.0) - e2: torch.Tensor = torch.tensor(0.0) - tilt: torch.Tensor = torch.tensor(0.0) - fringe_integral: torch.Tensor = torch.tensor(0.0) - fringe_integral_exit: Optional[torch.Tensor] = None - gap: torch.Tensor = torch.tensor(0.0) - def __init__( self, length: torch.Tensor, @@ -580,9 +560,6 @@ class HorizontalCorrector(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - angle: torch.Tensor = torch.tensor(0.0) - def __init__( self, length: torch.Tensor, @@ -663,9 +640,6 @@ class VerticalCorrector(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - angle: torch.Tensor = torch.tensor(0.0) - def __init__( self, length: torch.Tensor, @@ -748,11 +722,6 @@ class Cavity(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - voltage: torch.Tensor = torch.tensor(0.0) - phase: torch.Tensor = torch.tensor(0.0) - frequency: torch.Tensor = torch.tensor(0.0) - def __init__( self, length: torch.Tensor, @@ -1156,12 +1125,6 @@ class Screen(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - resolution: torch.Tensor = torch.tensor((1024, 1024)) - pixel_size: torch.Tensor = torch.tensor((1e-3, 1e-3)) - binning: torch.Tensor = torch.tensor(1) - misalignment: torch.Tensor = torch.tensor((0.0, 0.0)) - is_active: bool = False - def __init__( self, resolution: torch.Tensor = torch.tensor((1024, 1024)), @@ -1342,11 +1305,6 @@ class Aperture(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - x_max: torch.Tensor = torch.inf - y_max: torch.Tensor = torch.inf - shape: Literal["rectangular", "elliptical"] = "rectangular" - is_active: bool = True - def __init__( self, x_max: torch.Tensor = torch.inf, @@ -1451,9 +1409,6 @@ class Undulator(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - is_active: bool = False - def __init__( self, length: torch.Tensor, @@ -1530,10 +1485,6 @@ class Solenoid(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - length: torch.Tensor - k: torch.Tensor = torch.tensor(0.0) - misalignment: torch.Tensor = torch.tensor((0.0, 0.0)) - def __init__( self, length: torch.Tensor = torch.tensor(0.0), @@ -1625,8 +1576,6 @@ class Segment(Element): CUDA GPU is selected if available. The CPU is used otherwise. """ - elements: list[Element] - def __init__( self, cell: list[Element], name: str = "unnamed", device: str = "auto" ) -> None: diff --git a/setup.py b/setup.py index afa50c06..9fa173f3 100644 --- a/setup.py +++ b/setup.py @@ -19,5 +19,5 @@ long_description_content_type="text/markdown", packages=["cheetah"], python_requires=">=3.9", - install_requires=["matplotlib", "numpy", "pydantic", "scipy", "torch"], + install_requires=["matplotlib", "numpy", "scipy", "torch"], )