Wakis v0.5.0
Wakis v0.5.0
🚀 New Features
-
🧱 Geometry import:
- Functions to read
.STPfiles, exporting each solid into an.STLfile indicating the name and material:wakis.geometry.generate_stl_solids_from_stp(stp_file) - Functions to extract from
.STPfilessolidnames,colors, andmaterials:wakis.geometry.extract_XXX(stp_file)to easily build the input dictionaries needed forGridFIT3D
- Functions to read
-
⚡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). Methodreset_fields()to clear fields before restarting a simulation. - Perfect Matching Layers (PML) boundary conditions: First version out!
-
🖼️ Plotting:
solver.plot3DonSTLField on STL solid usingpyvista.sampleinterpolation algorithm- Interactive plane clipping on
plot3DonSTL - Field shown on clipping plane
- Interactive plane clipping on
grid.plot_solids()3D plot with the imported solids and the position in the simulation bounding box whenbounding_box=True
-
📥Sources:
- Add
plot(t)method to plot the source over the simulation timet - Custom amplitude as an attribute
self.amplitude - Custom phase as an attribute
self.phase - Custom injection time
self.tinj - For
PlaneWaveallow for truncation at specific number ofself.nodesinjected
- Add
-
🌱 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 ipympladded as a dependency towakis['notebook']installation- Injection time to account for relativistic beta in sources
👋👩💻New Contributors
- @MaltheRaschke made their first contribution in #4
Full Changelog: v0.4.0...v0.5.0