Palace 0.15 has been released! The full list of changes can be found in the CHANGELOG.md, but here we'll give a more in-depth overview of some of the new features.
Extracting fields in the radiative zone — @Sbozzolo
Palace now supports far-field propagation of near-field solutions using the Stratton-Chu transformation. This feature is ideal for studying radiative properties and antenna behavior. To use it, specify target points or resolution in the relevant FarField section of the JSON configuration file. The output is a CSV file containing the complex E-field on the discretized far-field sphere. Full documentation is available at this link.
A new dipole antenna example demonstrates this capability and shows how to compute and plot antenna patterns.
Saving outputs as MFEM GridFunctions — @simlapointe, @Sbozzolo
In addition to ParaView output, Palace can now save solutions to MFEM’s native GridFunction format. GridFunctions can be opened with GLVis, which allows for more direct and faster interaction with the solution compared to ParaView. To see an example of this, check the Quick Start tutorial, which embeds a GLVis session. GLVis is keyboard driven, and we recommend reading the official documentation to see what keybindings are available.
Palace can now solve nonlinear eigenvalue problems. This enables eigenmode simulations with frequency-dependent boundary conditions such as waveport, surface conductivity, or second-order absorbing boundaries. Two nonlinear eigenvalue solvers are available and they can be selected by setting config[“Solver”][“Eigenmode”][“NonlinearType”].
Reduced memory footprint by dropping small entries from certain matrices — @simlapointe
Palace comes with a new option that reduces its memory footprint and increases performance. config["Solver"]["Linear"]["DropSmallEntries"] is deactivated by default for now, but allows for removing entries that are below machine precision in the matrix used in the sparse direct solver, reducing the cost of this operation.
Improvements to unit tests — @Sbozzolo
The unit test infrastructure in Palace has received major improvements. It is now possible to install unit tests with Spack by installing the +tests variant. The new palace-unit-tests executable now supports Serial, MPI, and GPU tests. Preliminary support for computing test coverage was also introduced.