Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add non-uniform generation profile. #100

Open
TheOldGogo opened this issue May 3, 2020 · 1 comment
Open

Add non-uniform generation profile. #100

TheOldGogo opened this issue May 3, 2020 · 1 comment
Labels
feature request Specific new or improved simulation features that make the software tool more valuable to users.
Milestone

Comments

@TheOldGogo
Copy link

Maybe first easy step would be arbitrary shape, and/or a simple exponential profile through the layer thickness corresponding to absorption profile.

For multilayers/devices, ideal would be some profile from a transfer matrix simulation, but I guess it would be fine to run a transfer a transfer matrix simulation on another program and input the result as an arbitrary profile to excimontec.

@MikeHeiber MikeHeiber added the feature request Specific new or improved simulation features that make the software tool more valuable to users. label May 3, 2020
@MikeHeiber
Copy link
Owner

The most flexible way to implement this is to allow the user to import a file which has the desired absorption profile. This then allows the user to do a lot of different complex things if they wish, but Excimontec does not have to worry about those details. For example, it doesn't make sense to have a transfer matrix model built into Excimontec because it is beyond the scope of the tool and often you just want to use the same absorption profile over and over while tweaking other parameters.

My first thinking on implementation would be to add two parameters to the parameter file, Enable_absorption_profile_import and absorption_profile_file. When absorption profile import is enabled the program will try to the load the data in the absorption_profile_file from the working directory. The absorption_profile_file would need to indicate the absorption strength at each z-slice in the lattice. Then program would save this data into a vector and use this information when randomly generating the coordinates for creating a new exciton. The z coordinate generation would need to be biased using a probability distribution derived from the absorption profile.

This would be a nice feature to add into a subsequent minor release and so one key requirement is that parameter file format changes are implemented without breaking compatibility of previous parameter file versions. Doing this requires #83 is implemented to allow the program to recognize different parameter file formats associated with different release versions and then load them properly.

@MikeHeiber MikeHeiber added this to the v1.1 milestone Jun 2, 2020
@MikeHeiber MikeHeiber added this to To do in v1.1 Development Jun 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Specific new or improved simulation features that make the software tool more valuable to users.
Projects
Development

No branches or pull requests

2 participants