Hardware, Software and Memory Requirements
Wave3000® is designed to run on any PC that has the Windows 2000, XP or Vista operating systems installed. Minimum hardware requirements are extremely modest (for example 15 megabytes free hard disk space and 128 megabytes memory), although we recommend 1 GB or more memory for handling the larger simulation models. (Detailed information on memory requirements can be found in the 'Algorithm' topic of the Wave3000® User Guide Section of the Help file.) Minimum graphics requirements are 256 color VGA and a compatible mouse, but of course most systems will have hardware characteristics much higher than these minimums. As noted, Wave3000® operates best with as much RAM memory as possible, which allows problems of increasingly larger size to be accommodated and avoids the need for virtual (disk) memory to be used. Note also that Wave3000® supports multiprocessor systems, that allows the program to potentially speed-up the execution of the program. This is most effective for "large" objects; experimentation by the user will determine when multiprocessors can lead to faster execution times. The multiprocessors can be either actual multiproccessor systems, or multicore processors, or both.
Wave3000® is a "memory-hungry" program; this is simply the
nature of the wave propagation problem which is being simulated. To aid the user in assessing the memory requirements for a particular simulation model, we can provide the following approximate relationships.
Because of the general nature of the 3D object, the memory requirements must be computed based on the 3D dimensions. The simplest approach for approximating memory needed is to multiply the number of finite difference grid voxels, say N, by 42; this is the amount of memory required in bytes (plus some additional "fixed" program overhead which can usually be neglected in comparison to the 42 x N quantity). As an example, if an object is 2 cm x 3 cm x 4 cm and the voxel resolution ("Voxels/mm") is 10 voxels/mm, the number of voxels in this image will be 200 x 300 x 400 = 24,000,000 voxels. Now if we assume that the finite difference grid elements generated by Wave3000 are coincident with the number of image voxels (i.e., Grid/Voxle = 1), then the memory required is 42 x N = 42 x 24,000,000 = 960 megabytes.
Another perspective on memory requirements can be gained by determining the memory needed as a function of object size in terms of wavelengths. In the example above, it was assumed that the grid size was coincident with object voxel size, i.e., both were 0.1 mm (10 voxels/mm). For the case of a problem in which the minimum wavelength is about 1 mm, this 0.1 mm size for the finite difference grid element should provide a reasonably accurate solution. We may extend this reasoning for a more generic assessment of memory requirements as follows. Assuming that we would like to have a grid voxel element dimension 10 times less than the minimum wavelength, then that implies that 1,000 x 42 = 42,000 bytes for a cubic object 1 wavelength on a side. If one has a cubic object which is 3 wavelengths on a side, then using the same relative grid dimensions, Wave3000 would require about 1.1 MB of memory. One may also extend this approximation to any number of (minimum) wavelengths to evaluate memory requirements. Assuming a cuboid object Q wavelengths by R wavelengths by S wavelengths in overall dimensions, and again assuming 10 grid elements per wavelength, then the memory required for this model is approximately 42 x 10,000 x Q x R x S = 42 x Q x R x S kilobytes. It is useful to also point out that the minimum wavelength is inversely proportional to the frequency of the source waveform. Therefore, if a simulation with a 1 MHz source waveform requires 1 megabyte of memory, then changing to a source waveform operating at 2 MHz will generally require eight times as much memory, or in this case 8 megabytes, to be used. (This assumes of course that the same size object is used in both cases.) Thus the user may want to carry out as many of his or her simulations as possible with relatively low frequency sources, in order to reduce computational overhead.
It is important to point out that there may be instances where the original object geometry has structural features (voxel sizes) smaller than a grid size based on wavelength considerations alone; in this case the user may need to manually reduce the grid size in order to maintain the structural details present in the original image. If this is done, the memory requirements will be larger than the calculations made in the above paragraph, and the user should use the first expression, namely 42 x N, to evaluate the memory needed.
Back to the top
Wave Equation
The specific visco-elastic wave equation that is simulated in a Wave3000® simulation is given by:
rho {d^2 w / dt^2} = (mu + eta d/dt) del^2 w +
(lambda + mu + phi d/dt + 1/3 eta d/dt) grad (del dot w)
In the above equations, which applies in an isotropic viscoelastic region,
rho = material density [kg/m^3],
lambda = first Lame constant [N/m^2],
mu = second Lame constant [N/m^2],
eta = shear viscosity [N-s/m^2],
phi = bulk viscosity [N-s/m^2],
d denotes the partial differential operator,
t = time [s],
and
w is the displacement vector [wx, wy, wz] -- the components of the displacement vector in the x, y, and z directions, respectively. Note that w is a function of (x, y, z, t).
Wave3000 solves the above equation at each grid point of the object, and computes (and displays) the magnitude of the displacement vector at each such point at each time step of the simulation.
Wave3000 does not implement "ray-tracing" or other
"non-general" methods in simulating ultrasound measurements. Rather, it is a comprehensive
engineering software package designed to compute the full and accurate solution to
practically any 3D ultrasonic problem. Wave3000 simulates
data that you would measure on the lab bench or in the field. In addition, it has an easy
to use graphical user interface allowing you to begin simulating complex ultrasound problems
in a matter of minutes after installing your Wave3000® software.
Back to the top
Features in Wave3000:
- Batch processing (making "unattended simulations" possible)
- Multiprocessor capability (making large-scale simulations less time consuming)
- Ability to define phased source and receiver arrays.
- User selectable transducer apodizations, including Hamming, Hanning and Gaussian weighting functions (among others).
- Infinite (absorbing) boundary conditions, allowing the simulation of "infinite media."
- Extensive material libraries, including a wide range of solids and liquids.
- Wave simulation "playback" including "single stepping" through simulation.
- "Data Export" facility, making saving of simulation measurements even easier.
- Ability to define sources with "void" backings, making it easier to simulate sources located within an object.
- Descriptive error and information messages
For additional information, you may want to review several of our
Wave3000 Examples. In addition you can download the program and obtain a free time-limited license for program evaluation by registering with us and logging in. Information on
pricing is also available. Please Contact Us to discuss your intended application(s) or for any other additional information you would like to have on Wave3000.
Back to the top
Home
| Who We Are
| R & D Activities
Wave2000
| Wave2500
| Wave3000
| FEMdesigner
| Bibliography
| Contact Us
(c)1997-2008 CyberLogic, inc. All Rights
Reserved