Skip to main content

Palace: 3D Finite Element Solver for Computational Electromagnetics

CI (Linux) CI (macOS)

Palace, for PArallel LArge-scale Computational Electromagnetics, is an open-source, parallel finite element code for full-wave 3D electromagnetic simulations in the frequency or time domain, using the MFEM finite element discretization library and libCEED library for efficient exascale discretizations.

Key features

  • Eigenmode calculations with optional material or radiative loss including lumped impedance boundaries. Automatic postprocessing of energy-participation ratios (EPRs) for circuit quantization and interface or bulk participation ratios for predicting dielectric loss.
  • Frequency domain driven simulations with surface current excitation and lumped or numeric wave port boundaries. Wideband frequency response calculation using uniform frequency space sampling or an adaptive fast frequency sweep algorithm.
  • Explicit or fully-implicit time domain solver for transient electromagnetic analysis.
  • Lumped capacitance and inductance matrix extraction via electrostatic and magnetostatic problem formulations.
  • Support for a wide range of mesh file formats for structured and unstructured meshes, with built-in uniform or region-based parallel mesh refinement.
  • Solution-based Adaptive Mesh Refinement (AMR) for all simulation types aside from transient. Nonconformal refinement is supported for all mesh types, and conformal refinement for simplex meshes.
  • Arbitrary high-order finite element spaces and curvilinear mesh support thanks to the MFEM library.
  • Scalable algorithms for the solution of linear systems of equations, including matrix-free $p$-multigrid utilizing high-order operator partial assembly, parallel sparse direct solvers, and algebraic multigrid (AMG) preconditioners, for fast performance on platforms ranging from laptops to HPC systems.
  • Support for hardware acceleration using NVIDIA or AMD GPUs, including multi-GPU parallelism, using pure CUDA and HIP code as well as MAGMA and other libraries.

Getting started

Palace can be installed using the Spack HPC package manager, with the command spack install palace. Run spack info palace to get more information about the available configuration options and dependencies.

Those wishing to work in a containerized environment may use the Singularity/Apptainer recipe for Palace in singularity/ to build a container containing Palace and all its dependencies.

Finally, instructions for obtaining Palace and building from source can be found in the documentation. As part of the CMake build process, most dependencies are downloaded and installed automatically and thus an internet connection is required.

System requirements:

  • CMake version 3.21 or later
  • C++17 compatible C++ compiler
  • C and Fortran (optional) compilers for dependency builds
  • MPI distribution
  • BLAS, LAPACK libraries
  • CUDA Toolkit or ROCm installation (optional, for GPU support only)

Documentation

https://awslabs.github.io/palace/

The documentation for Palace provides full instructions for building the solver and running electromagnetic simulations.

To build a local version of the documentation, run julia make.jl from within the docs/ directory.

Examples

Some example applications including configuration files and meshes can be found in the examples/ directory. Complete tutorials for each example are available in the documentation.

Changelog

Check out the changelog.

Contributing

We welcome contributions to Palace including bug fixes, feature requests, etc. To get started, check out our contributing guidelines.

Contact

Palace is developed by the Design and Simulation group in the AWS Center for Quantum Computing (CQC). Please contact the development team at palace-maint@amazon.com with any questions or comments, or open an issue.

License

This project is licensed under the Apache-2.0 License.

Metadata

Release files for palace-fem 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for palace-fem 0.1.0
File Size Uploaded Provenance
palace_fem-0.1.0.tar.gz 14.2 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for palace-fem 0.1.0
File Interpreter ABI Platform
palace_fem-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.4 MB

Release files / palace_fem-0.1.0.tar.gz

Download URL palace_fem-0.1.0.tar.gz
Size 14.2 MB
Tags Source
SHA-256 checksum
How to use checksums
7b2997ef8a43331ff1884912e65b955f71018b6eccf4a0a54041759485bb97e1
BLAKE2b-256 checksum
How to use checksums
3d22642dde1d09d767997defb73951aeb68a1a55d05f886fa5839ab4144eafb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / palace_fem-0.1.0-py3-none-any.whl

Download URL palace_fem-0.1.0-py3-none-any.whl
Size 118.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9de89d52925d684f92253664998623a0a690d67749f14599b5dd4b52dc7fb210
BLAKE2b-256 checksum
How to use checksums
3cced69810ac913e770b5197bfddba613b088d7f82c80045e517aa1581e7831b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Security for palace-fem 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page