Open aardizzi opened 2 years ago
Dear Anthony. Thank you for your interest in Aestimo. Unfortunately, I am the only active developer of Aestimo and my current study subjects are diverse from Aestimo with time. After a few years of no development, this year I simplify the Aestimo and release it as version 3.0. Of course, there may be many bugs.
If you have bug fixes, you may suggest these fixes as "pull request". I will investigate them and merge them if necessary. Otherwise, I am quite busy and it will take time to do those corrections.
If you are good with Python, we always welcome new active developers.
EDIT: After scouring through more of the examples, I think I have found the answer to question 1. It seems that the last column defines whether the layer is a "barrier" or "well" ... I think. Please tell me if this is correct.
Hi Sefer, thanks for your prompt reply! This totally makes sense. I am working on submitting a pull request for the bugfixes I have made.
I wonder if you have an answer to questions 1. and 2. I asked above. I may be able to fix these issues as well.
I suspect 2. may be more challenging to solve, if indeed the valence band solver functionality has changed, and it is not as simple as just getting rid of the error flags.
Some more detail on 1., note that in the "Tutorial 1" for Aestimo, the example Structure file defines a material layer array which is formatted as:
| | Thickness (nm) | Material | Alloy fraction | Doping(cm^-3) | n or p type | | Layer 0 | 250.0 | Si | 0 | 1e16 | n | | Layer 0 | 250.0 | Si | 0 | 1e16 | p |
I propose that the Aestimo 3.0 seems to require a material layer array that is formatted as:
| | Thickness (nm) | Material | Alloy fraction X | Alloy fraction Y | Doping(cm^-3) | n or p type | Column 7 | | Layer 0 | 250.0 | Si | 0 | 0 | 1e16 | n | "w" | | Layer 1 | 250.0 | Si | 0 | 0 | 1e16 | p | ??? |
I am note sure what information is supposed to go in the last column, but it seems important. In aestimo.py it gets defined as a variable called "matRole" which gets used as: if matRole == "w": N_wells_real2 += 1 Well_boundary2[N_wells_real2, 0] = startindex Well_boundary2[N_wells_real2, 1] = finishindex
Thanks for any info you can provide!!!
Hi, i am sorry for late replay, me too i am very busy due to my job witch is in an other field, thank you for using Aestimo.
1- quick answer to Column 7: it define the role of the layer as well or barrier in quantum well structure and we base QW counter on them to use in wavefunctions limits and the QW region calculations and other dependencies.
2-to work with the program it is better to use scheme:
Best regards
Hi. First off, thank you for making Aestimo, it seems very very useful for what I am trying to do. Unfortunately, I cannot get it to run properly. There seem to be a few bugs at the moment. Here is a list of some I have come across (I have tested in both PyCharm and Jupyter environments):
1. The "material" arrays given in the examples have too few columns. I know this because aestimo.py expects 7 columns, and only 5 are listed in the examples. I have determined that one missing column is for the "y alloy composition" in the case of multiple alloys. The other missing column is the last one, which has something to do with a variable called "matRole" (defined as matRole = layer[6]). I don't know what this means, it does not seem to be documented anywhere. How do I properly define the material layer arrays?
2. There seems to be no way at present to use solver methods 1, 3, 4, 5, and 6. The error "Aestimo doesn't currently include exchange interactions in its valence band calculations." or "Aestimo doesn't currently include nonparabolicity effects in its valence band calculations." always gets thrown for these methods. Is there no way to disable valence band calculations at the moment?
3. Several necessary variables are defined at the bottom of aestimo.py, particularly the variables "logger", "inputFile", and "drawFigures", but they are called before they are defined. I believe these should be defined at the top.
4. Importing aeslibs, config, and database does not work properly. This may be because something strange happened with my pip install, but I found that I needed to import, for example, "aestimo.config", "aestimo.database", etc. I had to change this formatting in each python file where they are imported to get things to work.
In the end I managed to get aestimo.py to run, but I got nonsensical results. I suspect this is due to a combo of issues 1. and 2. listed above.
Thank you in advance for any help you can provide! Anthony