Analysis & Modeling
By analysis and modeling, I am referring to the use of analysis and numerical computation to calculate quantities of interest. It differs from software development in that the user of the software in modeling and simulation is only the analyst, or at most, a small group of analysts.
Analysis and modeling has many applications, but it is most interesting to me when it is used to guide the design of a system by, for instance, predicting the system's performance as a function of its design variables.
To be successful in modeling and simulation, one must combine physical insight, mathematical ability, and facility with software. My mathematical ability is relatively modest, but I generally more than compensate for that with strength in the other two areas.
In my experience, people who do nothing but analysis and modeling often develop bad habits. More than once I have discovered problems in modeling results generated by others because of two specific mindsets: lack of respect for the importance of physical units and lack of thought about the reasonableness of output results. In my opinion, an experimental, practical background is nearly a requirement for one to be able to do a good job in modeling and simulation.
I have also noticed that people who use only commercial codes often tend to accept their output results uncritically. It helps to have developed codes oneself to know what sort of problems to look for. I have found many incorrect results generated by many commercial codes, and am extremely wary of unchecked results.
Because one must always be on the lookout for incorrect answers, whether or not a commercial code is being used, I often recommend developing critical results in two completely different ways as a check. For instance, for one customer I generated a MATLAB model of the pattern of interference fringes on a three dimensional part generated by a particular 3D metrology system. As a check, I set up a similar model in a CAD program and demonstrated that the two approaches provided the same answers.
While I was an enthusiastic user of spreadsheets for simple models a decade or more ago, I hardly ever use them any more because of the problems caused by lack of documentation and lack of security in the models. The problem is not that it is difficult to develop a reliable model using a spreadsheet, but rather that it is virtually impossible to make needed changes to the model at some later time without either introducing errors or spending an inordinate amount of time redeveloping an understanding of exactly what the spreadsheet does. I have found that one can develop small models just as quickly using a very high level true programming language, such as MATLAB, while obtaining the benefits of documentation and security. Of course, this latter approach also makes it much easier to extend small models into larger models than does use of a spreadsheet. At somewhat larger model size, use of the object oriented language C++ becomes attractive because of its even stronger benefits in these areas.
In recent years, I find myself answering my clients' questions more and more often by sending them a piece of code that they can run and/or integrate into their own models and analyses.
Commercial codes recently used in system modeling
Geometrical Optics (standard raytracing): SYNOPSYS, ZEMAX
Physical Optics and non-sequential raytracing: FRED (currently a beta from Photon Engineering, Inc.)
Atmospheric Transmission: HITRAN-PC, PCMODWIN
Symbolic mathematics: DERIVE
Numerical mathematics: MATLAB
Proprietary codes and components developed and used for system modeling
Paraxial optics layout.
Paraxial optics black box system identification from data.
Physical optics propagation.
Laser Doppler Anemometry: system performance.
Photonic detector-preamplifier signal to noise ratio.
Photonic detector-preamplifier performance: wide band, pulsed-mode operation.
Topographic and Mie scatter lidar including speckle.
Multi-wavelength tunable topographic differential absorption lidar: system performance.
Lidar signal processing: optimal filtering for detection and estimation.
|
Copyright © 2002, David F. Schaack. All Rights Reserved. |