Previous Working with 3D arrays Home ▸ Documentation ▸ Smile ▸ Computing ▸ Smile's maths ▸ Working with 3D arrays
 Smile handles scalar fields and vectorial fields defined in a 3D domain. Since such kind of data may use much memory, you define your 3D data once for all and then you address them by reference: you do not make copies like when working with non-3D data. open3D makes a new 3D array (a scalar field or a vectorial field). open3D returns a reference to the newly created array, which is of the type Array3DRef. This is the unique identifier of the array. Alternately, you can name the array and then refer to it by its name (a string). close3D deletes a 3D array and releases the associated RAM allocation. Do dispose of the 3D arrays that you do not need any longer. list3D returns the list of all the 3D arrays defined so far which were not released yet. Use list3D release the 3D arrays which are currently allocated. list3D as string returns the list of the names of those 3D arrays. rename3D renames a 3D array. info3D returns the information about a 3D array: its name, its sizes, the data dimensionality (scalar or vectorial), its minimum and maximum values, and the x, y, and z scales of the domain where it is defined. contents3D returns the data contained in a 3D array as one array of real. extract3D extracts data from a 3D array. Use this command, for instance, to get a 2D cross-section of 3D data. isosurface computes an isosurface of 3D data. The command returns as an array of real the triangles list which describes the surface. streamline computes the streamline of a vectorial field defined in a 3D domain. The command returns as an array of real the list of the coordinates of the line: {x1, y1, z1 ... xn, yn, zn}.