-
Notifications
You must be signed in to change notification settings - Fork 2
sandialabs/implicit-sph
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Introduction ============ Trilinos Configuration ====================== 1. Clone the Trilinos repository from github. ``` git clone https://github.com/trilinos/Trilinos.git your-implicit-sph-directory ``` 2. Cutomize the build script ``run-conf-implicit-sph.sh``. We use Epetra (mpi only) solver stack in the Trilinos packages. Major packages are - Epetra : distributed linear algebra data structure - Teuchos : utilities providing blas lapck wrappers and reference count pointers - Ifpack : incomplete factorization preconditioners - Belos : Krylov solvers e.g., GMRES, CG and their algorithm variants - ML : multi grid preconditioner - NOX : nonlinear solver - Stratimikos : XML based solver harnessing tool - Thyra and Teko : block matrix interface - Zoltan : a collection of graph partitioners ``` cmake \ -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ -D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \ -D Trilinos_ENABLE_Fortran:BOOL=OFF \ -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \ -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \ -D Trilinos_ENABLE_TESTS:BOOL=ON \ -D Trilinos_ENABLE_EXAMPLES:BOOL=ON \ -D Trilinos_ENABLE_Teuchos:BOOL=ON \ -D Trilinos_ENABLE_Epetra:BOOL=ON \ -D Epetra_ENABLE_TESTS:BOOL=ON \ -D Trilinos_ENABLE_EpetraExt:BOOL=ON \ -D Trilinos_ENABLE_Ifpack:BOOL=ON \ -D Trilinos_ENABLE_Belos:BOOL=ON \ -D Trilinos_ENABLE_ML:BOOL=ON \ -D Trilinos_ENABLE_NOX:BOOL=ON \ -D NOX_ENABLE_TESTS:BOOL=ON \ -D Trilinos_ENABLE_Stratimikos:BOOL=ON \ -D Stratimikos_ENABLE_TEUCHOS_TIME_MONITOR:BOOL=ON \ -D Trilinos_ENABLE_Thyra:BOOL=ON \ -D Trilinos_ENABLE_Teko:BOOL=ON \ -D Trilinos_ENABLE_Zoltan:BOOL=ON \ -D TPL_ENABLE_MPI:BOOL=ON \ -D TPL_ENABLE_BLAS:STRING=ON \ -D TPL_BLAS_LIBRARIES="-L/usr/lib64 -lblas -llapack -lgfortran" \ \ -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \ \ -D CMAKE_INSTALL_PREFIX:PATH=/your/trilinos/install/directory \ -D CMAKE_BUILD_TYPE:STRING=RELEASE \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ -D CMAKE_CXX_FLAGS:STRING="-g -O3" \ -D BUILD_SHARED_LIBS:BOOL=OFF \ \ /your/trilinos/source/directory ``` 3. Create a build directory (must be separated from the source directory) and build library ``` cd your-build-directory . /your/implicit-sph/directory/run-conf-implicit-sph.sh make -j8 install ``` 4. Testing ``` cd your-build-directory ctest -j8 ``` If ctest reports no failure, we just finished the most difficult part of this code. LAMMPS and ISPH Configuration ============================= 1. Users can clone LAMMPS or download a tar ball ``` git clone git://git.lammps.org/lammps-ro.git your-lammps-directory ``` HELP NEEDED. I do not how to work two git repository together. At this moment, let's use a tar ball version from (http://lammps.sandia.gov/download.html) and install isph code in the ``src`` directory. 2. Copy Makefile.machine to MAKE/Machines directory. For example, my Makefile.bread has the following modifications: ``` # Include the Trilinos export makefiles from needed packages TRILINOS_INSTALL_DIR = $(HOME)/Work/lib/trilinos/implicit-sph/sems include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.Amesos include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.AztecOO include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.Belos include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.Epetra include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.Ifpack include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.Kokkos include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.ML include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.NOX include $(TRILINOS_INSTALL_DIR)/include/Makefile.export.Teuchos # Add the Trilinos installation directory to the search paths # for libraries and headers LIB_PATH = $(TRILINOS_INSTALL_DIR)/lib INCLUDES = -I. -I$(TRILINOS_INSTALL_DIR)/include \ $(Teuchos_TPL_INCLUDE_DIRS) \ $(Ifpack_TPL_INCLUDE_DIRS) # Add the Trilinos libraries, search path, and rpath to the # linker command line arguments LIBS = $(Epetra_SHARED_LIB_RPATH_COMMAND) \ $(Amesos_LIBRARIES) \ $(AztecOO_LIBRARIES) \ $(Belos_LIBRARIES) \ $(Epetra_LIBRARIES) \ $(Ifpack_LIBRARIES) \ $(Kokkos_LIBRARIES) \ $(ML_LIBRARIES) \ $(NOX_LIBRARIES) \ $(Teuchos_LIBRARIES) \ $(Pamgen_LIBRARIES) \ $(Ifpack_TPL_LIBRARIES) \ $(ML_TPL_LIBRARIES) \ $(Epetra_TPL_LIBRARIES) \ $(Epetra_EXTRA_LD_FLAGS) ``` You can also see there are some other packages that we do not explicitly turn on. They are dependent packages and it requires to include all. 3. make yes-implicit-sph; make machine -j8 Compile and Test ================
About
Implicit SPH code using LAMMPS and Trilinos
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published