The code falcON described here is not a N-body code, but merely a package for computing the accelerations, which can be used as Poisson solver in your existing N-body code. If you want a N-body code, you may use the code YANC and its NEMO version, YancNemo, which are based on falcON and also contained in this package.
As to the proper values of the various parameters (softening and tolerance parameter) you are strongly advised to carefully read the notes of caution .
#include <falcON.h>
somewhere at the beginning of your C++ source code. Make sure
that the compiler finds the file falcON.h by
including "-I FALCON/inc" among your compiler
options. The usage of the code in your application is explained
in gory detail in the file
falcON.h.
In order to make an executable you also need to add the
appropriate linker option for the library. These are "-L
FALCON/lib -lfalcON -lm" for the 3D version and "-L
FALCON/lib -lfalcON2D -lm" for the 2D version. Of course,
you only need to make the library you actually want to use. For
examples of code using falcON.h, see the files
src/C++/TestGrav.cc and
src/C++/TestPair.cc, which may be compiled by typing
"make TestGrav" and "make TestPair" and
produce a short summary of their usage when run without
arguments.
#include <falcON_C.h>
somewhere at the beginning of your C source code. Make sure
that the compiler finds the file falcON_C.h by
including "-I FALCON/inc" among your compiler
options. The usage of the code in your application is explained
in gory detail in the file
falcON_C.h.
In order to make an executable you also need to add the
appropriate linker option for the library. These are "-L
FALCON/lib -lfalcON -lstdc++ -lm" for the 3D version and
"-L FALCON/lib -lfalcON2D -lstdc++ -lm" for the 2D
version. Of course, you only need to make the library you
actually want to use. For examples of code using
falcON_C.h, see the files
src/C++/TestGravC.cc and
src/C++/TestPairC.cc, which may be compiled by typing
"make TestGravC" and "make TestPairC" and
produce a short summary of their usage when run without
arguments.
INCLUDE 'falcON.f'
somewhere at the beginning of your FORTRAN program. Make sure
that the compiler finds the file falcON.f by
including "-I FALCON/inc" among your compiler
options. The usage of the code in your application is explained
in gory detail in the file
falcON.f.
In order to make an executable you also need to add the
appropriate linker option for the library. These are "-L
FALCON/lib -lfalcON -lstdc++ -lm" for the 3D version and
"-L FALCON/lib -lfalcON2D -lstdc++ -lm" for the 2D
version. Of course, you only need to make the library you
actually want to use. For examples of code using
falcON.f, see the files
src/C++/TestGravF.cc and
src/C++/TestPairF.cc, which may be compiled by typing
"make TestGravF" and "make TestPairF". Just
run these code, they are self-explanatory and provide some
statistics output. You may also use the input files given
and run them as "TestGravF < treeF.in" and
"TestPairF < pairF.in".
NOTE THAT FOR REASONS I DONT UNDERSTAND THE FORCE SUM DOES NOT
VANISH IN THE FORTRAN VERSION OF TESTGRAV, EVEN THOUGH THE
INDIVIDUAL FORCES ARE IDENTICAL TO THOSE OF THE C AND C++
VERSION, FOR WHICH THE FORCE SUM DOES VANISH (WITHIN FLOATING
POINT ACCURACY). Any help with this question is most welcome
(something to do with C <-> FORTRAN data transfer ???).