Skip to main content

LyceanEM is a Python library for modelling electromagnetic propagation for sensors and communications.

Project description


LyceanEM was conceived to enable rapid assesments of the suitability of difference antenna apertures for a wide range of platforms. This is based upon the use of ray tracing to determine the field of view of points of interest on the platform, whether building, train, plane, or mobile phone handset. Allowing the application of Wheelers formulation of the gain of an aperture.

This has been developed further since that point to include a frequency domain propagation model, allowing for antenna arrays and aperture antennas to be simulated with environment scattering.

Further development is planned for time domain modelling, computational efficiency, and eventually a Finite-Difference Time-Domain algorithm may be implemented to allow for modelling of a wider range of situations, or possibly hybrid modelling. This would use the FDTD algorithm for near field calculations, while using the ray tracing for more sparse situations.

Further documentation can be found here.

If you use LyceanEM in an academic project, please cite our paper:


    author      = {Timothy G Pelham and Geoff Hilton and Evangelos Mellios and Rob Lewis},
    title       = {Conformal Antenna Array Design Using Aperture Synthesis and On-Platform Modeling},
    journal     = {IEEE Access},
    year        = {2021},
    doi         = {10.1109/ACCESS.2021.3074317}

Core Features

  • 3D Visualization of Platform and Antenna Arrays
  • Aperture Projection
  • Raycasting
  • Frequency Domain Electromagnetics Modelling for scattering, antennas, and antenna array patterns
  • Time Domain Electromagnetics Modelling for scattering, antennas, and antenna array patterns
  • GPU acceleration of core operations

Supported Platforms

The package has been tested on:

  • Ubuntu and Mint 18.04 and 20.04
  • Windows 10 64-bit

With Python versions:

  • 3.7


LyceanEM uses CUDA for GPU acceleration. The advised installation method is to use Conda to setup a virtual environment, and installing both cudatoolkit and cupy.

   $ conda install -c conda-forge cudatoolkit
   $ conda install -c conda-forge cupy
   $ conda install -c open3d-admin open3d==0.9.0
   $ pip install lyceanem

Assuming the cudatoolkit and cupy are already installed, then LyceanEM can also be installed via pip.

 pip install LyceanEM


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyceanem- (112.0 kB view hashes)

Uploaded source

Built Distribution

lyceanem- (99.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page