Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
experimentpreset2d.h
Go to the documentation of this file.
1/**
2 * @file experimentpreset2d.h
3 * @brief Declares the frozen catalog of 54 guided QPE experiment presets and their representative physical scales.
4 * @ingroup qpe_experiments
5 *
6 * Source: @c core/experiments/experimentpreset2d.h. This file is part of Quantum Phenomena Explorer (QPE),
7 * maintained by Officina Turini. See LICENSE_IT.txt / LICENSE.txt for the
8 * QPE freeware source-available terms and THIRD_PARTY_NOTICES.txt for
9 * third-party components.
10 */
11
12#pragma once
13
33
34namespace qpe {
35
36// Display/help metadata only. These values provide an order-of-magnitude
37// mapping from the Explorer's dimensionless coordinates to one representative
38// laboratory platform. They never alter psi, V, the solver, observables or
39// measurement probabilities.
40/**
41 * @brief Data structure used by the Real World Scale2D component.
42 *
43 * The structure keeps related values explicit and testable across the QPE physics, analysis, or persistence layers.
44 */
46{
47 bool available = false;
48 const char *referenceSystem = "";
49 const char *mappingBasis = "";
52 const char *note = "";
53};
54
55/**
56 * @brief Complete configuration of one guided QPE experiment preset.
57 *
58 * Presets are the reproducible didactic starting points for the 54 frozen experiments. A preset captures numerical parameters, preparation, geometry, potential, analysis defaults, and representative real-world scales.
59 */
61{
62 const char *name = "";
63 const char *shortDescription = "";
64 const char *helpItHtml = "";
65 const char *helpEnHtml = "";
66
67 // Approximate real-world scale shown in the Time dock/help. Display-only.
69
70 double universeWidth = 40.96;
71 double universeHeight = 40.96;
72 int gridResolutionIndex = 1; // 0=256, 1=512, 2=1024
73 int boundaryModeIndex = 1; // 0=periodic, 1=absorbing
74 double absorbingWidth = 0.15;
75 double absorbingStrength = 8.0;
76
77 double packetCenterX = -8.0;
78 double packetCenterY = 0.0;
79 double packetSigma = 1.0;
80 double packetPx = 2.5;
81 double packetPy = 0.0;
82 double packetMass = 1.0;
83
85 double potentialHeight = 0.0;
86 double potentialCenterX = 0.0;
87 double potentialCenterY = 0.0;
88 double sizeX = 0.0;
89 double sizeY = 0.0;
90 double aperture1 = 0.0;
91 double aperture2 = 0.0;
92
94 int viewIndex = 0;
95 int paletteIndex = 0;
96 bool currentVisible = false;
97 int currentModeIndex = 1; // 0=vectors, 1=streamlines, 2=both
98
101
102 // Step 18: optional preparation derived from stationary bound states.
103 // 0 = ordinary Gaussian packet, 1 = one bound eigenstate,
104 // 2 = equal coherent superposition of two bound eigenstates.
106 int boundStateA = 0;
107 int boundStateB = 3;
109
110 // Step 19: finite-resolution single-system position measurement.
111 double collapseResolution = 0.65;
112
113 // Step 21: optional one-shot time-dependent potential recipe.
115
116 // Step 22: optional sinusoidal drive of one Potential Scene parameter.
118
119 // Step 24: optional finite linear sweep through an avoided crossing.
121
122 // Step 26/27: optional Ramsey sequence with optional Hahn-echo pulse.
124
125 // Step 28: analysis-only static-detuning ensemble. It never evolves psi.
127
128 // Step 32: periodic transverse-comb initial state for Talbot self-imaging.
130
131 // Step 34: single-vortex initial state with an off-axis phase singularity.
133
134 // Step 35: equal dual-lane preparation for clean/disordered lattice comparison.
136
137 // Step 36: instantaneous periodic kick train plus rotor-mode initial state.
140
141 // Step 37: repeated survival measurements plus equal control/watched lanes.
144
145 // Step 38: analysis-only finite-time spectral projection for stadium scars.
147
148 // Step 39: cyclic quadrupole loop around the first-excited-state degeneracy.
150
151 // Step 40: one-shot anti-unitary time reversal with optional momentum error.
153
154 // Step 41: truncated matter-wave preparation and sudden shutter release.
157
158 // Step 42: anisotropic atomic beam plus short standing-wave light pulse.
161
162 // Step 43: finite-radius magnetic flux tube represented by U(1) links.
164
165 // Step 44: uniform magnetic field, cyclotron orbit and Landau eigenstates.
167
168 // Step 45: chiral skipping-orbit / quantum Hall edge transport.
170
171 // Step 46: positive-momentum state with transient negative probability current.
173
174 // Step 47: free two-component Dirac wave packet and Zitterbewegung.
176
177 // Step 48: positive-energy Dirac packet incident on a supercritical scalar barrier.
179};
180
181/**
182 * @brief Implements the Experiment Preset Library2D component.
183 *
184 * The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.
185 */
187{
188public:
189 /**
190 * @brief Returns count.
191 */
192 static int count();
193 /**
194 * @brief Returns whether valid index.
195 * @param index Zero-based index of the selected item.
196 */
197 static bool isValidIndex(int index);
198 /**
199 * @brief Performs preset.
200 * @param index Zero-based index of the selected item.
201 */
202 static ExperimentPreset2D preset(int index);
203};
204
205} // namespace qpe
Implements the Experiment Preset Library2D component.
static ExperimentPreset2D preset(int index)
Performs preset.
static int count()
Returns count.
static bool isValidIndex(int index)
Returns whether valid index.
Implements the Potential Scene2D component.
Declares the potentialscene2d physics/numerical component used by QPE experiments.
Declares the quantumaharonovbohm2d physics/numerical component used by QPE experiments.
Declares the quantumanderson2d physics/numerical component used by QPE experiments.
Declares the quantumbackflow2d physics/numerical component used by QPE experiments.
Declares the quantumberryphase2d physics/numerical component used by QPE experiments.
Declares the quantumhalledge2d physics/numerical component used by QPE experiments.
Declares the quantumkapitzadirac2d physics/numerical component used by QPE experiments.
Declares the quantumkickedrotor2d physics/numerical component used by QPE experiments.
Declares the quantumkleintunneling2d physics/numerical component used by QPE experiments.
Declares the quantumlandau2d physics/numerical component used by QPE experiments.
Declares the quantumloschmidt2d physics/numerical component used by QPE experiments.
Declares the quantummoshinsky2d physics/numerical component used by QPE experiments.
Declares the quantumscar2d physics/numerical component used by QPE experiments.
Declares the quantumtalbot2d physics/numerical component used by QPE experiments.
Declares the quantumvortex2d physics/numerical component used by QPE experiments.
Declares the quantumzeno2d physics/numerical component used by QPE experiments.
Declares the quantumzitterbewegung2d physics/numerical component used by QPE experiments.
Declares the ramseyinterferometry2d physics/numerical component used by QPE experiments.
Complete configuration of one guided QPE experiment preset.
QuantumQuench2DConfig quench
QuantumKickedRotor2DConfig kickedRotor
QuantumZenoInitialState2DConfig quantumZenoInitialState
QuantumScarConfig2D quantumScar
RealWorldScale2D realWorldScale
QuantumKapitzaDirac2DConfig quantumKapitzaDirac
QuantumLoschmidt2DConfig quantumLoschmidt
QuantumKickedRotorInitialState2DConfig kickedRotorInitialState
LinearPotentialSweep2DConfig linearSweep
QuantumBackflow2DConfig quantumBackflow
QuantumLandau2DConfig quantumLandau
QuantumAndersonInitialState2DConfig andersonInitialState
QuantumKapitzaDiracInitialState2DConfig kapitzaDiracInitialState
QuantumTalbotInitialState2DConfig talbotInitialState
QuantumZitterbewegung2DConfig quantumZitterbewegung
RamseyPulseSequence2DConfig ramseySequence
QuantumAharonovBohm2DConfig quantumAharonovBohm
QuantumHallEdge2DConfig quantumHallEdge
QuantumBerryLoop2DConfig quantumBerry
QuantumVortexInitialState2DConfig vortexInitialState
PotentialScene2D potentialScene
QuantumMoshinsky2DConfig quantumMoshinsky
QuantumZeno2DConfig quantumZeno
PeriodicPotentialDrive2DConfig periodicDrive
QuantumKleinTunneling2DConfig quantumKleinTunneling
RamseyEnsemble2DConfig ramseyEnsemble
QuantumMoshinskyInitialState2DConfig moshinskyInitialState
Configuration values for Linear Potential Sweep2D Config.
Configuration values for Periodic Potential Drive2D Config.
Configuration values for Quantum Aharonov Bohm2D Config.
Configuration values for Quantum Anderson Initial State2D Config.
Configuration values for Quantum Backflow2D Config.
Configuration values for Quantum Berry Loop2D Config.
Configuration values for Quantum Hall Edge2D Config.
Configuration values for Quantum Kapitza Dirac2D Config.
Configuration values for Quantum Kapitza Dirac Initial State2D Config.
Configuration values for Quantum Kicked Rotor2D Config.
Configuration values for Quantum Kicked Rotor Initial State2D Config.
Configuration values for Quantum Klein Tunneling2D Config.
Configuration values for Quantum Landau2D Config.
Configuration values for Quantum Loschmidt2D Config.
Configuration values for Quantum Moshinsky2D Config.
Configuration values for Quantum Moshinsky Initial State2D Config.
Configuration values for Quantum Quench2D Config.
Data structure used by the Quantum Scar Config2D component.
Configuration values for Quantum Talbot Initial State2D Config.
Configuration values for Quantum Vortex Initial State2D Config.
Configuration values for Quantum Zeno2D Config.
Configuration values for Quantum Zeno Initial State2D Config.
Configuration values for Quantum Zitterbewegung2D Config.
Configuration values for Ramsey Ensemble2D Config.
Configuration values for Ramsey Pulse Sequence2D Config.
Data structure used by the Real World Scale2D component.
Declares the timedependentpotential2d physics/numerical component used by QPE experiments.