114. lib.misc_e — Python equivalents of the functions in lib.misc_c¶
The functions in this module should be exact emulations of the external functions in the compiled library.
114.1. Functions defined in module lib.misc_e¶
- lib.misc_e.coordsfuse(x, val, flag, sel, tol)[source]¶
- Fusing nodes. - This is a low level function performing the internal loop of the fuse operation. It is not intended to be called by the user. 
- lib.misc_e.nodalsum(val, elems, nnod)[source]¶
- Compute the nodal sum of values defined on elements. - Parameters: - val : float (nelems,nplex,nval): nval values at nplex nodes of nelems elements. 
- elems : int (nelems,nplex): node indices of the elements. 
- nnod : int: the number of nodes. Should be higher than the maxnod, the highest node number in elems. If negative, will be set to maxnod+1. 
 - Returns a tuple of two arrays: - sum: float: (nnod, nval): sum of all the values at same node 
- cnt: int: (nnod): number of values summed at each node 
 
- lib.misc_e.isoline(data, level)[source]¶
- Create an isoline through data at given level. - data: (nx,ny) shaped array of data values at points with coordinates equal to their indices. This defines a 2D area [0,nx-1], [0,ny-1], 
- level: data value at which the isoline is to be constructed 
 - Returns an (nseg,2,2) array defining the segments of the isoline. The result may be empty (if level is outside the data range). 
- lib.misc_e.vertexinterp(level, p1, p2, val1, val2)[source]¶
- Interpolate between cube vertices - Linearly interpolate the position where an isosurface cuts an edge between two vertices, each with their own scalar value - p1,p2 are (3,) arrays, marking the cubes opposite corners (0 and 6) v1,v2 are values at these points level is the level value of the surface 
- lib.misc_e.isosurface(data, level, tet=False)[source]¶
- Create an isosurface through data at given level. - Parameters:
- data (array_like) – An (nx,ny,nz) shaped array of data values at points with coordinates equal to their indices. This defines a 3D volume [0,nx-1], [0,ny-1], [0,nz-1] 
- level (float) – Data value at which the isosurface is to be constructed. 
 
- Returns:
- array – An (ntr,3,3) array defining the triangles of the isosurface. The result is empty if level is outside the data range. 
 - See also - plugins.isosurface.isosurface()
- a faster parallel version 
 - Notes - This function was inspired by the example by Paul Bourke on http://paulbourke.net/geometry/polygonise/. - Normally this function is invoked from the higer level function - plugins.isosurface.isosurface(), which allows multiprocessing to further speed up the process.
 
  