Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
qpe::QuantumBerryPhase2D Class Reference

Implements the Quantum Berry Phase2D component. More...

#include <quantumberryphase2d.h>

Static Public Member Functions

static bool validateConfig (const QuantumBerryLoop2DConfig &config, const QuantumBerryTrap2D &trap, const char **reason=nullptr) noexcept
 Validates config.
 
static bool identifyTrap (const PotentialScene2D &scene, QuantumBerryTrap2D &trap, const char **reason=nullptr) noexcept
 Returns identify trap.
 
static QuantumBerryLoop2DState state (const QuantumBerryLoop2DConfig &config, double time) noexcept
 Performs state.
 
static QuantumBerryLoop2DState rasterize (const PotentialScene2D &baseScene, const QuantumBerryTrap2D &trap, const QuantumBerryLoop2DConfig &config, double time, PotentialField2D &target)
 Performs rasterize.
 
static bool prepareFirstExcited (ComplexField2D &field, const QuantumBerryTrap2D &trap, const QuantumBerryLoop2DConfig &config, double mass, double hbar) noexcept
 Prepares first excited.
 
static std::complex< double > normalizedOverlap (const ComplexField2D &a, const ComplexField2D &b) noexcept
 Returns normalized overlap.
 
static double wrapPhase (double radians) noexcept
 Performs wrap phase.
 
static double expectedBerryPhase (const QuantumBerryLoop2DConfig &config) noexcept
 Performs expected berry phase.
 
static double doubletGap (const QuantumBerryTrap2D &trap, const QuantumBerryLoop2DConfig &config, double mass, double hbar=1.0) noexcept
 Performs doublet gap.
 
static double adiabaticRatio (const QuantumBerryTrap2D &trap, const QuantumBerryLoop2DConfig &config, double mass, double hbar=1.0) noexcept
 Performs adiabatic ratio.
 

Detailed Description

Implements the Quantum Berry Phase2D component.

The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.

Definition at line 105 of file quantumberryphase2d.h.

Member Function Documentation

◆ adiabaticRatio()

double qpe::QuantumBerryPhase2D::adiabaticRatio ( const QuantumBerryTrap2D & trap,
const QuantumBerryLoop2DConfig & config,
double mass,
double hbar = 1.0 )
staticnoexcept

Performs adiabatic ratio.

Parameters
trapThe trap value used by the operation.
configConfiguration to apply.
massThe mass value used by the operation.
hbarThe hbar value used by the operation.

Definition at line 245 of file quantumberryphase2d.cpp.

Referenced by qpe::tests::runQuantumBerryPhase2DTests(), and MainWindow::updateQuantumBerryAnalysis().

◆ doubletGap()

double qpe::QuantumBerryPhase2D::doubletGap ( const QuantumBerryTrap2D & trap,
const QuantumBerryLoop2DConfig & config,
double mass,
double hbar = 1.0 )
staticnoexcept

Performs doublet gap.

Parameters
trapThe trap value used by the operation.
configConfiguration to apply.
massThe mass value used by the operation.
hbarThe hbar value used by the operation.

Definition at line 232 of file quantumberryphase2d.cpp.

Referenced by qpe::tests::runQuantumBerryPhase2DTests(), and MainWindow::updateQuantumBerryAnalysis().

◆ expectedBerryPhase()

double qpe::QuantumBerryPhase2D::expectedBerryPhase ( const QuantumBerryLoop2DConfig & config)
staticnoexcept

Performs expected berry phase.

Parameters
configConfiguration to apply.

Definition at line 227 of file quantumberryphase2d.cpp.

◆ identifyTrap()

bool qpe::QuantumBerryPhase2D::identifyTrap ( const PotentialScene2D & scene,
QuantumBerryTrap2D & trap,
const char ** reason = nullptr )
staticnoexcept

◆ normalizedOverlap()

std::complex< double > qpe::QuantumBerryPhase2D::normalizedOverlap ( const ComplexField2D & a,
const ComplexField2D & b )
staticnoexcept

Returns normalized overlap.

Parameters
aThe a value used by the operation.
bThe b value used by the operation.

Definition at line 199 of file quantumberryphase2d.cpp.

Referenced by qpe::QuantumBerryHistory2D::append().

◆ prepareFirstExcited()

bool qpe::QuantumBerryPhase2D::prepareFirstExcited ( ComplexField2D & field,
const QuantumBerryTrap2D & trap,
const QuantumBerryLoop2DConfig & config,
double mass,
double hbar )
staticnoexcept

Prepares first excited.

Parameters
fieldField data to read or modify.
trapThe trap value used by the operation.
configConfiguration to apply.
massThe mass value used by the operation.
hbarThe hbar value used by the operation.

Definition at line 166 of file quantumberryphase2d.cpp.

References qpe::GaussianPacket2D::xCoordinate(), and qpe::GaussianPacket2D::yCoordinate().

Referenced by MainWindow::prepareConfiguredInitialState(), and qpe::tests::runQuantumBerryPhase2DTests().

◆ rasterize()

QuantumBerryLoop2DState qpe::QuantumBerryPhase2D::rasterize ( const PotentialScene2D & baseScene,
const QuantumBerryTrap2D & trap,
const QuantumBerryLoop2DConfig & config,
double time,
PotentialField2D & target )
static

Performs rasterize.

Parameters
baseSceneThe base scene value used by the operation.
trapThe trap value used by the operation.
configConfiguration to apply.
timeSimulation time in solver units.
targetThe target value used by the operation.

Definition at line 149 of file quantumberryphase2d.cpp.

References qpe::PotentialField2D::addQuadrupole(), qpe::QuantumBerryTrap2D::centerX, qpe::QuantumBerryTrap2D::centerY, qpe::QuantumBerryLoop2DState::q1, qpe::QuantumBerryLoop2DState::q2, qpe::PotentialScene2D::rasterize(), state(), qpe::QuantumBerryLoop2DState::valid, and validateConfig().

Referenced by qpe::tests::runQuantumBerryPhase2DTests(), and MainWindow::updateQuantumBerryPotential().

◆ state()

◆ validateConfig()

bool qpe::QuantumBerryPhase2D::validateConfig ( const QuantumBerryLoop2DConfig & config,
const QuantumBerryTrap2D & trap,
const char ** reason = nullptr )
staticnoexcept

Validates config.

Parameters
configConfiguration to apply.
trapThe trap value used by the operation.
reasonThe reason value used by the operation.

Definition at line 93 of file quantumberryphase2d.cpp.

Referenced by qpe::QuantumBerryHistory2D::configure(), MainWindow::prepareConfiguredInitialState(), qpe::anonymous_namespace{experimentdocument2d.cpp}::quantumBerryFromJson(), rasterize(), qpe::tests::runQuantumBerryPhase2DTests(), and MainWindow::updateQuantumBerryPotential().

◆ wrapPhase()

double qpe::QuantumBerryPhase2D::wrapPhase ( double radians)
staticnoexcept

Performs wrap phase.

Parameters
radiansThe radians value used by the operation.

Definition at line 219 of file quantumberryphase2d.cpp.

Referenced by qpe::QuantumBerryHistory2D::append().


The documentation for this class was generated from the following files: