Welcome to Engineering Calculations


We are the Home of the optical design program KDP2 (Klein’s Design Program – 2). This program includes FULL SOURCE CODE.

Engineering Calculations
1377 E. Windsor Rd.,  #317
Glendale, CA 91205

1-818-507-5705 (Voice)
1-818-956-8553 (Voice) 7a.m. - 7p.m. Pacific
1-818-823-4121(Alternate Voice Phone - Cell)

 http://www.ecalculations.com

Email:
ecalculations@ecalculations.com

This is the home of the optical design and analysis program:

KDP-2

Current version of KDP-2 is 5.0. Version 5.0 is built with the Intel Fortran Compiler 9.1 and Visual Studio 2005 as well as I.S.S. Winteracter 7.10.

BACKGROUND:
KDP-2 is a free program download, full featured, professional level optical design and analysis program. The self-extraction password used after download is: avon1

System Requirements:
All versions of KDP-2 run under Windows NT 4.0, Windows 2000, Windows XP, Windows 7 and all later versions of Windows.  There are NO hardware or software keys required.

Personal Requirements:
KDP-2 was written to do professional level optical design and analysis.  KDP-2 has both a command and  a GUI interface. The command driven interface has more capability than the GUI. The command interface is necessary for serious optical design since KDP-2 is not just an optical design program but is also an optical design programming language via its flexible and powerful macro programming language. Essentially every command (in the command mode) in KDP-2 may be used in a user-written macro to produce other, user defined, commands. These macros are initiated via a built-in full screen editor with a help file.
Once written, user defined commands (macros) are indistinguishable from  hard wired commands built into KDP-2. Literacy in Technical English is recommended. A background in Optical Physics, Optics or Optical Engineering is recommended though it is by no means necessary.

KDP-2 incorporates many features similar to those in other optical design codes such as HEXAGON (Hughes Aircraft/Raytheon), ZEMAX, OSLO (Doug Sinclair), ACCOS-V and CODE-V (Optical Research Organization). Any  KDP-2 user who wants a feature from one of these other codes must be currently paying us for KDP-2 user support at $1500.00/year. This paid user support is optional for any designer working at a company of fewer than 5 employees but is required of each designer working at a company of 5 or more employees. We support our free users but do not add custom features for the free users.

KDP-2 DOWNLOAD SECTION

Look at README file for installation instructions

Download Adobe Acrobat Reader Now!

KDP-2 Download
 

Military Handbook 141 FREE download section
This is a great text on the technical aspects of optical design and analysis.

Download Mil 141 (part 1)

Download Mil 141 (part 2)

Download Mil 141 (part 3)

Download Mil 141 (part 4)

Download Mil 141 (part 5)

Download Mil 141 (part 6)

Pure IBM FORTRAN Stuff
This came off an IBM 360 in 1987. If can help any programmer, take it for free.

IBM 360 Scientific Subroutine Package

 

Gaussian Beam Decomposition Document in PDF format.

Gaussian Beam Decomposition Document

  SOME OF KDP-2's PROGRAM CAPABILITIES

IMMEDIATE MODE, INTERACTIVE INPUT AND ANALYSIS: Input and output in an interactive, scrolling environment. Input from the keyboard or from data files. Output to printer or disk in a range of formats. Keep a running record of a program session. Set up user defaults in a file to customize your program environment. Have full control over graphics. Execute OPERATING SYSTEM level commands without exiting the program. Use the full screen editor to write macros and enter lens data. Use a large selection of mathematical commands to manipulate program data. Store and recall numeric and string data in the many storage registers available. Set internal program operating conditions which control ray tracing and optimization. Calculate and display paraxial, 3rd, 5th and 7th order and chromatic aberrations. Model lens systems with up to 500 surfaces. Trace real single rays and output the results in many forms. Capture ray data for further calculation. Explicitly trace differential rays and display the results. Trace fans of rays, ray spot diagrams, create line spread functions, radial energy distributions, ensquared energy distributions, complex aperture functions, wave front maps and wave front Zernike-polynomial decomposition's. Compute polychromatic geometric and diffraction based Optical Transfer Functions. Thru-focus Optical Transfer Functions. Do immediate mode arithmetic manipulation of user input and program generated data. Use the GET capability to retrieve and manipulate optical system and other data. Use the powerful TABLE WRITER to set up spread sheet output. Do linear, parabolic and cubic data interpolation from the keyboard or in macros. Use the RPN (Reverse Polish Notation) stack as a built-in calculator.

MACRO PROGRAMMING: Use a well organized, semi compiled, macro programming language to write programs from inside the program which run fast and act like new hard-wired program commands. Have up to 1024 lines in each macro. Use the macro library feature to save and organize your work. Every program command can be made part of a macro. Use the lightning fast macro functions during optimization to create operands of unbelievable complexity. Nest macros 20 levels deep. Use the powerful data transfer statements and branching commands to give your macros intelligence.

GRAPHICS: Take complete control over program graphics. Plot optical systems from any viewpoint. Plot spot diagrams, transmission files, optical transfer functions, line spread functions, energy distributions and beam footprints. Generate distortion, astigmatism and field curvature plots which are correct for all systems, even those with decentrations and tilts! Use the user defined graphics primitives to plot lines, generate axes and plot program generated data. Save these custom procedures on disk in macros. Save any of the graphics in the plot library. Use the "quick" plotting routines to get vital data plotted "fast"! Real time plot generation. Examine what you have plotted with the DRAW command, then add more to your plot and redisplay the updated plot with another DRAW.

REFRACTIVE, REFLECTIVE AND DIFFRACTIVE SYSTEMS: KDP-2  can model refractive, reflective and diffractive optical elements and gratings. Diffractive elements can be refractive or reflective gratings or HOES (with and without aspheric phase terms) just like in CODE-V.

AFOCAL SYSTEMS: Work with AFOCAL systems with ease. No need to use a "perfect" lens to make an afocal system look like a focal system. This program converts all output appropriately when the MODE is set to AFOCAL, even field curvature and astigmatism. All FOCAL mode optimization operands have equivalent AFOCAL representations for use in AFOCAL system optimization. If you insist on using a PERFECT lens to do your AFOCAL designs, we even provide one of these.

BEAM FOOTPRINTS: Create footprints of beams on any surface. Calculate both beam footprint areas and beam footprint solid angles.

STANDARD SURFACE TYPES: Model flats, spheres, aspherics to 20th order, cylinders, and anamorphic aspherics.

STANDARD MATERIAL TYPES: Use the multi-manufacturer (Schott, Hoya, Ohara, Corning-France, Chance-Pilkington and others) glass catalog, the user input refractive indices, the user defined glass catalog, and of course, the REFL for reflective surfaces and AIR for air. Define and use up to ten wavelengths at a time. Most IR and UV materials are in the glass catalog. The most complete glass catalogs available.

SPECIAL SURFACE TYPES: Add special surface definitions to any standard lens database surface type for compound results. There are several forms of polynomial deformation surfaces and polynomial phase surfaces (Radial, Rectangular and Zernike forms). There are Holographic Optical Elements (HOEs), and rotationally symmetric and cylindrical FRESNEL surfaces. Take full control with the user defined deformation and phase surfaces without the use of a compiler. A second type of user defined surface has been added which allows modeling noncontiguous surfaces. The program has a special surface type and supporting commands which make it possible to model grazing incidence reflective telescope systems. There are user input SAG, PHASE and APODIZATION grid surfaces. There is also a user defined surface, defined via a user modifiable FORTRAN subroutine. There are user input PHASE, SAG and APODIZATION grid surfaces. There is a rotationally symmetric cubic spline surface which may be attached to a standard, rotationally symmetric surface.

UNITS: Work in inches, millimeters, centimeters or meters. Convert angular output units from degrees to radians or tangents with a simple command.

SOLVES and PIKUPS: Control lens curvatures and thickness with paraxial ray trace based solves in either the XZ or the YZ-plane. Concentricity and clear aperture solves in the XZ or the YZ-plane can also control curvatures and thickness. Establish automatic, updated links between parameters on different surfaces using both multiplicative and additive constant offsets. Use the powerful overall length thickness pickup and the pivot point pickup.

CLEAR APERTURES AND OBSCURATIONS: Establish circular, rectangular, elliptical, regular polygon and racetrack shaped clear apertures and obscurations with tilt and decenter capability. Explore the clear aperture and obscuration ERASES as a powerful modeling tool. Place a decentered clear aperture on the Reference Surface and automatically chief ray aim to the center of that clear aperture. Flats on concave surfaces are available using the CLAP command.

TILTS AND DECENTRATIONS: Apply general Euler angle rotations in three dimensions to any surface. Use one of two angle conventions available: pure right handed (as in ZEMAX) and mixed angle (as in CODE V, ACCOS and OSLO). Apply tilts "TILT", reverse tilts "RTILT", rev. tilts "TILT REV", automatic tilt alignments to a chief ray, X and Y-decentrations, automatic decentration alignments to a chief ray "TILT AUTO" and "TILT AUTOM", bends "TILT BEN", decenter and return "TILT DAR" and full return "TILT RET" capability. The "TILT" command can be augmented by an alternate pivot position definition using the "PIVOT" command to rotate about an arbitrary point. KDP-2 has the most complete and flexible set of decentration and tilt commands of any optical design program.

FLEXIBLE RAY AIMING: Ray aim to a "Reference Surface", to the aperture stop, or to surface 1. Automatic location of and aiming to the entrance or exit pupil. The most complete and flexible ray aiming scheme in the industry. Set telecentric aiming of paraxial and real rays when modeling telecentric systems. Set "APLANATIC" reference surface ray aiming. Trace rays through ultra wide angle systems (half angle 90 deg) with no special settings as are required in other programs.

PARAXIAL AUTOMATIC CONDITIONS: Set and hold magnification, entrance pupil diameter, object space f-number, and object space numerical aperture.

SCALE THE ENTIRE LENS: Use the scaling commands to scale the lens database, including data in alternate configurations (zoom positions) and special surface data.

MULTIPLE CONFIGURATIONS (ZOOMS): Have up to 75 alternate lens configurations. Zoom all lens database parameters, special surface parameters and some general program parameters as well. Pickup lens data inside and across configurations. Model and optimize scanning and zoom systems with ease.

PERFORM THERMAL ANALYSIS: The effects of temperature and pressure may be easily modeled with the THERM and PRESS commands. These commands may be "zoomed". Easily model the behavior of light in gases other than air.

OUTPUT YOUR LENS: The lens database may be output and displayed in a number of ways. It may be output in a form so it can be re-read by the program. The default prescription is easy to read. You can easily customize many program output functions. Convert your prescriptions to be read by other optical design programs. Convert KDP-2  prescriptions to CODE-V format and input both ZEMAX and CODE-V prescriptions.

OFF THE SHELF DESIGNING: In conjunction with a large and powerful lens library capability, lenses may be added together to synthesize a new optical system. Using the lenses listed in the manufacturer's (Edmund Scientific, Melles-Griot, Newport, Rolyn and Spindler & Hoyer) lens catalogs, which are included with the program, optical systems can be easily assembled from "off the shelf" components and then fully analyzed.

SPECIAL DATA FITTING: Use the SPFIT routines to fit data to functional forms. Compute glass index coefficients. Apply fitting coefficients to a special surface type and then ray trace through the resulting surface. This also contains routines for automatically updating the user defined glass catalog based on user input index data.

SPECTRAL ANALYSIS: Use the SPECT capability to manipulate wavelength dependent data files. Perform transmission analyses of optical systems. Determine spectral weighting factors to use in optical transfer function calculations.

OPTIMIZATION: Use the most flexible optimization configuration ever available in a commercial optical design program. Build your own merit function from hundreds of predefined operands. If you need an operand not provided in our pre-defined list, just build it in a fast macro function using any of the hundreds of program commands and "gettables" from the GET list. Use lens database, paraxial ray based and real ray based operands with equal ease. Optimize in multiple configurations. A large list of lens database parameters are available for use as optimization variables, including all 96 special surface coefficients. Six methods of damping are provided for the Damped Least Squares solutions. Full control over optimization is provided. The derivative matrix is accessible at all times. Elements of the derivative matrix may be retrieved with the GET command. The optimization is fully re-entrant. The value of the damping factor is under complete user control. Updates can be made to the lens database without starting a new "auto" run as in some other programs. A direct, non damped solution method is available when needed. Two levels of optimization merit function and variables definition may be saved and reloaded. Macros may be used to prepare or save useful variables and operand lists. Merit function constraints are implemented as weighted operands. All operands may be corrected to a value, held to a value, held greater than or equal to a value, held less than or equal to a value or simply computed and displayed in a bypass mode. The optimization techniques are always being tested and expanded to provide the most powerful and flexible optimization techniques that can be provided. Have up to 100000 variables and 100000 operands at a time. Powell's Quadratically Convergent optimization methods is also available as an optional optimization method. Paul Robb's acceleration technique for use with damped least squares (DLS) is also available. Variable constraints are held exactly in all cases. The program also includes the Pseudo second derivative acceleration method as described by D.C. Dilworth. Use the USER DEFINED optimization to optimize anything!. All tolerance and optimization definitions are stored with the lens database. An automatic damping factor calculator is available.

GAUSSIAN BEAM PROPAGATION: The program has an extensive modeling and optimization capability with respect to gaussian beams. This feature works and is accurate for centered as well as tilted and decentered systems, even those containing diffractive optical elements. It is based upon the real differential ray trace.

TOLERANCE ANALYSIS: The program has an extensive system of commands for generating a sensitivity analysis, an inverse sensitivity analysis and a Monte-Carlo type tolerance analysis for the current lens prescription. This includes a chapter for the Reference Manual and an example in the Tutorial. Special surface tilt (STILT), barrel tilt (BTILT), element roll (ROLL), displacement (DISP) and alternate pivot point (PIVOT qualifier) options are available from within automatic tolerancing. These option are also available from the CMD level for interactive tolerancing.

DIFFRACTION CAPABILITIES: Diffraction based Complex Aperture Function, Optical Transfer Function, Diffraction Based Point Spread Function analysis, encircled and ensquared energy analysis and Pixel Linearity analysis. Decompose a wave front into Zernike Polynomials and use the polynomial coefficients for analysis or optimization. Tolerance using geometric or diffraction MTF.

VERY WIDE FIELDS OF VIEW: Advanced ray aiming techniques allow tracing rays through systems with fields of view in excess of 180.0 degrees with no special intervention by the designer.

ILLUMINATION SYSTEMS: Analysis of illumination systems.

GLOBAL SURFACE INSERTION: Surfaces may be input in global as well as in local coordinate systems.

3D -DXF LENS DATABASE AND RAY OUTPUT: The current lens and rays traced through it may now be output to a 3D DXF file for later importation to CAD packages.

PART DRAWINGS: Quick simple to use part drawing routine with full user customization.

MULTI-FOV GEOMETRICAL AND DIFFRACTION MTF: Now do single or multiple field of view geometrical of diffraction based MTF calculations and graphical display. Supports up to 10 field of view positions using the FLDS command to define multiple field of view positions in the lens database.

USER DEFINED FUNCTION PLOTTING: The user can construct plots of functions of an independent variable using the user defined plotting routines.

LENS DATABASE TRANSLATION: The user can output KDP-2 optical prescriptions into CODE-V type sequence files which can then be input into CODE-V. The user can output KDP-2 optical prescriptions into ACCOS-V type data files which can then be input into ACCOS-V. The user can also import both CODE-V and ZEMAX lens databases from CODE-V sequence files or ZEMAX (.ZMF) files into KDP-2. These translations are performed with the "LENO CV" , "LENO AC", "CV2PRG" and "ZMX2PRG" commands.

TEST PLATE FITTING: The user can fit their designs to an extensive list of test plates.

SURFACE COATINGS: The user define surface coatings and diffraction grating efficiencies which are used in ray energy tracking.

NON-SEQUENTIAL SYSTEMS: A whole new non-sequential systems modeling tool has been added with its new NSS raytrace.
***********************************************************************************************************************************************************************
 

 PRICE SHEET

(2011)

The following KDP-2  support services are available from Engineering Calculations:

Part #

Item Description

Unit Price

EC-001

KDP-2 Includes user support and full source code and addition of custom features.

$1500.00/year

 

* User support is FREE for individual users working at companies of fewer than 5 employees but PAID YEARLY USER SUPPORT is required for individual users working at companies of 5 or more employees; however, we only add custom features for paid user support users.

We accept US Bank Checks, Certified Checks, U S Government P.O., Company P.O. and Personal and Company checks.

Make all orders payable to: James E. Klein

Mail all orders to: Engineering Calculations
1377 E. Windsor Rd., #317
Glendale, CA 91205

Last update 11/5/2011

Email: ecalculations@ecalculations.com


 

Copyright Engineering Calculations and James E. Klein 1995-2011.