The codes YANC and YancNemo described here are full N-body codes, i.e. not subroutines or libraries, but executables. If you want only a Poisson solver, but otherwise use your own N-body code, you may use the code falcON, on which YANC and YancNemo are based.
This package comes with absolutely no guarantee whatsoever! The unpacking, compiling, and using of the code is entirely at the risk of the user alone.
which should create the sub-directories src, inc, and lib (empty) as well as the files make.nbdy, make.util, Makefile, tree.ps, as well as this several other files.
As to the proper values of the various parameters (softening and tolerance parameter) you are strongly advised to carefully read the notes of caution and the notes on adaptive time stepping.
There is some explanation of how to use YANC when you just call the command YANC without command line arguments. YANC essentially reads all relevant input, including the phase-space position of the N bodies, from input file(s), the first is given as command line argument and further ones may be given as parameter in the input file. YANC allows regular output in ASCII format and scratch output in binary format. Either of these output files may be used to restart the simulation. Apart from this output, YANC also writes after each full blockstep, to standard output, a table containing information on the simulation time, total energy, bodies per time step, and CPU time consumption.
YancNemo comes with the usual NEMO help utility (call "YancNemo help=h") and I think there is even a man page if you install it via NEMO, though I havn't yet looked at that man page. YancNemo also reads data from a file in NEMO snapshot format, and writes outputs in regular intervals in NEMO snapshot format. Like YANC, YancNemo also writes to standard output after each full blockstep.
Note that the code does not support the notion of a test particle, i.e. a body with zero mass. Such bodies will never get any acceleration (that is because the code first computes the force, which is symmetric and hence better suited for mutual computations, and then divides by the mass to obtain the acceleration). To overcome this, you may use tiny masses, but note that the forces created by such light bodies will be computed, even if they are neglible. As already mentioned above, individual softening lengths are not properly tested yet. If you intend to use this feature, please contact me BEFORE. The 2D version of the code (not described here) does seem to be buggy. If you intend to use it, please contact me BEFORE. If you think you found a bug, please send me a bug report. Thanks.