Skip to content

dqnguyen59/QuantumFieldSimulator

Repository files navigation

Quantum Field Simulator

Introduction

This source code simulates the quantum field theory. Initially it was developed to simulate the double slit experiment. It uses a simple motion formula to simulate the light wave. By defining the slits in the simulator, the interference patterns can be simulated. Even walls/mirrors can be defined freely in 3D quantum field. There are also other files to simulate, for example rain drops or detecting the speed of light. This simulator does not approximate the real world values, but rather simulates the properties of the light wave due to a lack of CPU/GPU power.

I am not claiming that this is The formula for quantum field theory, but it should only be used for educational purposes to understand the concept of quantum field theory.

Go to website https://www.smartblackbox.org/ for more detailed information.

The game library engine LWJGL is used to draw the field in 3D.

Sample files:

  • double_slit.qfs
  • rain.qfs
  • test_speed_of_light.qfs

Compilation

  • IDE: Eclipse
  • Compiler: Java 17

Make sure you have Java 17 installed. JDK 17 or later is recommended.

Download the project to any folder. Then from the File menu in Eclipse click on "open Projects from File System..." and import the downloaded project folder.

Then click on the menu "Project"->"Update Maven Project", then click on the "Ok" button.

Find the file Main.java and run.

Mac users:
VM arguments "-XstartOnFirstThread" needs to be added in Eclipse.

Download executable binary files

Go to the latest release.

Youtube videos

Youtube video tutorial: https://www.youtube.com/watch?v=TSEYb4WCsVA

CPU & GPU Performance for comparison

  • OS: Ubuntu 20.04.5 LTS
  • Processor: AMD Ryzen 9 3950x 16-core processor × 32
  • Graphics: AMD Radeon RX6800
Nodes Visible Nodes Width Height Depth FPS
80631 6561 51 51 31 70
22801 22801 151 151 1 32
78961 78961 281 281 1 10

Use of equivalent or more powerful hardware is recommended.
Recommended NVIDIA graphics cards: RTX2080Ti, RTX3070 or higher.

Formulas used


Double-slit simulation


Rain simulation


Random wave simulation


I have only a little knowledge of the formulas used, as shown on Wikipedia: Quantum field theory, but after a lot of trials and errors, I've found that the above formula works pretty well for simulating waves and double-slit experiments.

The equation above is simply derived from the physics motion formula. Have a look at the QFSNode.java source code to see how this formula is derived and used in the code. Note that this is not the full quantum field formula, only the electric field is simulated. Note that v is not the speed of light, but is actually the speed of the node itself. The propagation of the light wave is caused by the motion of the node where each node influences the neighboring nodes. The variable k determines the speed of light.

Enjoy 😃