Skip to content

Commit

Permalink
Compiled and tested dealii development version with gcc compiler. For…
Browse files Browse the repository at this point in the history
… compiling with new version use the CMakeListsFluxGCC.txt.
  • Loading branch information
dsambit committed Jan 25, 2018
1 parent 5236f9a commit 4a59ec0
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 13 deletions.
36 changes: 23 additions & 13 deletions helpers/CMakeListsFluxGCC.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
##Note: Set ALGLIB, LIBXC, PETSC and SLEPC paths below.

##set ALGLIB paths
SET(ALGLIB_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/alglibgcc/cpp/src/") #path to interpolation.h
SET(ALGLIB_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/alglibgcc/cpp/src/libAlglib.so") #path to libAlglib.so

##set ALGLIB paths
SET(ALGLIB_INCLUDE "/nfs/mcfs_comp/home/rudraa/software/alglib/cpp/src/") #path to interpolation.h
SET(ALGLIB_LIB "/nfs/mcfs_comp/home/rudraa/software/alglib/cpp/src/libAlglib.so") #path to libAlglib.so
##Note: On some platforms, you may have to set DYLD_LIBRARY_PATH(OSX)/LD_LIBRARY_PATH to include path ALGLIB_LIB. For example:
##export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/Algib/.so/file

Expand All @@ -19,17 +21,23 @@ SET(PETSC_REAL_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/petsc/gcc_
SET(PETSC_REAL_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/petsc/gcc_petsc3.8.3/lib/libpetsc.so")

##set SLEPc Real paths
SET(SLEPC_REAL_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.2/include")
SET(SLEPC_REAL_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.2/lib/libslepc.so")
SET(SLEPC_REAL_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.3/include")
SET(SLEPC_REAL_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.3/lib/libslepc.so")

##set PETSc Complex paths
SET(PETSC_COMPLEX_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/petsc/gcc_petsc3.8.3_complex/include")
SET(PETSC_COMPLEX_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/petsc/gcc_petsc3.8.3_complex/lib/libpetsc.so")

##set SLEPc Complex paths
SET(SLEPC_COMPLEX_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.2_complex/include")
SET(SLEPC_COMPLEX_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.2_complex/lib/libslepc.so")
SET(SLEPC_COMPLEX_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.3_complex/include")
SET(SLEPC_COMPLEX_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/slepc/gcc_slepc3.8.3_complex/lib/libslepc.so")

##set SPG paths
SET(SPG_INCLUDE "/home/vikramg/DFT-FE-softwares/softwareCentos/spglib/include")
SET(SPG_LIB "/home/vikramg/DFT-FE-softwares/softwareCentos/spglib/lib/libsymspg.so")

## set DEAL_II dir path
SET(DEAL_II_DIR "/home/vikramg/DFT-FE-softwares/softwareCentos/dealiiDev/gcc_nopetsc_mkl_new")
#
# Usually, you will not need to modify anything beyond this point...
#
Expand All @@ -45,9 +53,11 @@ SET(TARGET_SRC
./src/eigen/eigen.cc
./src/force/force.cc
./src/force/eshelbyTensor/eshelbyTensor.cc
./src/meshMovement/meshMovement.cc
./src/meshMovement/meshMovementGaussian.cc
./src/mesh/meshMovement/meshMovement.cc
./src/mesh/meshMovement/meshMovementGaussian.cc
./src/mesh/meshGenerator.cc
./src/symmetry/initGroupSymmetry.cc
./src/symmetry/symmetrizeRho.cc
./src/geoOpt/geoOptIon.cc
./src/solvers/solverFunction.cc
./src/solvers/nonLinearSolver.cc
Expand All @@ -60,7 +70,7 @@ SET(TARGET_SRC
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)

FIND_PACKAGE(deal.II 8.4.0 QUIET
HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
HINTS ${deal.II_DIR} ${DEAL_II_DIR}
)
IF(NOT ${deal.II_FOUND})
MESSAGE(FATAL_ERROR "\n"
Expand Down Expand Up @@ -100,13 +110,13 @@ DEAL_II_SETUP_TARGET(${TARGET})

IF (DEFINED _ENABLE_PERIODIC)
MESSAGE(STATUS "==== Periodic ====")
INCLUDE_DIRECTORIES(${ALGLIB_INCLUDE} ${LIBXC_INCLUDE} ${PETSC_COMPLEX_INCLUDE} ${SLEPC_COMPLEX_INCLUDE})
TARGET_LINK_LIBRARIES(${TARGET} ${LIBXC_LIB} ${ALGLIB_LIB} ${PETSC_COMPLEX_LIB} ${SLEPC_COMPLEX_LIB})
INCLUDE_DIRECTORIES(${ALGLIB_INCLUDE} ${LIBXC_INCLUDE} ${PETSC_COMPLEX_INCLUDE} ${SLEPC_COMPLEX_INCLUDE} ${SPG_INCLUDE})
TARGET_LINK_LIBRARIES(${TARGET} ${SPG_LIB} ${LIBXC_LIB} ${ALGLIB_LIB} ${PETSC_COMPLEX_LIB} ${SLEPC_COMPLEX_LIB})
set(ignoreMe "${_ENABLE_PERIODIC}")
ELSE()
MESSAGE(STATUS "==== Non Periodic ====")
INCLUDE_DIRECTORIES(${ALGLIB_INCLUDE} ${LIBXC_INCLUDE} ${PETSC_REAL_INCLUDE} ${SLEPC_REAL_INCLUDE})
TARGET_LINK_LIBRARIES(${TARGET} ${LIBXC_LIB} ${ALGLIB_LIB} ${PETSC_REAL_LIB} ${SLEPC_REAL_LIB})
INCLUDE_DIRECTORIES(${ALGLIB_INCLUDE} ${LIBXC_INCLUDE} ${PETSC_REAL_INCLUDE} ${SLEPC_REAL_INCLUDE} ${SPG_INCLUDE})
TARGET_LINK_LIBRARIES(${TARGET} ${LIBXC_LIB} ${ALGLIB_LIB} ${PETSC_REAL_LIB} ${SLEPC_REAL_LIB} ${SPG_LIB})
ENDIF()

#DEAL_II_INVOKE_AUTOPILOT()
Expand Down
File renamed without changes.
55 changes: 55 additions & 0 deletions helpers/setupFluxGCC.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash
set -e
set -o pipefail
#script to setup and build DFT-FE
#set CMAKE path
cmake=/opt/cmake/bin/cmake

#
#Usually, no changes are needed below this line
#
RCol='\e[0m'
Blu='\e[0;34m';
optimizedMode=1
if [ $optimizedMode == 1 ]; then
if [ -d "build/release" ]; then
echo -e "${Blu}build/release directory already present${RCol}"
# Control will enter here if build directory exists.
cd build
cd release
echo -e "${Blu}Building Non-Periodic executable in Optimized (Release) mode...${RCol}"
mkdir -p nonPeriodic && cd nonPeriodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native" -DCMAKE_BUILD_TYPE=Release ../../../. && make && cd ..
echo -e "${Blu}Building Periodic executable in Optimized (Release) mode...${RCol}"
mkdir -p periodic && cd periodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native" -DCMAKE_BUILD_TYPE=Release -D_ENABLE_PERIODIC=TRUE ../../../. && make && cd ../..
else
rm -rf build/release
echo -e "${Blu}Creating build directory...${RCol}"
mkdir -p build && cd build
mkdir -p release && cd release
echo -e "${Blu}Building Non-Periodic executable in Optimized (Release) mode...${RCol}"
mkdir -p nonPeriodic && cd nonPeriodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native" -DCMAKE_BUILD_TYPE=Release ../../../. && make && cd ..
echo -e "${Blu}Building Periodic executable in Optimized (Release) mode...${RCol}"
mkdir -p periodic && cd periodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native" -DCMAKE_BUILD_TYPE=Release -D_ENABLE_PERIODIC=TRUE ../../../. && make && cd ../..
fi
else
if [ -d "build/debug" ]; then
echo -e "${Blu}build/debug directory already present${RCol}"
# Control will enter here if build directory exists.
cd build
cd debug
echo -e "${Blu}Building Non-Periodic executable in Debug mode...${RCol}"
mkdir -p nonPeriodic && cd nonPeriodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_BUILD_TYPE=Debug ../../../. && make && cd ..
echo -e "${Blu}Building Periodic executable in Debug mode...${RCol}"
mkdir -p periodic && cd periodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_BUILD_TYPE=Debug -D_ENABLE_PERIODIC=TRUE ../../../. && make && cd ../..
else
rm -rf build/debug
echo -e "${Blu}Creating build directory...${RCol}"
mkdir -p build && cd build
mkdir -p debug && cd debug
echo -e "${Blu}Building Non-Periodic executable in Debug mode...${RCol}"
mkdir -p nonPeriodic && cd nonPeriodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_BUILD_TYPE=Debug ../../../. && make && cd ..
echo -e "${Blu}Building Periodic executable in Debug mode...${RCol}"
mkdir -p periodic && cd periodic && cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_BUILD_TYPE=Debug -D_ENABLE_PERIODIC=TRUE ../../../. && make && cd ../..
fi
fi
echo -e "${Blu}Build complete.${RCol}"
File renamed without changes.
1 change: 1 addition & 0 deletions src/dft/initBoundaryConditions.cc
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ void dftClass<FEOrder>::initBoundaryConditions(){
//matrix free data structure
//
typename MatrixFree<3>::AdditionalData additional_data;
//comment this if using deal ii version 9
additional_data.mpi_communicator = MPI_COMM_WORLD;
additional_data.tasks_parallel_scheme = MatrixFree<3>::AdditionalData::partition_partition;

Expand Down

0 comments on commit 4a59ec0

Please sign in to comment.