Does anyone know how I can extract the corresponding eigenvectors or at least eigenvector coefficient that correspond to a specific eigenvalue?
My main aim is to be able to differentiate between the bands in the band structure computationally.

I have tried printing eigenfunctions but that simply gives me the probability at each atom site (I think) so there is no way of connecting that to the specific eigenvalues that I know of.

I assume that it will be something that I have to extract from the code, so does anyone know where to begin?

Currently you get from nemo5 the following:
1) ordered eigenvalues
2) ordered eigenfunctions shown as probability per each atom
3) ordered eigenfunction shown as probability per each orbital per each atom.

As far as I can work out, I am only given the eigenfunction probabilities at one k point and I need them at all k points of the calculated eigenvalues.

I am basically trying to implement the algorithm given by Boykin et al. for unfolding the band structure of a supercell. And I think this requires knowing the coefficients of all the orbital eigenfunctions for each of the eigenvalues for all k points so I would need a lot more than what I am getting from the “eigenfunction” output. Also I need the coefficients and not the probabilities and I need to be able to associate each set of coefficients to a specific eigenvalue. I dont know how easy this would be to extract from the program

How to specify the number of conduction bands and valance band eigen values for InAs Quantum dot simulation? Also how can i write the commands to get the output as band edges?

I will appreciate your advice and suggestions in this regard.

I am going to assume that you tried to use the schroedinger solver – “calculate_band_structure” for a domain greater than (1,1,1). If you did so then what you did was perform a supercell calculation and the band structure you have has been folded. That is why you see so many bands. They are the band edges, it has just been folded on itself. If it is just the basic band structure you want then perform the same calculation on a domain of size (1,1,1).

As far as I am aware, you can specify the number of eigenvalues you want but not where you want them.

Hope this helps but if this is not your problem then I will be quite.

Ross

Ps I have solved my problem above. If any one has the same problem then here is how to get the eigenvectors:

The band structure is solved in Schroedinger.cpp which is located in prototype/src/simulations/Schroedinger/. It is over k in the for loop at about line 1000.

Here you can find all the energies of this k point within the vector, single_point_energies. Finally the eigenvectors associated with energy, i, are held within “solver->get_eigenvector(i).get_local_part(foobar)” which is assigned to the vector “foobar”

The order of the eigenvectors is split into the orbitals, then atom type, then unit cell position. So the first section will contain all the orbital eigenvectors, in order, from atom1 from unit_cell1, then all from atom2 unit_cell1, then atom1, unit_cell2

I hope my long hours of figuring this out by myself will help you!

Thanks Ross for Your suggestion. But i was actually looking for the band edges along the growth direction001 for InAs quantum dot embedded in GaAs. My interests to find the lower conduction band and top three valance band edges like HH,LH and Split off band. Then i want to find the bound states in each band edges. My question is how can i modify the code in Schrodinger solver to find the band edges and the bound states? Also what are the other instruction that i need to add on the program i.e(public examples/……/InAs_dome_QD.in).

I will appreciate your advice and suggestions in this regard.

nanoHUB.org, a resource for nanoscience and nanotechnology, is supported by the National Science Foundation and other funding agencies. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Ross Maspero@ onHi,

Does anyone know how I can extract the corresponding eigenvectors or at least eigenvector coefficient that correspond to a specific eigenvalue? My main aim is to be able to differentiate between the bands in the band structure computationally.

I have tried printing eigenfunctions but that simply gives me the probability at each atom site (I think) so there is no way of connecting that to the specific eigenvalues that I know of.

I assume that it will be something that I have to extract from the code, so does anyone know where to begin?

Thank you

Ross

Report abuse

Michael Povolotskyi@ onHello Ross, let me clarify your question.

Currently you get from nemo5 the following: 1) ordered eigenvalues 2) ordered eigenfunctions shown as probability per each atom 3) ordered eigenfunction shown as probability per each orbital per each atom.

Do you nead something else? Michael.

Report abuse

Ross Maspero@ onHi,

As far as I can work out, I am only given the eigenfunction probabilities at one k point and I need them at all k points of the calculated eigenvalues.

I am basically trying to implement the algorithm given by Boykin et al. for unfolding the band structure of a supercell. And I think this requires knowing the coefficients of all the orbital eigenfunctions for each of the eigenvalues for all k points so I would need a lot more than what I am getting from the “eigenfunction” output. Also I need the coefficients and not the probabilities and I need to be able to associate each set of coefficients to a specific eigenvalue. I dont know how easy this would be to extract from the program

I hope this helps

Ross

Report abuse

Jony Chandra Sarker@ onHi,

How to specify the number of conduction bands and valance band eigen values for InAs Quantum dot simulation? Also how can i write the commands to get the output as band edges?

I will appreciate your advice and suggestions in this regard.

Thanks Jony Sarker

Report abuse

Ross Maspero@ onHi,

I am going to assume that you tried to use the schroedinger solver – “calculate_band_structure” for a domain greater than (1,1,1). If you did so then what you did was perform a supercell calculation and the band structure you have has been folded. That is why you see so many bands. They are the band edges, it has just been folded on itself. If it is just the basic band structure you want then perform the same calculation on a domain of size (1,1,1).

As far as I am aware, you can specify the number of eigenvalues you want but not where you want them.

Hope this helps but if this is not your problem then I will be quite.

Ross

Ps I have solved my problem above. If any one has the same problem then here is how to get the eigenvectors:

The band structure is solved in Schroedinger.cpp which is located in prototype/src/simulations/Schroedinger/. It is over k in the for loop at about line 1000.

Here you can find all the energies of this k point within the vector, single_point_energies. Finally the eigenvectors associated with energy, i, are held within “solver->get_eigenvector(i).get_local_part(foobar)” which is assigned to the vector “foobar”

The order of the eigenvectors is split into the orbitals, then atom type, then unit cell position. So the first section will contain all the orbital eigenvectors, in order, from atom1 from unit_cell1, then all from atom2 unit_cell1, then atom1, unit_cell2

I hope my long hours of figuring this out by myself will help you!

Report abuse

Jony Chandra Sarker@ onThanks Ross for Your suggestion. But i was actually looking for the band edges along the growth direction001 for InAs quantum dot embedded in GaAs. My interests to find the lower conduction band and top three valance band edges like HH,LH and Split off band. Then i want to find the bound states in each band edges. My question is how can i modify the code in Schrodinger solver to find the band edges and the bound states? Also what are the other instruction that i need to add on the program i.e(public examples/……/InAs_dome_QD.in).

I will appreciate your advice and suggestions in this regard.

Thanks Jony Sarker

Report abuse