Releases: qpv-research-group/rayflare
Releases · qpv-research-group/rayflare
v1.2.1
- Add the possibility to use Inkstone for RCWA calculations (no compilation required)
- Improve calculations for u-polarized light, for S4 and Inkstone (single calculation rather than averaging s and p)
- Simplify how R/A/T are calculated for S4 (no longer need incidence n/angle in calculation)
- Change print statements to logging
v1.2.0
- Add ability to use pre-calculated TMM lookup tables directly in ray-tracing (as opposed to the currently-implemented functionality, which allows this only for a single surface in combination with the angular redistribution matrix method)
- Make automatic calculation of x and y limits for ray-tracing more robust
- Remove avoid_limits option, user can set
options.x_limits
andoptions.y_limits
manually - Add functions for generating a roughened planar surface (
rough_planar_surface
), roughened pyramids (rough_pyramids
), and a (roughened or smooth) surface with hemispherical caps (hemisphere_surface
) - Remove random_pyramids function based on scan data
- Change behaviour in
single_ray_stack
so that the ray position is randomised to strike somewhere inside the unit cell, even if the surface is not periodic (periodic = False
in options) - Fix issue in tmm_structure.calculate where unphysical values for A_per_layer were calculated (datatype error in numpy array)?
- Fix test comparing periodic and non-periodic ray-tracing
- Change make_absorption_function to require a different result input format (the full result of the optical calculation, rather than just the profile part). This is to standardize its behaviour across all methods
- Add
overwrite
argument to process_structure() and rt_structure.calculate() to overwrite rather than load previously-generated lookup tables/redistribution matrices - Fix bug in calculation of bulk absorption profile for backwards-travelling rays in angular redistribution matrix method (#56)
- Fix bug in calculation of coefficients for TMM profile calculation generated during lookup table creation; if not all profile layers were requested, the
prof_layers
list was not getting flipped correctly to calculate the coefficients for the right layers. This only affected contributions to the absorption profile for rear incidence on a surface (usually negligible)