Skip to content

Wakis v0.5.0

Choose a tag to compare

@elenafuengar elenafuengar released this 07 Mar 11:49
· 174 commits to main since this release

Wakis v0.5.0

🚀 New Features

  • 🧱 Geometry import:

    • Functions to read .STP files, exporting each solid into an .STL file indicating the name and material: wakis.geometry.generate_stl_solids_from_stp(stp_file)
    • Functions to extract from .STP files solid names, colors, and materials: wakis.geometry.extract_XXX(stp_file) to easily build the input dictionaries needed for GridFIT3D
  • ⚡Solver:

    • New maximal timestep calculation for high-conductive regions based on CFL + relaxation time criterion
    • New methods: save_state(), load_state() to export and import the fields at a particular simulation timestep (HDF5 format). Method reset_fields() to clear fields before restarting a simulation.
    • Perfect Matching Layers (PML) boundary conditions: First version out!
  • 🖼️ Plotting:

    • solver.plot3DonSTL Field on STL solid using pyvista.sample interpolation algorithm
      • Interactive plane clipping on plot3DonSTL
      • Field shown on clipping plane
    • grid.plot_solids() 3D plot with the imported solids and the position in the simulation bounding box when bounding_box=True
  • 📥Sources:

    • Add plot(t) method to plot the source over the simulation time t
    • Custom amplitude as an attribute self.amplitude
    • Custom phase as an attribute self.phase
    • Custom injection time self.tinj
    • For PlaneWave allow for truncation at specific number of self.nodes injected
  • 🌱 Ecosytem:

    • Wake extrapolation of partially decayed wakes coupling with [IDDEFIX]: https://github.com/ImpedanCEI/IDDEFIX:

      • IDDEFIX is a physics-informed machine learning framework that fits a resonator-based model (parameterized by R, f, Q) to wakefield simulation data using Evolutionary Algorithms. It leverages Differential Evolution to optimize these parameters, enabling efficient classification and extrapolation of electromagnetic wakefield behavior. This allows for reduced simulation time while maintaining long-term accuracy, akin to time-series forecasting in machine learning
    • Impedance to wake function conversion using non-equidistant Fourier transform with: [`neffint]: https://github.com/ImpedanCEI/neffint

      • Neffint is an acronym for Non-equidistant Filon Fourier integration. This is a python package for computing Fourier integrals using a method based on Filon's rule with non-equidistant grid spacing.
    • Beam-induced power loss calculations for different beam shapes and filling schemes using ['BIHC`]: https://github.com/ImpedanCEI/BIHC

      • Beam Induced Heating Computation (BIHC) tool is a package that allows the estimation of the dissipated power due to the passage of a particle beam inside an accelerator component. The dissipated power value depends on the characteristics of the particle beam (beam spectrum and intensity) and on the characteristics of the considered accelerator component (beam-coupling impedance).

💗 Other Tag highlights

  • 🔁 Nightly tests with GitHub actions: 000 - 005
  • 📁 notebooks: containing interactive examples
  • 📁 examples: major cleanup, examples on CPU and GPU

🐛 Bugfixes

  • Patch representation when a list is passed in Plot2D
  • ipympl added as a dependency to wakis['notebook'] installation
  • Injection time to account for relativistic beta in sources

👋👩‍💻New Contributors

Full Changelog: v0.4.0...v0.5.0