BiradialManipulate[] := DynamicModule[ pha = 0, phb = 0, phaseSync = False, phaseInverse = False, showLabels = False, mirrorRayNumbering = False , Manipulate[ BiradialPlot`makeBRMPlot[ d, ra, rb, pha, phb, rule, plotRange, "showPointLabels" -> showLabels, "lineThickness" -> thk, "nodeDiam" -> nodeDiam, "imgWth" -> width, "lineColor" -> lineColor, "pointColor" -> pointColor, "mirrorRayNumbering" -> mirrorRayNumbering ], {rule, "rays", "Field Structure"}, "nodes" -> "Nodes", "rays" -> " Rays ", "attract" -> " Attract ", "repel" -> " Repel ", "hyperbola" -> " Hyperbola " , {{d, 4, Style["D", 14]}, 1, 6, 1}, {{ra, 24, Style[Subscript["R", "a"], 14]}, 4, 60, 1}, {{rb, 24, Style[Subscript["R", "b"], 14]}, 4, 60, 1}, Item[Grid[ Style[Subscript["ϕ", "a"], 14], Dynamic[Manipulator[ Dynamic[pha, (pha = #; If[phaseSync, phb = ra / rb If[phaseInverse, -pha, pha]]) &], {N[-π / ra], N[π / ra]} ]] , Style[Subscript["ϕ", "b"], 14], Dynamic[Manipulator[ Dynamic[phb, (phb = #; If[phaseSync, pha = rb / ra If[phaseInverse, -phb, phb]]) &], {N[-π / rb], N[π / rb]} ]] ], Alignment -> Right], Item[Grid[ "Phase Synch", Checkbox[Dynamic[phaseSync]], "Inverse", Checkbox[Dynamic[phaseInverse]] , "Show Labels", Checkbox[Dynamic[showLabels]], "Mirror", Checkbox[Dynamic[mirrorRayNumbering]] ], Alignment -> Center], {{thk, 0.002, "Line Thickness"}, 0.001, 0.01, 0.001}, {{nodeDiam, 0.01, "Node Diameter"}, 0.005, 0.02, 0.001}, {{lineColor, Purple, "Line Color"}, ColorSlider}, {{pointColor, Black, "Point Color"}, ColorSlider}, {{plotRange, 6, "Plot Range"}, 2, 12, 1}, {{width, 400, "Image Size"}, 400, 800, 100} ], SaveDefinitions -> True(* , SynchronousInitialization -> False *) ]