|
Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
|
Implements the Quantum Kapitza Dirac2D component. More...
#include <quantumkapitzadirac2d.h>
Static Public Member Functions | |
| static bool | validateInitialState (const QuantumKapitzaDiracInitialState2DConfig &config, std::string *reason=nullptr) |
| Validates initial state. | |
| static bool | validateConfig (const QuantumKapitzaDirac2DConfig &config, double hbar, std::string *reason=nullptr) |
| Validates config. | |
| static bool | initialize (ComplexField2D &field, const QuantumKapitzaDiracInitialState2DConfig &config, double hbar, std::string *reason=nullptr) |
| Initializes ialize. | |
| static QuantumKapitzaDiracPotentialState2D | rasterize (const PotentialScene2D &baseScene, const QuantumKapitzaDirac2DConfig &config, double time, PotentialField2D &target) |
| Performs rasterize. | |
| static double | reciprocalMomentum (const QuantumKapitzaDirac2DConfig &config, double hbar) noexcept |
| Performs reciprocal momentum. | |
| static double | pulseArea (const QuantumKapitzaDirac2DConfig &config, double hbar) noexcept |
| Performs pulse area. | |
| static QuantumKapitzaDiracSample2D | measure (const MomentumSpace2DResult &momentum, const QuantumKapitzaDirac2DConfig &config, double time, bool pulseActive) |
| Performs measure. | |
Implements the Quantum Kapitza Dirac2D component.
The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.
Definition at line 95 of file quantumkapitzadirac2d.h.
|
static |
Initializes ialize.
| field | Field data to read or modify. |
| config | Configuration to apply. |
| hbar | The hbar value used by the operation. |
| reason | The reason value used by the operation. |
Definition at line 102 of file quantumkapitzadirac2d.cpp.
References qpe::QuantumKapitzaDiracInitialState2DConfig::centerX, qpe::QuantumKapitzaDiracInitialState2DConfig::centerY, qpe::ComplexField2D::dx(), qpe::ComplexField2D::dy(), qpe::ComplexField2D::empty(), qpe::ComplexField2D::height(), qpe::QuantumKapitzaDiracInitialState2DConfig::momentumX, qpe::QuantumKapitzaDiracInitialState2DConfig::momentumY, qpe::ComplexField2D::normalize(), qpe::QuantumKapitzaDiracInitialState2DConfig::sigmaX, qpe::QuantumKapitzaDiracInitialState2DConfig::sigmaY, validateInitialState(), and qpe::ComplexField2D::width().
Referenced by MainWindow::prepareConfiguredInitialState(), and qpe::tests::runQuantumKapitzaDirac2DTests().
|
static |
Performs measure.
| momentum | The momentum value used by the operation. |
| config | Configuration to apply. |
| time | Simulation time in solver units. |
| pulseActive | The pulse active value used by the operation. |
Definition at line 191 of file quantumkapitzadirac2d.cpp.
References qpe::MomentumSpace2DResult::dpX(), qpe::MomentumSpace2DResult::dpY(), qpe::MomentumSpace2DResult::empty(), qpe::MomentumSpace2DResult::hbar, qpe::ComplexField2D::height(), qpe::QuantumKapitzaDirac2DConfig::maximumOrder, qpe::QuantumKapitzaDiracSample2D::momentumMin, qpe::QuantumKapitzaDiracSample2D::momentumProbability, qpe::QuantumKapitzaDiracSample2D::momentumStep, qpe::QuantumKapitzaDiracSample2D::norm, qpe::QuantumKapitzaDiracSample2D::orderProbability, qpe::QuantumKapitzaDiracSample2D::pulseActive, qpe::MomentumSpace2DResult::pxCoordinates, reciprocalMomentum(), qpe::QuantumKapitzaDiracSample2D::reciprocalMomentum, qpe::MomentumSpace2DResult::spectrum, qpe::QuantumKapitzaDiracSample2D::time, and qpe::ComplexField2D::width().
Referenced by qpe::QuantumKapitzaDiracHistory2D::append(), and qpe::tests::runQuantumKapitzaDirac2DTests().
|
staticnoexcept |
Performs pulse area.
| config | Configuration to apply. |
| hbar | The hbar value used by the operation. |
Definition at line 180 of file quantumkapitzadirac2d.cpp.
Referenced by QuantumKapitzaDiracPlotWidget::paintEvent(), qpe::tests::runQuantumKapitzaDirac2DTests(), and MainWindow::updateQuantumKapitzaDiracAnalysis().
|
static |
Performs rasterize.
| baseScene | The base scene value used by the operation. |
| config | Configuration to apply. |
| time | Simulation time in solver units. |
| target | The target value used by the operation. |
Definition at line 141 of file quantumkapitzadirac2d.cpp.
References qpe::QuantumKapitzaDiracPotentialState2D::active, qpe::PotentialField2D::addStandingWaveX(), qpe::QuantumKapitzaDiracPotentialState2D::currentDepth, qpe::QuantumKapitzaDirac2DConfig::enabled, qpe::QuantumKapitzaDiracPotentialState2D::finished, qpe::QuantumKapitzaDirac2DConfig::latticeDepth, qpe::QuantumKapitzaDirac2DConfig::latticePeriod, qpe::QuantumKapitzaDirac2DConfig::latticePhaseDegrees, qpe::QuantumKapitzaDiracPotentialState2D::progress, qpe::QuantumKapitzaDirac2DConfig::pulseDuration, qpe::QuantumKapitzaDirac2DConfig::pulseStartTime, qpe::PotentialScene2D::rasterize(), qpe::QuantumKapitzaDiracPotentialState2D::valid, and validateConfig().
Referenced by qpe::tests::runQuantumKapitzaDirac2DTests(), and MainWindow::updateQuantumKapitzaDiracPotential().
|
staticnoexcept |
Performs reciprocal momentum.
| config | Configuration to apply. |
| hbar | The hbar value used by the operation. |
Definition at line 171 of file quantumkapitzadirac2d.cpp.
Referenced by measure(), and qpe::tests::runQuantumKapitzaDirac2DTests().
|
static |
Validates config.
| config | Configuration to apply. |
| hbar | The hbar value used by the operation. |
| reason | The reason value used by the operation. |
Definition at line 71 of file quantumkapitzadirac2d.cpp.
References qpe::QuantumKapitzaDirac2DConfig::analysisEndTime, qpe::QuantumKapitzaDirac2DConfig::latticeDepth, qpe::QuantumKapitzaDirac2DConfig::latticePeriod, qpe::QuantumKapitzaDirac2DConfig::latticePhaseDegrees, qpe::QuantumKapitzaDirac2DConfig::maximumOrder, qpe::QuantumKapitzaDirac2DConfig::pulseDuration, and qpe::QuantumKapitzaDirac2DConfig::pulseStartTime.
Referenced by qpe::QuantumKapitzaDiracHistory2D::configure(), qpe::anonymous_namespace{experimentdocument2d.cpp}::quantumKapitzaDiracFromJson(), rasterize(), qpe::tests::runQuantumKapitzaDirac2DTests(), and MainWindow::updateQuantumKapitzaDiracPotential().
|
static |
Validates initial state.
| config | Configuration to apply. |
| reason | The reason value used by the operation. |
Definition at line 54 of file quantumkapitzadirac2d.cpp.
References qpe::QuantumKapitzaDiracInitialState2DConfig::centerX, qpe::QuantumKapitzaDiracInitialState2DConfig::centerY, qpe::QuantumKapitzaDiracInitialState2DConfig::momentumX, qpe::QuantumKapitzaDiracInitialState2DConfig::momentumY, qpe::QuantumKapitzaDiracInitialState2DConfig::sigmaX, and qpe::QuantumKapitzaDiracInitialState2DConfig::sigmaY.
Referenced by initialize(), and qpe::anonymous_namespace{experimentdocument2d.cpp}::kapitzaDiracInitialStateFromJson().