PyRFDT

Core computational module for differentiable RF simulations

What is PyRFDT?

PyRFDT is the core computational module of the RFDT framework, providing high-performance differentiable RF simulation capabilities. It implements the fundamental algorithms for physically based ray tracing, electromagnetic field calculations, and gradient computation that enable end-to-end differentiable RF modeling.

Core Features

  • • Differentiable ray tracing algorithms
  • • Edge-diffraction transition functions
  • • GPU-accelerated computation
  • • Multi-threaded processing
  • • Physically based material modeling

Capabilities

  • • Signal domain transform surrogates
  • • Gradient-based optimization
  • • Real-time simulation updates
  • • Antenna pattern modeling
  • • Channel characterization

Basic Usage

Import and Setup

import rfdt
from rfdt import Server, Scene, SceneObject, Transform, Material

scene = Scene()
server = Server(scene=scene)
server.start()

Create Scene Objects

cube = SceneObject.create_cube(position=[0, 3, 0])
scene.add_object(cube)

# Create some objects
cube = SceneObject.create_cube(position=[0, 1, 0])
# cube2 = SceneObject.create_cube(position=[2, 0, 0])
cylinder = SceneObject.create_cylinder(position=[-2, 0, 0])

# Add objects to scene
scene.add_object(cube)
# scene.add_object(cube2)
scene.add_object(cylinder)

scene.add_transmitter(position=[0, 0, -5])
scene.add_receiver(position=[0, 0, -2])

print(f"Scene has {len(scene.objects)} objects")
for obj_id, obj in scene.objects.items():
    print(f"  - {obj.name} ({obj.id}) at position {obj.transform.position.tolist()}")
📦

Coming Soon

Package Ready for Download by the End of Sept 2025.

Complete PyRFDT package
Installation scripts and documentation
Example projects and tutorials

In the meantime, explore our available resources: