Development of ultrasound nondestructive evaluation techniques (NDT) has involved a combination of both analytic and experimental methods. In contrast, relatively little work has been done on the use of computational methods for experimental design and analysis in NDT. This is due to the relative lack of availability of software for such computations. While computational methods and associated software implementations abound in the electromagnetic and structural analysis engineering communities, no such paradigm exists for ultrasound researchers and engineers. This paper demonstrates a software package, Wave2000, which computes the full solution to the 2D viscoelastic wave equation. 2D objects are represented by graphical images and are comprised of a number of solids and/or liquids. Each material is specified in terms of its material density, the first and second Lame constants, and the first and second viscosities. The program computers the displacement vector was a function of Cartesian coordinates x and y and of time t, and the solution includes effects of diffraction, scattering, reflection, and attenuation of the propagating wave. Wave2000 implements a finite difference solution on a standard personal computer running Microsoft Windows 95 or NT. Sources and receivers may be located anywhere in or on the surface of the object. The source waveform can be practically any temporal function desired, including data collected from an actual transducer, and the receiver data can be sorted in a data file for subsequent processing. Several examples of the use of Wave2000 are given, including simulations of scattering from cracks and propagation through layers of materials and fluid-filled porous structures. Results demonstrate that computational methods can play an important can play an important role in NDT specifically and in ultrasonics in general.