summaryrefslogtreecommitdiffstats
path: root/academic/lammps/README.SBo
diff options
context:
space:
mode:
Diffstat (limited to 'academic/lammps/README.SBo')
-rw-r--r--academic/lammps/README.SBo211
1 files changed, 211 insertions, 0 deletions
diff --git a/academic/lammps/README.SBo b/academic/lammps/README.SBo
new file mode 100644
index 0000000000..b74f864a25
--- /dev/null
+++ b/academic/lammps/README.SBo
@@ -0,0 +1,211 @@
+Table of contents
+
+1. HOW TO DISABLE NOT REQUIRED PACKAGES
+2. INTERDEPENDENT PACKAGES
+3. EXTERNAL PACKAGES
+4. LIST OF PACKAGES AND RELATED REQUIREMENTS
+5. PACKAGES NOT AVAILABLE
+6. NOTES
+
+1. HOW TO DISABLE NOT REQUIRED PACKAGES
+
+Almost all packages that are supported by your system and dependencies
+installed (autodetected) are enabled by default. You can disable those
+not required in three different ways:
+A. edit the code of the slackbuild
+ for example, a package enabled by default has this condition:
+ atc="" [ "${ATC:-no}" = "yes" ] && atc="-DPKG_ATC=yes "
+ if you want to disable it you have to edit as following:
+ atc="" [ "${ATC:-no}" = "yes" ] && atc="-DPKG_ATC=yes "
+B. remove the variables not required from the global $packages at line
+ 221. The script will not pass the related flags to cmake)
+ for example, if you want to disable AMOEBA and ATC you have to
+ remove the strings $amoeba and $atc from packages=$amoeba$asphere...
+C. pass to the script the related environment variable as following
+ AMOEBA=no ATC=no ./lammps.SlackBuild
+
+2. INTERDEPENDENT PACKAGES
+
+ The enabling of some packages require that also other packages are
+ enabled. For example, the ATC package require also MANYBODY enabled.
+ The script or cmake check if this condition is not respected, so all
+ required additional packages will be enabled automatically
+
+3. EXTERNAL PACKAGES
+
+ Various packages are build as bundled features that interface LAMMPS
+ to third part software that it should already installed in your
+ system. These deps are released with the official Slackware (fftw
+ for example) or available in Slackbuilds.org. Some packages require
+ the download of additional sources (listed in lammps.info). Please
+ make sure to download all required extrafiles if the dependent
+ package is enable. If you do not do this, the process will fail or
+ starts the download during the compilation.
+
+4. LIST OF PACKAGES AND RELATED REQUIREMENTS
+
+ For description of each package see the documentation on line at
+ https://docs.lammps.org/Packages_list.html
+
+ Dependencies available in the official Slackware are not reported.
+-----------------------------------------------------------------------
+PACKAGE ; ENV. VARIABLE ; ENABLED ALSO ; EXTERNAL DEPENDENCIES
+-----------------------------------------------------------------------
+AMOEBA ; AMOEBA ; ;
+ASPHERE ; ASPHERE ; ;
+ATC ; ATC ; MANYBODY ;
+AWPMD ; AWPMD ; ;
+BOCS ; BOCS ; ;
+BODY ; BODY ; ;
+BPM ; BPM ; ;
+BROWNIAN ; BROWNIAN ; ;
+CG-DNA ; CGDNA ; ASPHERE \
+ MOLECULE ;
+CG-SPICA ; CGSPICA ; ;
+CLASS2 ; CLASS2 ; ;
+COLLOID ; COLLOID ; ;
+COLVARS ; COLVARS ; ;
+COMPRESS ; COMPRESS ; ;
+CORESHELL ; CORESHELL ; ;
+DIELECTRIC ; DIELECTRIC ; EXTRA-PAIR \
+ KSPACE ;
+DIFFRACTION ; DIFFRACTION ; ;
+DIPOLE ; DIPOLE ; ;
+DPD-BASIC ; DPDBASIC ; ;
+DPD-MESO ; DPDMESO ; ;
+DPD-REACT ; DPDREACT ; ;
+DPD-SMOOTH ; DPDSMOOTH ; ;
+DRUDE ; DRUDE ; ;
+EFF ; EFF ; ;
+ELECTRODE ; ELECTRODE ; KSPACE ; OpenBLAS (optional)
+EXTRA-COMPUTE ; EXTRACOMPUTE ; ;
+EXTRA-DUMP ; EXTRADUMP ; ;
+EXTRA-FIX ; EXTRAFIX ; ;
+EXTRA-MOLECULE ; EXTRAMOLECULE ; ;
+EXTRA-PAIR ; EXTRAPAIR ; ;
+FEP ; FEP ; ;
+GPU ; GPU ; ; see NOTES
+GRANULAR ; GRANULAR ; ;
+H5MD ; H5MD ; ; hdf5 (needed)
+INTEL ; INTEL ; OPENMP ; see NOTES
+INTERLAYER ; INTERLAYER ; ;
+KOKKOS ; KOKKOS ; ; see NOTES
+KSPACE ; KSPACE ; ;
+LATBOLTZ ; LATBOLTZ ; ; see NOTES
+LEPTON ; LEPTON ; ;
+MACHDYN ; MACHDYN ; ;
+MANIFOLD ; MANIFOLD ; ;
+MANYBODY ; MANYBODY ; ;
+MC ; MC ; ;
+MDI ; MDI ; ; download extrasource
+MEAM ; MEAM ; ;
+MESONT ; MESONT ; MOLECULE ; download data file
+MGPT ; MGPT ; ;
+MISC ; MISC ; ;
+ML-HDNNP ; MLHDNNP ; ; download extrasource
+ML-IAP ; MLIAP ; ML-SNAP \
+ PYTHON ; python3-numpy (needed)
+ML-PACE ; MLPACE ; ; download extrasource
+ML-POD ; MLPOD ; ;
+ML-RANN ; MLRANN ; ;
+ML-SNAP ; MLSNAP ; ;
+MOFFF ; MOFFF ; ;
+MOLECULE ; MOLECULE ; ;
+NETCDF ; NETCDF ; ; netcdf
+OPENMP ; OPENMP ; ; openmpi (needed) \
+ (mpich not supported)
+OPT ; OPT ; ;
+ORIENT ; ORIENT ; ;
+PERI ; PERI ; ;
+PHONON ; PHONON ; KSPACE ;
+PLUMED ; PLUMED ; ; PLUMED
+POEMS ; POEMS ; ;
+PTM ; PTM ; ;
+PYTHON ; PYTHON ; ;
+QEQ ; QEQ ; ;
+QTB ; QTB ; ;
+REACTION ; REACTION ; ;
+REAXFF ; REAXFF ; ;
+REPLICA ; REPLICA ; ;
+RIGID ; RIGID ; ;
+SCAFACOS ; SCAFACOS ; ; scafacos
+SHOCK ; SHOCK ; ;
+SMTBQ ; SMTBQ ; ;
+SPH ; SPH ; ;
+SPIN ; SPIN ; ;
+SRD ; SRD ; ;
+TALLY ; TALLY ; ;
+UEF ; UEF ; ;
+YAFF ; YAFF ; ;
+-----------------------------------------------------------------------
+
+5. PACKAGES NOT AVAILABLE
+
+Some packages, available in the source, are not supported in this
+slackbuild for various reasons. These are:
+- ADIOS: requires a library not available in Slackware or SBo.
+- KIM: requires the download of extrasource during the compilation
+ which cannot be prevented by a predownload.
+- ML-QUIP: the version for non-commercial uses can be downloaded only
+ during the compilation. A preventive download is allowed
+ only via git.
+- MOLFILE: this package supports the VMD plugin that is must be built
+ and installed only by sources or packages downloaded after
+ registration
+- MPIIO: this packages is unmantained and it should be enabled with
+ caution
+- MSCG: requires the download of extrasource during the compilation or
+ the installation in the system. This library is free and open
+ source but the anonymous download is not permitted.
+- QMMM: requires a library that can be built and installed from source
+ downloaded after registration
+- VORONOI: since the required dependency available in this repository
+ can be build as static library, this package is not compatible
+ when lammps is built enabling shared libraries, so support to
+ it is disabled
+- VTK: not available at the moment because the build fails. It is
+ possible that this is caused by the VTK built in my system: the
+ issue is a conflict with the support of VTK to openmpi in my
+ built. I have to make some tests to find the problem.
+
+6. NOTES
+
+The GPU package supports OpenCL, CUDA and HIP by setting the
+appropriate build configuration. See the documentation on line if you
+would extend the functionality of LAMMPS adapted to you hardware. This
+slackbuild sets a basic configuration build the package with OpenCL.
+LAMMPS can be build linking the system OpenCL or using a static
+internal OpenCL loader. To enable the build with the internal OpenCL
+you have to download the extrasource from the link indicated in
+lammps.info and pass the variable STATIC_OCL=yes to the slackbuild.
+The enabling of this package gives different results depending on the
+hardware/software configurations, so it is disabled by default because
+we have to apply additional settings to prevent the issues (build
+failures and segmentation faults). With a basic configuration I enabled
+it in a Slackware current with a an old Nvidia GPU and driver and
+using the system OpenCL (the bundled OpenCL gives segmentation fault).
+In other tests (Slackware 15 with older Nvidia GPU and driver,
+Slackware 32-bit in virtual machine) the build not works. You could
+passing GPU=yes (and eventually STATIC_OCL=yes) to the slackbuild to
+try if it works in your system with a basic configuration, but it is no
+guaranteed.
+
+The INTEL package takes advantage in build and runtime of an advanced
+configuration using Intel compilers and hardware it should work also
+with other with reduced performances. If detected, the build takes
+advantage of the parallelism (MPI and tbb, for example).
+
+KOKKOS is another package that enhances the functionality of LAMMPS
+taking advandage of the parallel computation. Since its build requires
+resources and a build with a single core seems very long, I set the
+enabling by default only for 64-bit architectures because I do not know
+how it can be useful in 32-bit systems.
+
+The LATBOLTZ package must be enabled only if LAMMPS is built with the
+support to MPI (openmpi or mpich). The script allows the enabling of
+LATBOLTZ if one of these dependencies are found in the system.
+
+By default, LAMMPS will be built with Python anyway, even if packages
+that require it will not be enabled. If you want disable the support
+to Python, you have to launch the slackbuild with
+ PYTHON=no ./lammps.SlackBuild