Selecting particles ******************* List of selection functions --------------------------- **pNbody** provides several fonction to select particles: =============== ================================= function name description =============== ================================= selectc select particles from a condition selecti select particles from their index selectp select particles from their id sub select particles from their index reduc select a fraction of particles =============== ================================= Examples -------- To run the examples of this section, you must first move to the ``~/pNbody_examples`` directory. If the latter does not exists, you can first create it with:: pNbody-examples-copy and move inside the created directory. Open a file containing particles and display it :: >>> from pNbody import Nbody >>> import numpy as np >>> nb = Nbody("disk.dat",ftype='gadget') >>> nb.cmcenter() >>> nb.display(size=(100,100)) Select particles with a positive x coordinate :: >>> nb = nb.selectc(nb.x()>0) >>> nb.display(size=(100,100)) Select the first half of the particles, from their indices :: >>> indices = np.arange(nb.nbody/2,dtype=int) >>> nb = nb.selecti(indices) >>> nb.display(size=(100,100)) Select particles based on their IDs :: >>> nb = nb.selectp(lst=[161,171,191,201,211,221,241,261,301]) >>> print(nb.num) Select a fraction of particles, reduce the number of particles by a factor 8, keeping 1 particles very 8 :: >>> nb = Nbody("disk.dat",ftype='gadget') >>> nb.cmcenter() >>> nb.display(size=(100,100)) >>> nb = nb.reduc(8) >>> nb.display(size=(100,100)) Select a subset of particles with indices from 8 to 16 :: >>> nb = nb.sub(8,16)