yt.frontends.artio.data_structures.ARTIORootMeshSubset.smooth

ARTIORootMeshSubset.smooth(positions, fields=None, index_fields=None, method=None, create_octree=False, nneighbors=64)

Operate on the mesh, in a particle-against-mesh fashion, with non-local input.

This uses the octree indexing system to call a “smoothing” operation (defined in yt/geometry/particle_smooth.pyx) that can take input from several (non-local) particles and construct some value on the mesh. The canonical example is to conduct a smoothing kernel operation on the mesh.

Parameters:

positions : array_like (Nx3)

The positions of all of the particles to be examined. A new indexed octree will be constructed on these particles.

fields : list of arrays

All the necessary fields for computing the particle operation. For instance, this might include mass, velocity, etc.

index_fields : list of arrays

All of the fields defined on the mesh that may be used as input to the operation.

method : string

This is the “method name” which will be looked up in the particle_smooth namespace as methodname_smooth. Current methods include volume_weighted, nearest, idw, nth_neighbor, and density.

create_octree : bool

Should we construct a new octree for indexing the particles? In cases where we are applying an operation on a subset of the particles used to construct the mesh octree, this will ensure that we are able to find and identify all relevant particles.

nneighbors : int, default 64

The number of neighbors to examine during the process.

Returns:

List of fortran-ordered, mesh-like arrays. :