Releases: awslabs/palace
v0.15.0
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.
To enable this output format, set config["Problem"]["OutputFormats"]["GridFunction"] to true in the JSON configuration.
Solving non-linear eigenvalue problems — @simlapointe
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.
Full list of contributors:
@cameronrutherford, @hughcars, @laylagi, @phdum-a, @Sbozzolo, @simlapointe
Full Changelog: v0.14.0...v0.15.0
v0.14.0
Introduces several new features: cracking of internal boundary elements to allow for improved AMR and modeling of metalic films, adaptive time stepping for transient simulations, a generalized interface for specification of frequency samples, multiple excitations within a driven simulation, perfect periodic and Floquet periodic boundary conditions, support for nonconformal adaptation with wave port boundary conditions, improved spack support and improved gpu support, along with many other bug fixes.
Full Changelog: v0.13.0...v0.14.0
New Contributors
- @gpeairs made their first contribution in #259
- @laylagi made their first contribution in #266
- @simlapointe made their first contribution in #292
- @phdum-a made their first contribution in #302
- @cameronrutherford made their first contribution in #366
- @sanjayy-gowdaa made their first contribution in #395
- @Sbozzolo made their first contribution in #413
v0.13.0
Adds GPU support using CUDA and HIP for NVIDIA and AMD devices and enables operator partial assembly by default for all simulation types. Improves error estimation for AMR, fixes bugs related lumped ports and wave ports, and includes many other performance improvements, additions, and bug fixes as well.
Full history: v0.12.0...v0.13.0
v0.12.0
Includes support for conforming and nonconforming adaptive mesh refinement (AMR), operator partial assembly using the libCEED library, and many other improvements and bug fixes. Happy holidays!
Full history: v0.11.2...v0.12.0