juliaphysics / thinfilmstools.jl Goto Github PK
View Code? Open in Web Editor NEWTools for the design and characterisation of thin-films written in Julia.
License: MIT License
Tools for the design and characterisation of thin-films written in Julia.
License: MIT License
When the number of layers grows, the way as it is now, the structure is defined by the layers with all the information, containing the refractive indexes vectors as well. It would probably be more efficient to define the different layers with their information inside, and the structure with just the desired indices matching the layers. This way only passes the information about unique layers once and they are placed or called according to the indices inside a new vector defining the structure.
Need to check if both SG filters give similar results and if they do, remove the one with DSP dependency.
We could incorporate the exponential weighting average as well.
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
There are some links that reference the wrong sites.
This isn't an issue more of reaching out. I used to do some work with thin films, simulations, etc. What is the over-all direction for this package and it's related ones (TMMOptics, etc)?
Do you plan to support other rigorous methods? It looks like you are working with Fresnel based solutions, but surely others exist (FEM, RCWA, etc).
I may see some room for collaboration if I can get approval from some colleagues to share code I have written during graduate school. If not - I will maybe start from scratch and see how it goes. The code wasn't written in Julia anyways...
There is an issue with the SG filter as pointed here.
@JuliaRegistrator register()
Hi @carstenbauer !
I'm reaching out to you and the JuliaPhysics team to see if you would like to port the ThinFilmsTools.jl package into JuliaPhysics. I don't know what are the requirements to get there, but I thought it could be useful to port it and have more exposure and extend the package capabilities if desired. I've written this module years ago but I don't have much time right now to dedicate to it either. However, I'm willing to discuss any comments and implementation ideas.
For the explanation of the package please check the Wiki pages.
Thanks! Best,
Leandro.
BTW, I just registered the package.
It may be nice to get this optimisation package supported, considering the gradients are not used.
For multiple SearchRange
check:
Add examples with refractive index profiles
Consider adding a keyword accepting the type of layer depending on the index variation: constant (default) as usual, graded exponential (see issue 29), and maybe others.
Depending on the type of layer the matrix would be the usual one with the constant layers, and in the case of the exponential graded would be the matrix with Bessel functions (see paper in issue 29).
There might be other types with different graded as well that We could search and include if they exist.
It could be a good idea to split the packages somewhat back to what they were before. I haven't analyzed this in-depth but could help in the maintenance and development as well. Not sure how much will impact current users though. Maybe we could split the package while keeping this one active.
ThinFilmsTools.jl
:
OpticsMatrixMethod.jl
(2x2 matrices, linear optics)ThreeOmegaMethod.jl
UtilityTools.jl
: the regular tools used should be imported maybe from another independent package.RefractiveIndexDB.jl
RefractiveIndexModels.jl
Should check the stability of the RI.codelorentz
model when ran several times.
Inside the FitBellShapes.jl
We should add a module to fit the parameters for the three omega method to retrieve the thermal properties of a frequency spectrum.
It would be nice to have interface roughness layers at the top and bottom of a certain layer. It is generally accepted to fit the roughness of a thin film with an EMA at the top and bottom, using the index of refraction of the same layer of interest as nhost
and something else as the ninc
.
Is it possible to model layers containing a linear gradient in mole fraction? For example for AlGaAs DBRs.
JuliaMath/SpecialFunctions.jl#236 should replace the version in src/EiFunction.jl
(once a new version of SpecialFunctions is tagged).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.