forked from lijiext/lammps
6bcc263b41
Fixes segfaults caused by API change. The API change in lammps_open and lammps_open_no_mpi makes them return the LAMMPS pointer via their return value. However due to how ctypes operates, even if restype is specified to be c_void_p, the function returns an integer. Without the proper type of the pointer, calling functions without arglists would default to using 32bit integers to pass an argument, which cuts away parts of the 64bit pointer. Subsequently, resolving the truncated pointer in the library causes segfaults. This commit fixes the root cause. But it also highlights the need of specifying the arglists of all library functions. |
||
---|---|---|
.github | ||
bench | ||
cmake | ||
doc | ||
examples | ||
lib | ||
potentials | ||
python | ||
src | ||
tools | ||
unittest | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README |
README
This is the LAMMPS software package. LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel Simulator. Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. ---------------------------------------------------------------------- LAMMPS is a classical molecular dynamics simulation code designed to run efficiently on parallel computers. It was developed at Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely under the terms of the GNU Public License (GPL). The primary author of the code is Steve Plimpton, who can be emailed at sjplimp@sandia.gov. The LAMMPS WWW Site at lammps.sandia.gov has more information about the code and its uses. The LAMMPS distribution includes the following files and directories: README this file LICENSE the GNU General Public License (GPL) bench benchmark problems cmake CMake build system doc documentation examples simple test problems lib libraries LAMMPS can be linked with potentials interatomic potential files python Python wrapper on LAMMPS as a library src source files tools pre- and post-processing tools Point your browser at any of these files to get started: http://lammps.sandia.gov/doc/Manual.html the LAMMPS manual http://lammps.sandia.gov/doc/Intro.html hi-level introduction http://lammps.sandia.gov/doc/Build.html how to build LAMMPS http://lammps.sandia.gov/doc/Run_head.html how to run LAMMPS http://lammps.sandia.gov/doc/Developer.pdf LAMMPS developer guide You can also create these doc pages locally: % cd doc % make html # creates HTML pages in doc/html % make pdf # creates Manual.pdf and Developer.pdf