k-Wave Toolbox |

# kspaceFirstOrder3DC

3D time-domain simulation of wave propagation using C++ code

## Syntax

See `kspaceFirstOrder3D`.

## Description

`kspaceFirstOrder3DC` provides an blind interface to the C++ version of `kspaceFirstOrder3D` (called `kspaceFirstOrder3D-OMP`). The function works by appending the optional input `'SaveToDisk'` to the user inputs and then calling `kspaceFirstOrder3D` to save the input files to disk. The contents of `sensor.record` (if set) are parsed as input flags, and the C++ code is run using the `system` command. The output files are then automatically loaded from disk and returned in the same fashion as `kspaceFirstOrder3D`. The input and output files are saved to the temporary directory native to the operating system, and are deleted after the function runs.

This function requires the C++ binary/executable of `kspaceFirstOrder3D-OMP` to be downloaded from www.k-wave.org/download.php and placed in the "binaries" directory of the k-Wave toolbox.

Note, not all input options are currently supported, and all display options are ignored (only command line outputs are given). See the k-Wave user manual for more information.

This function is not recommended for large simulations, as the input variables will reside twice in main memory (once in MATLAB, and once in C++). For large simulations, the C++ code should be called outside of MATLAB. Again, see the k-Wave manual for more information.

© 2009-2012 Bradley Treeby and Ben Cox.