The process to retrieve a material from the wrong catalog should give an error. This happens with all the materials defined in the catalogs, but when the material is defined as an alias behavior is not correct. Any aliased material can be retrieved from any library.
As an example, the BK7 material is defined as an alias, so it can be retrieved from the library material using:
In [2]: material["BK7"]
Out[2]: <pyoptools.raytrace.mat_lib.mat_eq.Sellmeier_2 at 0x7fda893ef2e0>
But if we try to retrieve it it from an specific catalog (schott or ami in this example) it should give an error, as the material "BK7" it is not defined in those catalogs. Instead, the library is returning the aliased material:
In [3]: material.schott["BK7"]
Out[3]: <pyoptools.raytrace.mat_lib.mat_eq.Sellmeier_2 at 0x7fda8a8ff340>
In [4]: material.ami["BK7"]
Out[4]: <pyoptools.raytrace.mat_lib.mat_eq.Sellmeier_2 at 0x7fda8a8ff910>
The process to retrieve a material from the wrong catalog should give an error. This happens with all the materials defined in the catalogs, but when the material is defined as an alias behavior is not correct. Any aliased material can be retrieved from any library.
As an example, the BK7 material is defined as an alias, so it can be retrieved from the library material using:
But if we try to retrieve it it from an specific catalog (schott or ami in this example) it should give an error, as the material "BK7" it is not defined in those catalogs. Instead, the library is returning the aliased material:
This problem happen with all aliased materials.