Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmake/SetupTPLs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ endif()

#### deal.II #################################################################
if(ENABLE_DEAL_II)
find_package(deal.II 8.4 REQUIRED PATHS ${DEAL_II_DIR})
find_package(deal.II 9.0.0 REQUIRED PATHS ${DEAL_II_DIR})
add_definitions(-DWITH_DEAL_II)
# If deal.II was configured in DebugRelease mode, then if Cap was configured
# in Debug mode, we link against the Debug version of deal.II. IF Cap was
Expand Down
13 changes: 7 additions & 6 deletions cpp/source/utils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,6 @@ template std::map<std::string, double> to_map(std::string const &s);
template std::map<std::string, std::string> to_map(std::string const &s);
template std::map<std::string, bool> to_map(std::string const &s);

template std::vector<unsigned int> to_vector(std::string const &s);
template std::vector<int> to_vector(std::string const &s);
template std::vector<float> to_vector(std::string const &s);
template std::vector<double> to_vector(std::string const &s);
template std::vector<std::string> to_vector(std::string const &s);
template std::vector<bool> to_vector(std::string const &s);
#ifdef WITH_DEAL_II
template <>
std::vector<dealii::types::material_id> to_vector(std::string const &s)
Expand All @@ -41,6 +35,13 @@ std::vector<dealii::types::material_id> to_vector(std::string const &s)
}
#endif

template std::vector<unsigned int> to_vector(std::string const &s);
template std::vector<int> to_vector(std::string const &s);
template std::vector<float> to_vector(std::string const &s);
template std::vector<double> to_vector(std::string const &s);
template std::vector<std::string> to_vector(std::string const &s);
template std::vector<bool> to_vector(std::string const &s);

template std::string to_string(std::vector<int> const &v);
template std::string to_string(std::vector<unsigned int> const &v);
template std::string to_string(std::vector<float> const &v);
Expand Down
64 changes: 49 additions & 15 deletions docker/Dockerfile_stack
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ RUN apt-get update && apt-get install -y \
gfortran \
wget \
git \
cmake \
lcov \
valgrind \
cppcheck \
Expand All @@ -21,7 +20,6 @@ RUN apt-get update && apt-get install -y \
libbz2-dev \
libatlas-base-dev \
zlib1g-dev \
libopenmpi-dev \
libhdf5-dev \
python3.5-dev \
python3-tk \
Expand All @@ -45,13 +43,51 @@ RUN mkdir -p ${PREFIX} && \
mkdir build && \
mkdir install

# Install CMake
RUN export CMAKE_VERSION=3.12.1 && \
export CMAKE_VERSION_SHORT=3.12 && \
export CMAKE_URL=https://cmake.org/files/v${CMAKE_VERSION_SHORT}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh && \
export CMAKE_SCRIPT=cmake-${CMAKE_VERSION}-Linux-x86_64.sh && \
export CMAKE_PREFIX=/opt/cmake/${CMAKE_VERSION_SHORT} && \
wget --quiet ${CMAKE_URL} --output-document=${CMAKE_SCRIPT} && \
mkdir -p ${CMAKE_PREFIX} && \
sh ${CMAKE_SCRIPT} --skip-license --prefix=${CMAKE_PREFIX} && \
rm ${CMAKE_SCRIPT}
ENV PATH=/opt/cmake/3.12/bin:$PATH

# Install OpenMPI
RUN export OPENMPI_VERSION=2.1.3 && \
export OPENMPI_VERSION_SHORT=2.1 && \
export OPENMPI_SHA1=e24502c7075c8e8f6de028a6aedecf7a6d2d0bb7 && \
export OPENMPI_URL=https://www.open-mpi.org/software/ompi/v${OPENMPI_VERSION_SHORT}/downloads/openmpi-${OPENMPI_VERSION}.tar.bz2 && \
export OPENMPI_ARCHIVE=${PREFIX}/archive/openmpi-${OPENMPI_VERSION}.tar.bz2 && \
export OPENMPI_SOURCE_DIR=${PREFIX}/source/openmpi/${OPENMPI_VERSION} && \
export OPENMPI_BUILD_DIR=${PREFIX}/build/openmpi/${OPENMPI_VERSION} && \
export OPENMPI_INSTALL_DIR=/opt/openmpi/${OPENMPI_VERSION_SHORT} && \
wget --quiet ${OPENMPI_URL} --output-document=${OPENMPI_ARCHIVE} && \
echo "${OPENMPI_SHA1} ${OPENMPI_ARCHIVE}" | sha1sum -c && \
mkdir -p ${OPENMPI_SOURCE_DIR} && \
tar -xf ${OPENMPI_ARCHIVE} -C ${OPENMPI_SOURCE_DIR} --strip-components=1 && \
mkdir -p ${OPENMPI_BUILD_DIR} && \
cd ${OPENMPI_BUILD_DIR} && \
${OPENMPI_SOURCE_DIR}/configure --prefix=${OPENMPI_INSTALL_DIR} && \
make -j${NPROC} install && \
rm -rf ${OPENMPI_ARCHIVE} && \
rm -rf ${OPENMPI_BUILD_DIR} && \
rm -rf ${OPENMPI_SOURCE_DIR}

ENV MPI_DIR=/opt/openmpi/2.1
# Put OPENMPI_DIR at the end of the path so that /ust/local/bin/mpiexec will
# overwrite it
ENV PATH=$PATH:${MPI_DIR}/bin

# install boost
RUN export BOOST_URL=http://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.bz2 && \
export BOOST_SHA256=beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0 && \
export BOOST_ARCHIVE=${PREFIX}/archive/boost_1_63_0.tar.bz2 && \
export BOOST_SOURCE_DIR=${PREFIX}/source/boost/1.63.0 && \
export BOOST_BUILD_DIR=${PREFIX}/build/boost/1.63.0 && \
export BOOST_INSTALL_DIR=/opt/boost/1.63.0 && \
RUN export BOOST_URL=http://sourceforge.net/projects/boost/files/boost/1.68.0/boost_1_68_0.tar.bz2 && \
export BOOST_SHA256=7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7 && \
export BOOST_ARCHIVE=${PREFIX}/archive/boost_1_68_0.tar.bz2 && \
export BOOST_SOURCE_DIR=${PREFIX}/source/boost/1.68.0 && \
export BOOST_BUILD_DIR=${PREFIX}/build/boost/1.68.0 && \
export BOOST_INSTALL_DIR=/opt/boost/1.68.0 && \
wget --quiet ${BOOST_URL} --output-document=${BOOST_ARCHIVE} && \
echo "${BOOST_SHA256} ${BOOST_ARCHIVE}" | sha256sum -c && \
mkdir -p ${BOOST_SOURCE_DIR} && \
Expand All @@ -66,12 +102,13 @@ RUN export BOOST_URL=http://sourceforge.net/projects/boost/files/boost/1.63.0/bo
link=shared \
variant=release \
--build-dir=${BOOST_BUILD_DIR} \
hardcode-dll-paths=true dll-path=${BOOST_INSTALL_DIR}/lib \
&& \
rm -rf ${BOOST_ARCHIVE} && \
rm -rf ${BOOST_BUILD_DIR} && \
rm -rf ${BOOST_SOURCE_DIR}

ENV BOOST_DIR=/opt/boost/1.63.0
ENV BOOST_DIR=/opt/boost/1.68.0
#ENV LD_LIBRARY_PATH=${BOOST_DIR}/lib:${LD_LIBRARY_PATH}

# install TRILINOS
Expand Down Expand Up @@ -146,9 +183,9 @@ RUN export P4EST_VERSION=1.1 &&\
ENV P4EST_DIR=/opt/p4est/1.1

# install dealii
RUN export DEAL_II_VERSION=8.5.1 && \
RUN export DEAL_II_VERSION=9.0.0 && \
export DEAL_II_URL=https://github.com/dealii/dealii/releases/download/v${DEAL_II_VERSION}/dealii-${DEAL_II_VERSION}.tar.gz && \
export DEAL_II_SHA1=fe8e4748c1d9650487fb5145429a58e8509de276 && \
export DEAL_II_SHA1=820bf3961a6d840ee27cf0456d38d6dbd05e1565 && \
export DEAL_II_ARCHIVE=${PREFIX}/archive/dealii-${DEAL_II_VERSION}.tar.gz && \
export DEAL_II_SOURCE_DIR=${PREFIX}/source/dealii/${DEAL_II_VERSION} && \
export DEAL_II_BUILD_DIR=${PREFIX}/build/dealii/${DEAL_II_VERSION} && \
Expand All @@ -164,9 +201,6 @@ RUN export DEAL_II_VERSION=8.5.1 && \
-D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
-D DEAL_II_WITH_MPI=ON \
-D DEAL_II_WITH_CXX11=ON \
-D CMAKE_Fortran_COMPILER=mpifort \
-D CMAKE_CXX_COMPILER=mpicxx \
-D CMAKE_C_COMPILER=mpicc \
-D BOOST_DIR=${BOOST_DIR} \
-D P4EST_DIR=${P4EST_DIR} \
-D TRILINOS_DIR=${TRILINOS_DIR} \
Expand All @@ -176,7 +210,7 @@ RUN export DEAL_II_VERSION=8.5.1 && \
rm -rf ${DEAL_II_BUILD_DIR} && \
rm -rf ${DEAL_II_SOURCE_DIR}

ENV DEAL_II_DIR=/opt/dealii/8.5.1
ENV DEAL_II_DIR=/opt/dealii/9.0.0

ENV LD_LIBRARY_PATH=${LAPACK_DIR}/lib:${LD_LIBRARY_PATH}

Expand Down