Skip to content

Releases: ImpedanCEI/wakis

v0.5.1

12 Mar 10:12
Compare
Choose a tag to compare

v0.5.1

Minor fixes and updates

🚀 New Features

  • Plotting
    • Allow passing camera position to solver's 3D plots plot3D and plor3DnSTL

💗 Other Tag highlights

  • 🔁 Nightly tests with GitHub actions:
    • 003 -> coverage for grid inspect and plot_solid
  • 📁 Examples:
    • 003 -> MPI wakefield simulation with mpi4py
  • 📁 Notebooks:
    • 005 -> MPI example in jupyter notebooks with ipyparallel+ mpi4py

🐛 Bugfixes

  • __version__ now matches PyPI release and tag
  • gridFIT3D.plot_solids() fix typo in the opacity assignment
  • example/001 fixed stl_solids parameter in grid.inspect() call

📝Full changelog

v0.5.0...v0.5.1

  • 2025-03-12 fix: typo in ocpacity, variable overwritten (elenafuengar)
  • 2025-03-12 test: add coverage for grid.inspect and grid.plot_solids (elenafuengar)
  • 2025-03-12 fix: add_stl use keys not stl file path, add default parameters and uncomment (elenafuengar)
  • 2025-03-11 feature: allow passing camera position as argument on 3D plotting routines (elenafuengar)
  • 2025-03-11 test: study different pml_func profiles and compare smoothness and derivatives (elenafuengar)
  • 2025-03-10 docs: update release.md for next version (elenafuengar)
  • 2025-03-07 docs: update supported python versions 3.8+ <3.12 (elenafuengar)
  • 2025-03-07 docs: update version (elenafuengar)
  • 2025-03-07 docs: update CITATION.cff with v0.5.0 doi (Elena de la Fuente García)
  • 2025-03-07 docs: add zenodo badge to readme.md (Elena de la Fuente García)

Wakis v0.5.0

07 Mar 11:49
Compare
Choose a tag to compare

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