LINZIK: The compact optical CAD

Home Manual
Download:

linzik_1_1d_Eng_Setup.exe (with double precision in CUDA)
(these Add-Ons replace CUDA to AMD Stream for double precision)

linzik_1_1_Eng_Setup.exe (with single precision in CUDA)
(these Add-Ons replace CUDA to AMD Stream for single precision)

Versions History

Version 1.1d - October 30 2008:
Functions [nv...] here has the double precision - as CUDA 2 support for NVIDIA GeForce 280 GTX, 260 GTX, and Tesla C1060. Version 1.1d cannot work with single precision and it is not compatible with previous GeForces (8-th and 9-th).

Functions [nv...] here can be computed using AMD Radeon HD 3850, 3870, 4850, 4870, or FireStream 9170 or 9250. To do this, should set the appropriate Add-On for LINZIK. These Add-Ons replace the runcuda.dll library at the same corresponding analog which uses the AMD Stream technology.
Attention! Use driver Catalyst 8.9 or higher.

Version 1.1 - July 11, 2008:
The optimizer can use the new method: Global-random.
Added button AntiLoop for exit from local minimums.
Added indicator of current GPU.
Function [cp...] has more precision.

Version 0.91 - June 22, 2008:
Corrected the bug: versions 0.5 .. 0.9 can crash when "Save Glass" pressed.
Improved form _SCALE_SYSTEM.
These functions were undocumented: [cp_vig..], [nv_vig..], [__vig].

Version 0.9 - June 18, 2008:
Added operators: HINT.., HINTGLASS..
Added form: GLASSES_nd_Vd - the Abbe's diagram.

The form GLASSES (partial dispersion) was renamed to GLASSES_partial_dispersion, and (same as GLASSES_nd_Vd) it now has the mouse sensitivity: when the mouse cursor contacts the glass-point on the diagram the balloon appears near cursor with glass info. On right-click the popup menu (with single position) opens that contains the selected glass name; on click to this menu the glass name will be copied to the clipboard and can be used in "Glass" fields of the scheme editor (Ctrl-V or Shift-Ins). Thus, now this diagrams are more comfortable for navigation and selection in the glass catalog.

An indication was added to FFT_PSF and WAVEFRONT: the balloon with function value in the mouse cursor point.
All the plots that drawed using operator PLOT are also mouse sensitive now.

Added the syntax highlighting of optimizer'z fields: "Cond", "Goal", "Calc".
Added the indication of wrong conditions in optimizer: the compare operation ("<", ">", "<=", ">=", "<>") will be highlighted when returns 0 (FALSE).

Attention! Functions [athick] and [gthick] now return the minimal thickness of air and glass only for those cells that selected as variables for optimizer (in column "Thickness").
Functions [aedge] and [gedge] now return the true sign of the minimal edge nevertheless on signs of thicknesses (in column "Thickness")
Functions [gthick] and [gedge] will not consider now that MIRROR is a glass.

Version 0.81 - May 18, 2008:
Corrected the bug - versions 0.7 and 0.8 were not working in Windows x64. The [nv_ ...] functions use not CUDA 1.1 but CUDA 2.0 BETA for compatibility with Vista. If you intend to use these functions then download a new version of a suitable driver.

Version 0.8 - May 7, 2008:
Improved interaction with CUDA: functions [nv_srms ..] and [nv_maxr ..] are 30% faster than in version 0.7.
New functions for computing on CUDA: [nv_2_srms ..], [nv_2_maxr ..], [nv_3_srms ..], [nv_3_maxr ..] allows for one call to them to calculate the characteristics of spots for the entire field: for 2 or 3 angles, respectively. For example, the function [nv_2_srms ..] runs almost the same time as [nv_srms ..], and are equivalent of [nv_srms ..]+[ nv_srms ..].
Optimized ray-tracing code for central processor.
New functions [cp_srms ..] and [cp_maxr ..] are twice faster than [srms ..] and [maxr ..] respectively.
New functions [cp_2_srms ..] and [cp_2_maxr ..] are equivalents of the sum of two [cp_srms ..] or [cp_maxr ..], but if the system has two central processors it will be calculated almost twice faster.
New function [rdtsc].

Version 0.7 - April 30, 2008: Powered by NVIDIA CUDA!
Added support for multiprocessor GPGPU computing on video card compatible with the NVIDIA CUDA. New functions [nv_srms ..] and [nv_maxr ..] calculate characteristics of spot tracing all rays simultaneously on video card processors.
For example, using NVIDIA GeForce 8800GT (112 processors) gives acceleration as 2 - 10 times or more compared with functions [srms ..] and [maxr ..] on the central processor Intel Pentium E2180 2 GHz. The gain from using CUDA will grow with more optical surfaces in the scheme.
Added forms DISTORTION - calculation of distortion, fft_PMTF - polychromatic modualation transfer function.
Added functions [tick] and [nv_rays].

Version 0.6 - April 10, 2008:
In the menu "File" added items: "New Analyse / Tool", "Edit Analyse / Tool Source", "Edit Library.lib" - for editing forms and libraries.
Added highlighting of the LINZIK language syntax.
Added form SPOTS - Expanded spot diagram.

Version 0.5 - April 5, 2008:
Added functions [nplates], [variable ..].
Added operators: LOADPLATES,? ...
Added forms: VIGNETTING - vignetting diagram, _SCALE_SYSTEM - scaling system _TEST_PLATES - selecting the standart curvature radii from file plates.txt with optimization.
Menu "Analysis" expanded as "Analysis & Tools."
Accelerated functions for working with the glass catalog.
Increased the maximum number of surfaces: from 22 to 126.

Version 0.4 - March 26, 2008:
In addition to the six fixed waves can be entered the seventh wave with the required length.
Added functions [nglasses], [rindex ..], [glassn ..]
Added operators: LOADGLASSES, PRINTGLASS, GLASSN .., USERWAVE.
Added forms WAVEFRONT, FOCAL_SHIFT, GLASSES - wavefront errors, chromatic curves, partial dispersion diagram.

Version 0.3 - March 17, 2008:
Added functions [nsurfaces], [wlength ..], [ere ..], [eim ..].
Added operators: INITVAR, INITMEM, .. SHIFT.
Added forms: fft_PSF, fft_MTF - Point Spread Function and Modulation Transfer Function respectively.

Version 0.2 - March 9, 2008:
Added functions [ln ..], [p2 ..], [ro ..], [tr ..], [rnd], [wz ..], [wy ..].
Added operators METHOD, FFT.
Optimizer can use different methods.
Library.lib: in this file can be defined functions, which can be called from the "Goal", "Cond", "Calc."

Version 0.1 - March 3, 2008

Home Manual