Build CPL library as a shared libcpl and sources all python bindings
1.1K
www.cpl-library.org
CPL Library is a communications and topology management system for coupling any continuum fluid dynamics (CFD) solver to any molecular dynamics (MD) code written in either Python, C, C++ or Fortran. For more details about the philosophy, range of validity and aims of this software, please see the wikki page and our dedicated website www.cpl-library.org A demonstration of CPL Library's capability is included in the "demo" folder. Inside the demo, "dummy" MD and CFD programs are coupled via CPL Library and exchange data on a virtual topology. The user is encouraged to examine the source code of these programs, which are an easy-to-understand example of how to couple other programs with CPL Library.
CPL Library was developed and tested using the GCC compiler collection and MPICH, which are both free and open-source. OpenMPI is not currently supported. For modern versions of linux this should not be a problem and the system GCC will be new enough to support C++11. The repository version of MPICH is usually fine to use, although be careful that existing MPI installations (usually OpenMPI by default) are not used instead or mixed in. Alternativly, to ensure compatibility you can build MPICH yourself. Be careful to ensure use the same version of GCC and MPI for all coupled codes.
Compiling CPL Library with GCC, as a shared library, is likely to work with the makefile provided in the top level directory:
$ cd /PATH/TO/cpl-library
$ make PLATFORM=gcc
Which uses data in make/gcc.inc to build the library. If this doesn't work, the compilers and flags may need to be specified manually. The makefiles provided with CPL Library import flags and variables are in the make/[platform].inc, where the variable [platform] is specified by the file make PLATFORM=somename. A number of template are provided in make (intel, gcc), and the file make/PLATFORM contains the string of the previous build to use by default. The GCC template is likely to work for most machines, but the user may create their own version. For example, to create make/user-include.inc:
$ cd ./make
$ cp gcc.inc user-include.inc
$ vi user-include.inc (make any necessary changes)
$ cd ../
$ make PLATFORM=user-include
Please see:
www.cpl-library.org/user-guide/quick-start.shtml
CPL Library is released under the GNU GPL v3 license. Details are found in the file LICENSE that is included with the release.
The directory structure of CPL library is broadly as follows:
On the top level is a
A range of folders are created by the build process
In order to run a coupled OpenFOAM and LAMMPS case, the applications (APP) repositories are required along with each of these codes. The APP repositories are stored at:
Content type
Image
Digest
sha256:c82076c0f…
Size
466.6 MB
Last updated
almost 3 years ago
docker pull cpllibrary/cpl-library