Programmable waveform simulator

A system includes a laser system situated to generate a laser beam, a controller situated to control a path of the laser beam on a target and to control a variation of one or more waveforms associated with the laser beam, and a display coupled to the controller and situated to display a plurality of list data portions that include waveform parameters and a simulated waveform based on the plurality of list data portions, wherein the simulated waveform includes a plurality of simulated waveform portions that are predictive of the one or more waveforms.

FIELD

The disclosure pertains to laser waveform profiles and simulations of laser waveform profiles.

BACKGROUND

Developments in laser system technology has allowed for an ever increasing expanse of industrial implementations of laser beams. Beams can be directed to one or more targets to cut, weld, anneal, ablate, heat, melt, or produce another type of laser processing based effect on or in the target, in a selective fashion. Various patterns can be formed at the target with the laser process based on the waveform characteristics associated with the laser system. However, despite the promise of robust laser performance, laser-formed patterns and features often suffer from poor quality control, with imprecise or inaccurately shaped patterns the norm. Hence, further innovation to overcome these drawbacks is needed.

SUMMARY

According to one aspect of the disclosed technology, a system includes a laser system situated to generate a laser beam, a controller situated to control a path of the laser beam on a target and to control a variation of one or more waveforms associated with the laser beam, and a display coupled to the controller and situated to display a plurality of list data portions that include waveform parameters and a simulated waveform based on the plurality of list data portions, wherein the simulated waveform includes a plurality of simulated waveform portions that are predictive of the one or more waveforms.

According to another aspect of the disclosed technology, a method includes forming a plurality of list data portions including laser waveform parameters that are associated with a plurality of waveform portions of an waveform associated with a laser system, simulating the waveform based on the plurality of list data portions so as to produce a simulated waveform that includes a plurality of simulated waveform portions that are predictive of the waveform portions, and displaying the simulated waveform on a display.

According to a further aspect of the disclosed technology, a system includes a graphical user interface (GUI), at least one processor, and one or more computer-readable storage media including stored instructions that, responsive to execution by the at least one processor, cause the system to display on the GUI a plurality of list data portions that correspond to waveform parameters of a plurality of output laser waveform portions of an output laser waveform and to display a simulated output laser waveform that is generated based on the plurality of list data portions, wherein the simulated output laser waveform includes a plurality of simulated output laser waveform portions that are predictive of the output laser waveform.

The foregoing and other features and advantages of the disclosed technology will become more apparent from the following detailed description, which proceeds with reference to the accompanying figures.

DETAILED DESCRIPTION

As used herein, laser beams and related powers refer to electromagnetic radiation at wavelengths of between about 100 nm and 10 μm, and typically between about 500 nm and 2 μm. Examples based on available laser diode sources and optical fiber laser and fiber amplifier sources generally are associated with wavelengths of between about 800 nm and 1700 nm. In some examples, propagating optical radiation is referred to as one or more beams having diameters, asymmetric fast and slow axes, beam cross-sectional areas and beam spot sizes, and beam divergences that can depend on beam wavelength and the optical systems used for beam shaping. For convenience, optical beam can be referred to as light in some examples, and need not be at visible wavelengths.

Representative embodiments of pump and laser sources are described with reference to optical fibers, but other types of optical waveguides can be used having square, rectangular, polygonal, oval, elliptical or other cross-sections. Optical fibers are typically formed of silica (glass) that is doped (or undoped) so as to provide predetermined refractive indices or refractive index differences. In some, examples, fibers or other waveguides are made of other materials such as fluorozirconates, fluoroaluminates, fluoride or phosphate glasses, chalcogenide glasses, or crystalline materials such as sapphire, depending on wavelengths of interest. Refractive indices of silica and fluoride glasses are typically about 1.5, but refractive indices of other materials such as chalcogenides can be 3 or more. In still other examples, optical fibers can be formed in part of plastics. In typical examples, a doped waveguide core such as a fiber core provides optical gain in response to pumping, and core and claddings are approximately concentric. In other examples, one or more of the core and claddings are decentered, and in some examples, core and cladding orientation and/or displacement vary along a waveguide length.

The term brightness is used herein to refer to optical beam power per unit area per solid angle. In some examples, optical beam power is provided with one or more laser diodes that produce beams whose solid angles are proportional to beam wavelength and inversely proportional to beam area. Selection of beam area and beam solid angle can produce pump beams that couple selected pump beam powers into one or more core or cladding layers of double, triple, or other single or multi-clad optical fibers. Beam cross-sectional areas, diameters, or other beam dimensions can be described using boundaries that generally correspond to a zero intensity value, a 1/e value, a 1/e2value, a full-width half-maximum (FWHM) value, or other suitable metric.

FIG. 1shows a system100that includes a laser system102situated to produce a laser beam104and direct the laser beam104to a target106coupled to a movement stage108. The laser system102generally includes a laser source110that generates the laser beam104and a scanner112that receives the laser beam104and directs the laser beam104to the target106. Suitable examples of the scanner112can include galvanometer scanners, acousto-optic modulators, fast scan mirrors, movable laser heads, etc. In further examples, the scanner112can include optics to direct the laser beam104to a predetermined position and the movement stage108can move the target106relative to the predetermined position. A pump source114is coupled to the laser source110and provides pump energy to the laser source110for generation of the laser beam104. The pump source114typically includes one or more laser diodes, laser diode pump modules, fiber lasers, electrical power supplies, etc., situated to generate pump energy for laser source110. In some example pump sources, a laser driver116is coupled to the pump source114and provides a voltage waveform to the pump source114so that the pump energy is provided as an optical beam to the laser source110and the laser beam104is generated based on the voltage waveform with a corresponding laser waveform. Herein, waveforms includes a temporal variation in voltage, current, or optical power.

A controller118provides a waveform command to the laser driver116to direct the laser driver116, pump source114, and laser source110to generate the laser beam104in accordance with the waveform command. The controller118can also be coupled to one or more components of the system100or the laser system102, such as the scanner112to control scanning of the laser beam104and the target106with the waveform command. The controller118can also be coupled to the movement stage108to control movement of the movement stage108relative to the scanning or position of the laser beam104based on the waveform command. In representative examples, an external signal source such as an external controller120is coupled to the controller118of the laser system102so as to provide the laser system102with the waveform command, selection of a controller program, or other instructions to form the waveform command so that the laser system102generates the laser beam104based on the instructions from the external controller120. In some examples, the external controller120is coupled to the movement stage108and can provide the instructions to produce and/or scan the laser beam104to the laser system102in coordination with control of movement and calibration or monitoring of the movement stage108. The external controller120can also be coupled to other systems and components that can be coordinated with the laser system102and processing of the target106, such as preceding or subsequent assembly line components and laser or non-laser processing equipment.

In representative embodiments, a sync input122is coupled from the external controller120to the controller118so as to provide a sync input signal that can indicate a readiness of the external controller120to proceed with laser processing according to a selected waveform command in the controller118. A low value for the sync input signal can correspond to pause state for the laser system102so that the target106can be moved by the movement stage108or a new target can be positioned in view of the field of view or processing field of the laser beam104, and a high value for the sync input signal can correspond to execution state or execution period in which the waveform command in the controller118is executed. A sync output124is coupled from the controller118to the external controller120so as to provide a sync output signal that can indicate completion of a waveform command or other feedback to the external controller120that is associated with the laser system102. For example, a high state or other signal feature for the sync output signal can confirm readiness for stage movements controlled by the external controller120.

A graphical user interface (GUI)126is also coupled to the controller118and can provide configurability, visualization, and simulation of the waveform command of the controller118, sync input122, and sync output124, as well as other programming of the controller118. It is typically difficult to determine the shape and correspondence of a waveform output of the laser system102, such as an optical power of the laser beam104or a supply voltage to the pump source114, to a waveform command program of the controller118. With the GUI126, a waveform command program can be entered by a user in a variety of ways and the waveform command corresponding to user entry can be visualized. The GUI126is associated with a controller128that can process the waveform command and produce a simulated waveform that is predictive of one or more waveform outputs of the laser system102based on the dynamics of the components of the laser system102, such as slew rates in laser driver116and controller118, optical response times of the pump source114and laser source110, mechanical response times associated with the scanner112or movement stage108, optical aberrations or effects of lens and mirror components of the laser system102, and material dependent effects associated with the target106or laser application. In further examples, the various effects introduced by the laser system102, external controller120, and target106are modeled and the simulated waveform can be adjusted to reduce the impact of the various effects on the one or more waveform outputs. The waveform command can then be adapted to correspond to the adjusted simulated waveform to provide laser operation, such as optical power and position for the laser beam104, that is closer to a desired waveform.

FIGS. 2A-2Dare illustrations of an example waveform programming environment200operable to visualize and program waveform commands for one or more controllers and associated laser systems. The illustrated environment200includes a computing device202that can be a desktop or laptop computer, a mobile device, tablet, supervisory control and data acquisition (SCADA) unit, a logic controller and display combination, etc. The computing device202includes a processor204that is representative of various types, such as one or more CPUs, GPUs, or other logic processing device, and that can perform various data processing functions for the computing device202. A memory is206that can be volatile or non-volatile (e.g., RAM, ROM, flash, hard drive, optical disk, etc.) and fixed or removable is coupled to the processor204and can provide storage capacity for one or more computer-readable media. One or more system buses can provide a communication path between various environment components.

A plurality of input/output devices208are coupled to the processor204for various input, output, or input/output functions. For example, a display210provides a visual output for graphical elements or buttons211representing data and waveforms input by a user or processed by the processor204, and an interface through which the user can enter waveform command data. A touchscreen or keyboard212(which can also include one or more pointing devices) provides a way for the user to provide data input and to interact with the graphical elements211of the display210. In typical examples, the computing device202includes a laser system I/O214that can couple to a laser system so that waveform command programs or command lines can be transferred to the laser system or executed on the laser system with the computing device202. The laser system I/O214can also provide a source for laser system information, such as laser beam power, pump source powers, pump supply voltages, etc., that can be visualized on the display210, including in real-time. In further examples, the computing device202includes an external control I/O216that can be coupled to an external signal source such as an external controller, detectors, command buses, etc.

The computing device202also includes one or more applications218that can provide various visual elements such as windows220,222,224. Visual elements provided by the applications218can include graphical user interfaces, device outputs, real-time graphical outputs, fixed or editable spreadsheets, fixed or editable graphs, and various visual sub-elements, such as selectable menu items, data entry fields, and data display fields, by way of example. The applications218can also route data from the various inputs (including user entered data), such as the laser system I/O214and external control I/O216to various outputs, including the display210as well as the laser system and external controller. In typical examples, waveform program files can be stored in the memory206and uploaded to or retrieved from the laser system coupled to the laser system I/O214. Applications218typically include program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The waveform programming environment200can also be distributed so that applications and tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

In some embodiments, one or more of the applications218can provide the window220, as illustrated inFIG. 2B, that includes a graphical user interface228and a waveform data list230that includes a plurality of list data portions232. One or more of the list data portions232can include a menu selectable command line type234, such as a waveform ramp, step, modulation, delay, repetition, sync-in waveform low or high state, sync-out waveform low or high state, or another type. The corresponding one or more list data portion232can include one or more user selectable parameters, such as parameter fields236,238associated with the selected command line type234. A label field240can also be provided for the corresponding one or more list data portions232and can indicate a loop or goto position associated with a waveform repetition. Different waveform command programs can be stored in the memory206and accessed from a program selection menu241.

For example, a first list data portion242includes a laser beam power time-ramp command with a first parameter field having a value of 132.380 that indicates a duration for the power time-ramp command. A second parameter field has a value of 199 that indicates optical beam power value to be reached at an end of the duration specified in the first parameter field. In some examples, additional parameter fields are provided so that more complex waveform commands can be specified. A second list data portion244subsequent to the first list data portion242includes a laser beam waveform modulation command that has a modulation period of 100 ms per modulation cycle in a first parameter field and modulation duty cycle of 50% in a second parameter field. In typical examples, the modulation command will alternate between 100% and 0% laser beam power, though other beam powers and modulation shapes (such as sinusoidal, step-wise sinusoidal, etc.) are possible. In another subsequent list data portion246, a waveform repetition command provides a repetition quantity of two in a first parameter field and a command line label ‘L7’ in a second parameter field. Thus, during waveform creation based on the list data portions232, the set of list data portions232between the list data portion246and the command line indicated with the specified label are repeated for the specified number of cycles.

The same or a different application of the applications218that provides window220can provide or be linked to the window222illustrated inFIG. 2C. The window222includes a graphical visualization that can include a graph-oriented graphical user interface (GUI)248capable of generating waveforms that correspond to user inputs. In one embodiment, a user can select points on the graph-oriented GUI248, such as waveform output powers250a-250k, and the corresponding waveform shape is shown in the graph-oriented GUI248. The list data portions232and corresponding parameter fields236,238in the window220are updated by the applications218based on the powers250a-205kselected for the graph-oriented GUI248. In some examples, data values from a separate spreadsheet data file can be graphically dragged into the window222or pasted in the window222so as to provide user selected points in the graph-oriented GUI248. In some examples, as the list data portions232are entered in the window220, the corresponding waveform shape based on the raw parameter values of the list data portions232is graphically illustrated in the graph-oriented GUI248. In typical embodiments, waveform repetitions and waveform modulation features are omitted from the waveform displayed in the graph-oriented GUI248, simplifying the graphical representation.

Referring more particularly toFIG. 2D, the window224illustrates simulated waveforms254,256,258that are produced after selecting a ‘simulate’ graphical element252, such as an icon or button, situated in the window222. The illustrated simulated waveforms254,256,258can include a plurality of simulated waveform portions260that extend between initiation and termination values associated with one or more of the separate list data portions232, though some simulated waveform portions260can extend between other values, such as between middle temporal positions of adjacent list data portions232, and a plurality of simulated waveform portions260can correspond to one of the list data portions232. In some examples, the simulated waveforms254,256,258correspond to precise visual representations of the waveform data list230entered by the user in the windows220or222. Depending on the performance characteristics of the laser system that generates a waveform based on the waveform data list230, the simulated waveform254can loosely or tightly correspond with an actual laser system waveform, including laser beam output, laser system pump output, or laser driver output.FIG. 3shows an actual pump diode voltage detected during active operation of a laser system using a waveform corresponding to the waveform data list230and simulated in the window224. A waveform coupled to or output from a laser system can deviate from the user entered waveform due to one or more slew rates or response time variations associated with laser system components, such as laser system controllers, laser drivers, power supplies, scanning mirrors, etc., and the deviation can be substantial so as to affect the quality of a corresponding laser process.

A waveform deviation can also occur due to optical-related delayed response times or other optical transient effects associated with pump sources and laser sources. For example, ramping or stepping a power in a laser medium can have a delay associated with the lasing process of the laser active media including propagation delays, semiconductor recombination times, current diffusion processes, etc. One or more overshoot transients can occur based on a preceding optical waveform power or energy stored in related active media. In some examples, the simulated waveform254is adjusted based on predicted waveform deviations, and in further examples the simulated waveform254is further adjusted and the list data portions232are adjusted so that an actual waveform produced by the laser system corresponds more closely with the unadjusted shape of the desired waveform entered by the user. List data portions232associated with one or more simulated waveform portions260that precede a selected list data portion232or simulated waveform portion260can also be adjusted so as to adjust the selected list data portion or simulated waveform portion260. In some examples, additional parameters that vary with respect to time, characteristics, and operation of the laser system can also be modeled and used to adjust simulated and actual waveforms, such as pump laser diode temperature, laser diode or laser source threshold, etc.

FIG. 4depicts an example of a method400of simulating an output waveform associated with a laser system, such as a laser beam power, a pump source power, or a pump source supply current or voltage, and graphically representing the simulated output waveform. At402, a waveform visualization program is initialized. After determining the end of the program has not been reached at404, a first list data portion in a waveform data list is scanned at406for various types of waveform commands. For a time ramp command, at408, an output waveform rate is set based on a desired change in the output waveform over time and corresponding duration and target power parameters. If a rate ramp command is provided, at410, an output waveform rate is set based on a desired rate multiplied by a resolution of the simulated output waveform, with a power ramp rate and resolution parameters selected. For typical methods, the temporal resolution associated with a simulated waveform can be selected for the waveform program prior to initiation or selected waveform portions can have different resolutions so that the time required to produce the simulated waveform can be improved. For example, waveform portions that do not change or that change slowly over time may not to require a fine temporal resolution. Waveform portions with substantial power dynamics, such as on or off states, variation in sync-in or sync-out signals, waveform modulations, and changing waveform modulations, may benefit from finer resolution. Example resolutions can vary from less than or equal to 1 μs, 5 μs, 10 μs, 50 μs, 1000 μs, 1 s, 10 s, or greater. Thus, waveform shapes herein can correspond to a plurality of points at a provided resolution that correspond to the shape.

After a waveform reaches a predetermined level, such as a laser beam power, in some examples, at412, a list data portion can include a wait delay command that maintains the predetermined level for a selected duration based on a wait duration parameter. At414, one or more list data portions can provide simulated sync-in command which include various types of sync signals that depend on the external controller providing the sync-in signal and the type of laser process being implemented. In some examples, a simulated sync-in signal is set to a low state and then to a high state after a predetermined duration, such as 20 ms, or is set to a high state and then to a low state after the same or a different predetermined duration. At416, one or more list data portions correspond to a sync-out command provided by the laser system and that is set to a low or high state. In some examples, a waveform modulation command is set at418that provides an alternating waveform level based on selected frequency and duty cycle parameters and a modulation gate state. Waveform modulation can alternate between various waveform output values, including between a maximum value and a zero value or other values.

In some embodiments, one or more list data portions can provide a waveform repeat command, at420, that performs or repeats a selected set of list data portions. The repeat command can direct the waveform visualization program to go to a selected waveform command line and to iterate a repetition counter based on a selected repeat parameter value. Alternatively, the repeat command can select one or more list data portions at different positions to be repeated in a selected order. At422, a simulated waveform point is plotted in a simulated graphical representation of the waveform. Modulation gate state values can override a particular commanded state so that a low state associated with a modulation command is plotted instead of the particular commanded state, such as a ramping waveform value. At424, a sync-in point and a sync-out point are plotted so that the correspondence of the laser system waveform (or waveforms) can be visually compared with the sync-in signal and sync-out signal states. At426, a check is performed to determine whether the current waveform visualization program command is completed. After completion of the command, at428, a time state is incremented based on the selected waveform program resolution and the waveform visualization program proceeds to scan a subsequent list data portion at406. If there are no remaining list data portions, the waveform visualization program can proceed to an end state at430.

FIG. 5is a flow diagram showing a method example500of simulating a waveform. At502, a waveform data list is formed that includes a plurality of data list portions corresponding to separate waveform commands. For example, a laser device user can enter a plurality parameter values for the separate waveform commands based on a desired output beam shape or profile. An unadjusted waveform that corresponds to the waveform data list is simulated at504. At506, a graphical representation of the simulated unadjusted waveform is displayed. A model-adjusted waveform is simulated at508. The model-adjusted waveform can be simulated based on the operational dynamics of the laser system generating the waveform and the targets receiving the waveform energy.

In some examples, the model-adjusted waveform is a waveform estimation that includes response characteristics and waveform effects associated with laser system electronics, such as one or more laser drivers. Electronics response dynamics can include RLC circuit delay, amplifier slew rate, FET nonlinearity, voltage supply line dynamics, etc. In further examples, the model-adjusted waveform is a waveform estimation that includes response characteristics and waveform effects associated with laser system optical components, such as pump and laser sources or other active media, lenses, mirrors, and scanning devices. For example, a pump laser beam power or an output laser beam power response to a power command request may vary between systems, commanded power levels, or preceding laser states or associated laser commands, such as modulation or repetition rates. Laser system dynamics can include predicted waveform rise times, fall times, and overshoots, and can vary based controller gain parameters set in a laser system controller and mechanical response times, such as scan mirror and movement stage accelerations and vibrational modes. In representative examples, model-adjusted waveforms of laser beam power typically incorporate one or more electronics response effects. In particular examples, the model-adjusted waveform is plotted and graphically represented for visual comparison with the unadjusted waveform.

At510, the unadjusted waveform and the model-adjusted waveform are compared so as to determine waveform differences between them. For example, as initial or average initial time for a power rise or fall can be determined and a delay or advance assessed. Waveform rise times, fall times, overshoots, and areas can be quantified and compared. At512, the changes to the waveform data list parameters, laser system controller control parameters, or both, that reduce one or more of the waveform differences are determined. At514, an adjusted waveform is simulated that corresponds to the waveform differences that are reduced at512, and at516, an adjusted graphical representation of the simulated adjusted waveform is generated and displayed. In typical examples, one or more portions of the simulated adjusted waveform more closely match the unadjusted waveform on a selected timescale than the model-adjusted waveform. Thus, based on the modeled electronic, optical, and mechanical responses of laser system components, a laser system output can be molded or shaped to more closely match and coincide with features of a desired waveform shape, including timing, shape, and output levels. In some examples, a delay shown in a model-adjusted waveform can be measured or determined through one or more signal analysis techniques or comparisons, such as signal cross-correlation, convolution, etc. For waveforms with selected repetition rates, such as through modulated waveform portions or through repetitions of a plurality of waveform portions, some delays can correspond to a phase delay. Waveform programs can be updated based on the simulated adjusted outputs and executed by a laser system so as to produce the corrected waveform outputs.

In some examples, modeled responses can extend to physical models of specific laser-material interactions. In high power laser beam examples, given a specific cutting or welding pattern, material type and thickness, one or more laser system waveform programs or waveform program portions can be updated based on the laser-material interactions so that the adjusted waveform can produce a laser processed material with an improved quality or at a faster process rate. For example, a waveform data list can include a simple set of step commands (e.g., on/off) for laser beam output power levels and an improved weld quality may be associated with characteristic features in a more complex waveform, such as a ramped, or curved power delivery. A simulated adjusted waveform can incorporate the waveform differences associated with the laser target or laser target pattern, and a graphical representation can be displayed so as to confirm that a complex waveform will be produced by the laser system.

InFIG. 6, a waveform graph600shows an optical power waveform602that corresponds to a set of waveform command line instructions that produce an optical beam in a laser system. For a first portion604of the optical power waveform, at a time t1, an optical power changes from a zero value to P1and at a time t2the optical power changes back to the zero value. After a selected delay portion606, in a second portion608at a time t3, the optical power changes to P2that is less than P1and then at time t4the optical power returns to the zero value. In typical laser processing examples, the optical power waveform602that is desired may not produce the corresponding waveform in the laser system upon implementation, or even if produced may not produce a superior result on the laser processing target.

Waveform graph610shows an optical power waveform612that is simulated for the laser system based on modeled laser system dynamics or that corresponds to a laser beam actually produced by the laser system. A first portion614of the optical power waveform612includes a rise time tRISE1, an overshoot POVER1, and a fall time tFALL1of various durations, and a second portion616includes a rise time tRISE2, an overshoot POVER2, and a fall time tFALL2. The mismatch between the optical power waveform612and the desired optical power waveform602can result in laser processing errors, including misaligned patterns, insufficient laser energy, excessive laser energy, and sub-optimal processing.

Waveform graph618includes an adjusted optical power waveform620that is simulated or is an actual waveform output and corresponds to adjusted waveform command line instructions or controller gain parameters that can account for modeled laser system dynamics, such as the effects of laser system dynamics shown in the waveform graph604. A first portion622of the adjusted optical power waveform620includes a shorter rise time tRf-tRi(a difference between a final rise time tRfand an initial rise time tRi) than the rise time tRISE1of the first portion614and a shorter fall time tFf-tFi(a difference between a final fall time tFfand an initial fall time tFi) than the fall time tFALL1of the first portion614. Also, the initial rise time position tRioccurs before the time t1and the initial fall time position tFioccurs before the time t2, providing a closer and more temporally-centered overlap between the first portion622of the adjusted optical power waveform620and the first portion604of the desired optical power waveform602than the first portion614of the simulated optical power waveform612. Similarly, a second portion624of the adjusted optical power waveform620more closely matches the second portion608of the desired optical power waveform602.

Waveform graph626includes an adjusted optical power waveform628that includes a first portion630and a second portion632. For a particular laser-material interaction it may be advantageous for a laser process to include an initial power overshoot634that has a predetermined shape and duration which can be provided by adjusting waveform list commands and controller gain parameters associated with a modeled waveform, such as the simulated optical power waveform612. In some examples, the introduction of a significant overshoot, such as the initial power overshoot634, or another waveform shape variation may increase a waveform area above a waveform area A1(shown in waveform graph600for clarity) that may be desired based on a fluence or energy requirement of a laser process. The waveform area A2corresponding to the first portion630of the adjusted optical power waveform628can be controlled so as to match or more closely match the waveform area A1in various ways. For example, a waveform portion termination time tFcan be advanced so that the area A2of the first portion630is decreased to correspond to the waveform area A1. In some laser process examples, the initial power overshoot634may not be required or desired for different power levels or for different waveform portion durations, so that different waveform portions, such as the waveform portion632, can have different shapes.

Any of the example simulation techniques can be performed by a computing system comprising a processor and memory (e.g., volatile or nonvolatile memory storing software for implementing any of the disclosed techniques) and/or by a simulation tool implemented by one or more computing devices. Further, any of the example techniques can be implemented as computer-executable instructions stored on a computer-readable storage media (e.g., a non-transitory computer-readable storage media, such as a hard drive or solid-state drive), which when executed by a computer cause the computer to perform the techniques. Further, any of the disclosed user interfaces can be displayed on a display device (e.g., computer monitor or touch screen) of such computing systems.

The disclosed methods, apparatus, and systems should not be construed as limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone or in various combinations and subcombinations with one another. Furthermore, any features or aspects of the disclosed embodiments can be used in various combinations and subcombinations with one another. For example, one or more method acts or features from one embodiment can be used with one or more method acts or features from another embodiment and vice versa. The disclosed methods, apparatus, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved.

In view of the many possible embodiments to which the principles of the disclosed technology may be applied, it should be recognized that the illustrated embodiments are only representative examples and should not be taken as limiting the scope of the disclosure. Alternatives specifically addressed in these sections are merely exemplary and do not constitute all possible alternatives to the embodiments described herein. For instance, various components of systems described herein may be combined in function and use. We therefore claim all that comes within the scope and spirit of the appended claims.