To install SDA, first unpack and decompress the distribution package:

tar xvzf sda-7.2.0.tgz

In the root directory of the distribution package (sda_flex/) the following directories and files can be found:

auxi/ Auxiliary programs for sda (shell, python script, clust and fortran programs from SDA 6)
bin/ Default directory for the executables
doc/ HTML documentation (for developers: generate the doxygen documentation of the code by executing doxygen Doxyfile_sdaflex)
examples/ Directory containing the example calculations and the tutorial
lib/ Library for sda_flex and tools contained in bin/
src/ Source code
Doxyfile_sdaflex Input file for doxygen - for generating the technical documentation
README Short guidance for compilation and introduction to the examples included with the software

The directories lib/, bin/ are empty after the download.
We do not provide default executables for SDA 7.


To compile the SDA executable (sda_flex), the library ( and the tools go to the src/ directory

Edit the Makefile and adapt these parameters to your needs:

Next, clean the object files (recommended):

Compile and install to bin/ or bin_arch2/:

Known issues for compilation:

A separate C++ program for clustering is provided with the software release.
We provide this executable in sda_flex/auxi/clust, to compile this call make clust in the src directory. and the documentation at sda_flex/auxi/clustering/doc

We have recently implemented some regression tests. To execute them, go to examples/run_tests/ and run:

It will loop through unit-test/ subdirectories of the examples and run the executable test_force_energy2.

This executable reads complete sda input files (always sda_energy calculations) and compares the results of forces and energies calculations by all implemented methods. An error is generated if some differences between the methods are found.
Optionaly it is possible to activate valgrind (a memory check tool) in, for testing the correct initialisation / destruction of objects (applicable mainly with gfortran, and if OpenMP is activated a single error is reported).

Note than all grids and effective charges of the examples are needed and should be already present in the data_grid/ directory. You need to run at least once the shell script present in the prepare_ecm_grids/ directories

There are two sources of documentation:

If for particular applications, e.g. to very large systems, you wish to make SDA calculate solvent accessible surface areas faster (details here), you may obtain NACCESS and place its subroutines solva() and sortag() in the src/ directory instead of the existing file solva.f and recompile SDA.
Note that in SDA7, it is possible to write to disk the results of solva(), so that it is only necessary to compute them once. Then, they can be read by the other programs.

[Back to Main documetation]