Calculate a Two-Dimensional Primitive Root Diffuser

This calculator is based on the patent for 2D primitive root diffusers (US patent #5401921 from March 28, 1995) by Peter D´Antonio and John Konnert of RPG Systems. It is inspired by the existing, great calculator, which is, while being very useful and working properly, not really helping you to find the right coprime pair and primitive roots. These have to be determined manually, involving lots of math.

The approach of this calculator is to have instant results after each value change, besides doing all necessary math. Possible coprime pairs are proposed for a given range of columns/rows, and primitive roots can simply be chosen from a list. After any value change, all data on the page is updated instantly (after hitting return or leaving the input field), so you can just "play around" with the values.

The calculator is completely written in JavaScript. It runs on your local machine in the browser, to provide fast response times. However, be careful to enter unrealistically high values, this can easily hang up your browser. The 3d visualization is done using the lightweight JavaScript 3d rendering framework Phoria.js (Version 0.9.16). If you find any bugs or have feature requests, please mail to tom-vibrant(at)

UPDATE 01/2022: With the new link below named 'Save 3D Model as STL File' you can now export the current model to be processed by most 3D programs. The data is saved as ASCII STL file, whose dimension unit is cm (Centimeters).

NOTE: For larger models, this could take a while. Don't stop the script, this is normal as larger STL models need much memory and disk space.

IMPORTANT: This has been requested by several users who seem to like this ad-free (!) calculator and use it regularly, so please don't forget donating! Until now, sadly no one ever did! (until 17.1.2022) I am providing this on a completely non-profit and free basis and even try to fulfill requirements as far as possible, but i can only continue this effort if there is at least a bit of feedback in that regard. Just hit the "Donate" button to be directed to Paypal, thanks a lot and have fun :)

Save 3D model as STL file

Design Frequencies and other Parameters

Low Frequency Limit: Hz
High Frequency Limit: Hz
Speed of Sound: m/s
Quantization of Well Heights: cm
Ratio (for non-quadratic wells): : 1 [rows : columns]

Possible Coprime Pairs (Columns / Rows)

Column Range: to columns
Row Range: to rows

The following options are all possible coprime pairs in the entered range of columns/rows, which fulfill the requirements (coprime pairs, whose product plus one is a prime number). Please select one choice:

Primitive Root

Here you can specify the primitive root. All possible primitive roots for the selected prime number are selectable. In the RPG patent, there is no direct recommendation about the primitive root, except that it has to be a prime number itself. However, also the roots which are no primes are selectable. Normally the lowest one which is prime is recommened.


Zoom Factor:

PRD Well Heights (cm)

Shopping List

Overall length (all wells added up):

PRD Coefficients

(C) Tom Weber 2015-2022