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

How to add and use compound refractive index materials? #185

Open
HGL2023 opened this issue Jul 6, 2024 · 9 comments
Open

How to add and use compound refractive index materials? #185

HGL2023 opened this issue Jul 6, 2024 · 9 comments

Comments

@HGL2023
Copy link

HGL2023 commented Jul 6, 2024

Hello!
I added photoresist polymer named SU8, which has chemical formula C65.715 O13.934 F18.82 S0.957 H0.574 and refractive index is complex refractive index ((1-δ)-i*β; δ is refractive index; β is absorptive index), and I add the material information in the materials_compounds.py file (fig. 1), but the use of the method seems to be wrong all the time (fig. 2).
I hope you can point out my mistake, thank you very much!
Your advice is very important to me, thanks again!
fig 1
fig 2

@kklmn
Copy link
Owner

kklmn commented Jul 6, 2024

Hi,

I guess you haven't read the docs of Material class, have you? Otherwise, you wouldn't assign a string representation of a complex value to refractiveIndex.

Are you sure you want to override the default material's refractive index? What is your target energy?

Inserting your code directly into an external library is very uncommon. How would you upgrade the library to new versions? Your insertions would get lost.

@HGL2023
Copy link
Author

HGL2023 commented Jul 7, 2024

Thanks for your tips!

You are talking about this part of the diagram, right? Honestly, I saw this but I really don't know how to correctly represent this 3-column numpy array. My energy is set to 15 keV with δ in the real part and β in the imaginary part. Thanks for your guidance! I really don't get it. Thanks!
fig

I'll keep track of the modification method so that if there's a new version, I can download it and make the changes again. I really want to implement the kinoform OVAL lens simulation using XRT!

@kklmn
Copy link
Owner

kklmn commented Jul 7, 2024

15 keV is in the range of all three tabulations of scattering factors, so you don't need to define refractiveIndex. If you want to check the calculated refractive index, use the method get_refractive_index() of the created Material object.

@HGL2023
Copy link
Author

HGL2023 commented Jul 7, 2024

I referenced ([Henke] http://henke.lbl.gov/optical_constants/asf.html B.L. Henke, E.M. Gullikson, and J.C. Davis, X-ray interactions. Photoabsorption, scattering, transmission, and reflection at E=50-30000 eV, Z=1-92, Atomic Data and Nuclear Data Tables 54 (no.2) (1993) 181-342).

This software calculates for SU8 at an energy of 15 keV:
delta (δ) = 2.124207e-6
beta (β) = 2.379735e-9
The refractive index is given by: n=(1−δ)−iβ.

According to the tutorial, it should be represented as a 3-column array. However, I'm unsure how to correctly represent this 3-column array in the script.
f3196fa8e72e548a07c3f109425db74

I'm really sorry to keep bothering you with these basic questions.

@HGL2023
Copy link
Author

HGL2023 commented Jul 22, 2024

Hello!
Is this a correct representation of the material’s refractive index and absorption coefficient?
0dcab75bea68cf9721d34c6be9f6dee

@kklmn
Copy link
Owner

kklmn commented Jul 22, 2024

Hi,
The xrt's module materials_compounds doesn't have the class 'SU8'. You can create your material based on the generic class Material from materials.
The use of the two methods is correct.

@HGL2023
Copy link
Author

HGL2023 commented Jul 22, 2024

thanks!

@HGL2023
Copy link
Author

HGL2023 commented Jul 25, 2024

These three images show the X-Z, X-Y, and Y-Z views of the same lens, with the Y-axis as the optical axis. Why is there no light on the Y-axis in the images, yet adding a screen behind the lens captures the light spot from the lens? What generally causes this situation?
af5c4ebb6f9c38c88dc1f50c914f072
0955277cd2f5ef2fc1ad5ff32e816f1
28b403e1cfc3894f77a2f16a69e1f51

@kklmn
Copy link
Owner

kklmn commented Jul 25, 2024

I guess, you set the y-limits wrongly. Your rays are outside of the -3..3 range.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants