rfnetwork
Linear circuit solver for networks of RF components.
Installation
rfnetwork requires Python >= 3.9. Wheels are currently only available on Linux.
pip install rfnetwork
To build from source on Windows or Linux,
git clone https://github.com/ricklyon/rfnetwork.git
cd rfnetwork
git submodule update --init --recursive
pip install -e .
If building from source, a C++ compiler must be available on the system. On Windows systems the recommended compiler
is the MS C++ Build Tools.
In addition,nvcc must be present if compiling the GPU accelerated solver. The CPU solver will still compile if nvcc
is not found, but the GPU solver will not be available.
The GPU accelerated solver is available in the full_gpu branch.
Features
- Simulate networks of RF components with hierarchical building blocks.
- Compute noise figure of multi-port networks.
- Interactive tuning of variable components (i.e. switches, phase shifters, capacitors).
- Supports internal voltage probes inside a network.
- GPU accelerated FDTD solver.
Performance
FDTD solver metrics for the dipole.py example on the following device:
CPU: Intel i7-9700 (8) @ 4.700GHz
Memory Speed: 2666 MT/s
GPU: NVIDIA Quadro P2000
Model is simulated over a time span of 400ps.
| Cells | Time Steps | Grid Cell Max/Min [in] | CPU | GPU |
|---|---|---|---|---|
| 156k | 860 | 0.02 / 0.01 | 0.81s | 1.06s |
| 431k | 1721 | 0.015 / 0.005 | 6.94s | 5.32s |
| 329k | 8735 | 0.015 / 0.005 | 16.7s | -- |
Documentation
Documentation can be found here,
https://rfnetwork.readthedocs.io/en/latest/
License
rfnetwork is licensed under the MIT License.
Metadata
Release files for rfnetwork 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rfnetwork-0.5.0.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rfnetwork-0.5.0-cp312-cp312-manylinux_2_39_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.39+ x86-64 | Details |
Total release size: 9.1 MB
Release files / rfnetwork-0.5.0.tar.gz
| Download URL | rfnetwork-0.5.0.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
090ee5475651caad100fac497809f0140dd2aab255586483b0eeef3cd3237aa0
|
|
BLAKE2b-256 checksum How to use checksums |
dcabc04027d03d65ac7a46d10a50a15162c7b29fd1d400cea01e6af13356dd6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / rfnetwork-0.5.0-cp312-cp312-manylinux_2_39_x86_64.whl
| Download URL | rfnetwork-0.5.0-cp312-cp312-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 6.7 MB |
| Tags | CPython 3.12 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
d31920cdbb1e1388f75d5583c3775eb26d92b636f9ecc5a614cd5b23f229092f
|
|
BLAKE2b-256 checksum How to use checksums |
8181e16784a57099cf0bd8dfe68fb39f0b3024a20ec2cecaf5777b310fa134ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|