Class : PeriodicQuantumDots3DHamiltonianInMagneticField
PeriodicQuantumDots3DHamiltonianInMagneticField :
prototype: PeriodicQuantumDots3DHamiltonianInMagneticField (Periodic3DOneParticle* , double , double , double , double , double , double , double , double , double , ThreeDConstantCellPotential* PotentialInput )
description:constructor from data
input parameters:
space = Hilbert space
xSize = the sample length in X direction
ySize = the sample length in Y direction
zSize = the sample length in Z direction
mux = effective mass in X direction
muy = effective mass in Y direction
muz = effective mass in Z direction
bx = X magnetic field component
by = Y magnetic field component
bz = Z magnetic field component
PotentialInput = pointer to a 3D potential with constant value in a cell
PeriodicQuantumDots3DHamiltonianInMagneticField :
prototype: PeriodicQuantumDots3DHamiltonianInMagneticField (const PeriodicQuantumDots3DHamiltonianInMagneticField& hamiltonian )
description:copy constructor (without duplicating datas)
input parameters:
hamiltonian = reference on hamiltonian to copy
~PeriodicQuantumDots3DHamiltonianInMagneticField :
prototype: ~PeriodicQuantumDots3DHamiltonianInMagneticField ()
description:destructor
PeriodicQuantumDots3DHamiltonianInMagneticField::Clone :
prototype: AbstractHamiltonian* PeriodicQuantumDots3DHamiltonianInMagneticField::Clone ()
description:clone hamiltonian without duplicating datas
input parameters:
return value: pointer to cloned hamiltonian
SetHilbertSpace :
prototype: void SetHilbertSpace (AbstractHilbertSpace* hilbertSpace )
description:set Hilbert space
input parameters:
hilbertSpace = pointer to Hilbert space to use
GetHilbertSpace :
prototype: AbstractHilbertSpace* GetHilbertSpace ()
description:get Hilbert space on which Hamiltonian acts
input parameters:
return value: pointer to used Hilbert space
GetHilbertSpaceDimension :
prototype: int GetHilbertSpaceDimension ()
description:return dimension of Hilbert space where Hamiltonian acts
input parameters:
return value: corresponding matrix elementdimension
ShiftHamiltonian :
prototype: void ShiftHamiltonian (double shift )
description:shift Hamiltonian from a given energy
input parameters:
shift = shift value
MatrixElement :
prototype: Complex MatrixElement (RealVector& , RealVector& V2 )
description:evaluate matrix element
input parameters:
V1 = vector to left multiply with current matrix
V2 = vector to right multiply with current matrix
return value: corresponding matrix element
MatrixElement :
prototype: Complex MatrixElement (ComplexVector& , ComplexVector& V2 )
description:evaluate matrix element
input parameters:
V1 = vector to left multiply with current matrix
V2 = vector to right multiply with current matrix
return value: corresponding matrix element
LowLevelMultiply :
prototype: ComplexVector& LowLevelMultiply (ComplexVector& , ComplexVector& vDestination )
description:multiply a vector by the current hamiltonian and store result in another vector
low level function (no architecture optimization)
input parameters:
vSource = vector to be multiplied
vDestination = vector where result has to be stored
return value: reference on vectorwhere result has been stored
LowLevelMultiply :
prototype: ComplexVector& LowLevelMultiply (ComplexVector& , ComplexVector& , int , int nbrComponent )
description:multiply a vector by the current hamiltonian for a given range of idinces
and store result in another vector, low level function (no architecture optimization)
input parameters:
vSource = vector to be multiplied
vDestination = vector where result has to be stored
firstComponent = index of the first component to evaluate
nbrComponent = number of components to evaluate
return value: reference on vector where result has been stored
LowLevelAddMultiply :
prototype: ComplexVector& LowLevelAddMultiply (ComplexVector& , ComplexVector& vDestination )
description:multiply a vector by the current hamiltonian for a given range of indices
and add result to another vector, low level function (no architecture optimization)
input parameters:
vSource = vector to be multiplied
vDestination = vector at which result has to be added
return value: reference on vectorwhere result has been stored
LowLevelAddMultiply :
prototype: ComplexVector& LowLevelAddMultiply (ComplexVector& , ComplexVector& , int , int nbrComponent )
description:multiply a vector by the current hamiltonian for a given range of indices
and add result to another vector, low level function (no architecture optimization)
input parameters:
vSource = vector to be multiplied
vDestination = vector at which result has to be added
firstComponent = index of the first component to evaluate
nbrComponent = number of components to evaluate
return value: reference on vector where result has been stored
EvaluateConfinementPotentialFactors :
prototype: void EvaluateConfinementPotentialFactors ()
description:evaluate confinement potential factors
EvaluateMagneticFieldFactors :
prototype: void EvaluateMagneticFieldFactors ()
description:evaluate magnetic field factors
EvaluateWaveFunctionOverlap :
prototype: bool EvaluateWaveFunctionOverlap (int , int , double** , double** &imaginaryArray )
description:evaluate the wave function overlap
input parameters:
nbrStep = number of steps in the given direction
nbrState = number of states chosen for this direction
realArray = 2D array containing the real elements of the overlap
imaginaryArray = 2D array containing the imaginary elements of the overlap
PeriodicQuantumDots3DHamiltonianInMagneticField::EvaluateMeanPositionOperator :
prototype: bool PeriodicQuantumDots3DHamiltonianInMagneticField::EvaluateMeanPositionOperator (double , int , double* , double* , double* , double* &imaginarySquared )
description:evaluate the mean position operator in a given direction
input parameters:
size = size of sample in the given direction
nbrState = number of states wanted
real = reference to the array of mean position's real component
imaginary = reference to the array of mean position's imaginary component
realSquared = reference to the array of X²'s real component
imaginarySquared = reference to the array of X²'s imaginary component
return = true if successful, otherwise false
Back to index.