Skip to content

Commit b5f1168

Browse files
committed
Merge pull request #39 from Parallel-in-Time/release/v0.1.0
Merge release/v0.1.0 into development.
2 parents a13df3b + 1c6d1c0 commit b5f1168

35 files changed

+2213
-1451
lines changed

.astylerc

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
--add-brackets
2+
--add-one-line-brackets
3+
--align-pointer=type
4+
--align-reference=type
5+
--close-templates
6+
--convert-tabs
7+
--indent-cases
8+
--indent-classes
9+
--indent-col1-comments
10+
--indent-labels
11+
--indent-modifiers
12+
--indent-namespaces
13+
--indent-preproc-define
14+
--indent-preproc-cond
15+
--indent=spaces=2
16+
--indent-switches
17+
--keep-one-line-statements
18+
--lineend=linux
19+
--max-code-length=100
20+
--max-instatement-indent=40
21+
--min-conditional-indent=2
22+
--mode=c
23+
--pad-oper
24+
--pad-header
25+
--unpad-paren
26+
--style=1tbs
27+
--suffix=none

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# other stuff
22
/doc/build
33
/build*
4+
/dist
45

56
# Created by http://www.gitignore.io
67

3rdparty/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if(pfasst_BUILD_EXAMPLES)
3434
UPDATE_COMMAND ""
3535
PATCH_COMMAND ""
3636
BUILD_IN_SOURCE ON
37-
CONFIGURE_COMMAND ${fftw3_SOURCE_DIR}/configure CC=${CMAKE_C_COMPILER} --prefix=${fftw3_INSTALL_DIR} --libdir=${fftw3_INSTALL_DIR}/lib CXX=${CMAKE_CXX_COMPILER}
37+
CONFIGURE_COMMAND ${fftw3_SOURCE_DIR}/configure CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${CMAKE_CXX_FLAGS} --prefix=${fftw3_INSTALL_DIR} --libdir=${fftw3_INSTALL_DIR}/lib
3838
BUILD_COMMAND make
3939
TEST_COMMAND ""
4040
INSTALL_DIR ${fftw3_SOURCE_DIR}-install
@@ -65,6 +65,10 @@ if(pfasst_BUILD_TESTS)
6565
UPDATE_COMMAND ""
6666
PATCH_COMMAND ""
6767
CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release
68+
-DCMAKE_C_COMPILE=${CMAKE_C_COMPILER}
69+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
70+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
71+
-DGTEST_USE_OWN_TR1_TUPLE=ON
6872
-Dgtest_force_shared_crt=ON
6973
-Dgmock_build_tests=${gtest_BUILD_TESTS}
7074
# Disable install step

CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,15 @@ include(ExternalProject)
1010
# Set default ExternalProject root directory
1111
set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/3rdparty)
1212

13-
option(pfasst_DISABLE_LIBCXX "Disable use of LLVM's libstdc++ when compiling with Clang." ON)
13+
option(pfasst_DISABLE_LIBCXX "Disable use of LLVM's libc++ when compiling with Clang." ON)
1414
option(pfasst_BUILD_EXAMPLES "Build example programs." ON)
1515
option(pfasst_BUILD_TESTS "Build test suite for PFASST." ON)
1616

17+
# output directories
18+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${pfasst_SOURCE_DIR}/dist/bin")
19+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${pfasst_SOURCE_DIR}/dist/lib")
20+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${pfasst_SOURCE_DIR}/dist/lib")
21+
1722
# check for C++11 support
1823
if(${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
1924
check_cxx_compiler_flag(-std=c++11 HAVE_STD11)
@@ -25,10 +30,13 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
2530
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
2631
check_cxx_compiler_flag(-std=c++11 HAVE_STD11)
2732
if(HAVE_STD11)
28-
if(pfasst_DISABLE_LIBCXX)
33+
if(pfasst_DISABLE_LIBCXX AND NOT APPLE)
2934
add_to_string_list("${CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS "-std=c++11")
3035
add_to_string_list("${CMAKE_CXX_LINK_FLAGS}" CMAKE_CXX_LINK_FLAGS "-std=c++11")
3136
else()
37+
if(APPLE)
38+
message(WARNING "You are on an Apple system. libc++ is forcly enabled.")
39+
endif(APPLE)
3240
add_to_string_list("${CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS "-std=c++11" "-stdlib=libc++")
3341
add_to_string_list("${CMAKE_CXX_LINK_FLAGS}" CMAKE_CXX_LINK_FLAGS "-std=c++11" "-stdlib=libc++")
3442
endif()
@@ -37,6 +45,7 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
3745
endif()
3846
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES XL)
3947
# NOTE: This branch is not tested yet (in theory it should work)
48+
message(WARNING "IMB XL C/C++ support is experimental and not yet tested.")
4049
check_cxx_compiler_flag(-qlanglvl=extended0x HAVE_STD11)
4150
if(HAVE_STD11)
4251
add_to_string_list("${CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS "-qlanglvl=extended0x -qwarn0x")
@@ -49,7 +58,7 @@ endif()
4958
message(STATUS "Your compiler has C++11 support. Hurray!")
5059

5160
# enable all compiler warnings
52-
add_to_string_list("${CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS "-Wall")
61+
add_to_string_list("${CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic")
5362

5463
set(3rdparty_INCLUDES)
5564
set(3rdparty_DEPENDEND_LIBS)

Doxyfile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ SHORT_NAMES = NO
153153
# comments will behave just like regular Qt-style comments
154154
# (thus requiring an explicit @brief command for a brief description.)
155155

156-
JAVADOC_AUTOBRIEF = NO
156+
JAVADOC_AUTOBRIEF = YES
157157

158158
# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
159159
# interpret the first line (until the first dot) of a Qt-style
@@ -279,7 +279,12 @@ CPP_CLI_SUPPORT = NO
279279

280280
SIP_SUPPORT = NO
281281

282-
# For Microsoft's IDL there are propget and propput attributes to indicate getter and setter methods for a property. Setting this option to YES (the default) will make doxygen replace the get and set methods by a property in the documentation. This will only work if the methods are indeed getting or setting a simple type. If this is not the case, or you want to show the methods anyway, you should set this option to NO.
282+
# For Microsoft's IDL there are propget and propput attributes to indicate getter
283+
# and setter methods for a property. Setting this option to YES (the default) will
284+
# make doxygen replace the get and set methods by a property in the documentation.
285+
# This will only work if the methods are indeed getting or setting a simple type.
286+
# If this is not the case, or you want to show the methods anyway, you should set
287+
# this option to NO.
283288

284289
IDL_PROPERTY_SUPPORT = YES
285290

@@ -661,7 +666,7 @@ WARN_LOGFILE =
661666
# directories like "/usr/src/myproject". Separate the files or directories
662667
# with spaces.
663668

664-
INPUT = src tests doc/source README.md
669+
INPUT = include tests examples doc/source README.md
665670

666671
# This tag can be used to specify the character encoding of the source files
667672
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is

README.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,46 @@
1-
PFASST
1+
PFASST {#mainpage}
22
======
33

4-
Master: [![Build Status](https://travis-ci.org/Parallel-in-Time/PFASST.svg?branch=master)](https://travis-ci.org/Parallel-in-Time/PFASST)
4+
The PFASST algorithm is a time-parallel algorithm for solving ODEs and
5+
PDEs.
56

6-
Development: [![Build Status](https://travis-ci.org/Parallel-in-Time/PFASST.svg?branch=development)](https://travis-ci.org/Parallel-in-Time/PFASST)
7+
The PFASST project is a C++ implementation of the 'parallel full
8+
approximation scheme in space and time' (PFASST) algorithm. It also
9+
contains basic implementations of the 'spectral deferred correction'
10+
(SDC) and 'multi-level spectral deferred correction' (MLSDC)
11+
algorithms.
712

8-
Proposed class structure for a C++ PFASST implementation.
913

10-
Doxygen generated documentation can be found [here](https://pint.fz-juelich.de/ci/view/PFASST/job/PFASST%20%28Docu%29/doxygen/).
14+
References
15+
----------
16+
17+
XXX
18+
19+
20+
Documentation
21+
-------------
22+
23+
Doxygen generated documentation can be found [on the PinT server][documentation].
24+
Currently, it features the following content:
25+
26+
* \subpage #page_building_installing
27+
* \subpage #page_examples
28+
* \subpage #page_contributing
29+
* \subpage #page_style_guide
30+
31+
32+
Build status
33+
------------
34+
35+
| Branch | Status |
36+
|-------------|-------------------------------------|
37+
| Master | ![master-status][] |
38+
| Development | ![dev-status][] |
39+
40+
For details see [Travis][pfasst-travis].
41+
42+
43+
[documentation]: https://pint.fz-juelich.de/ci/view/PFASST/job/PFASST%20%28Docu%29/doxygen/
44+
[pfasst-travis]: https://travis-ci.org/Parallel-in-Time/PFASST
45+
[master-status]: https://travis-ci.org/Parallel-in-Time/PFASST.svg?branch=master
46+
[dev-status]: https://travis-ci.org/Parallel-in-Time/PFASST.svg?branch=development

doc/source/contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contributing
1+
# Contributing {#page_contributing}
22

33
## Branching and Tagging Model
44

doc/source/examples.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Examples {#page_examples}
2+
3+
## Simple Advection Diffusion
4+
5+
See \subpage page_examples_advection_diffusion.

doc/source/installing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Building and Installing
1+
# Building and Installing {#page_building_installing}
22

33
## Prerequesites
44

doc/source/style_guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Style Guide
1+
# Style Guide {#page_style_guide}
22

33
## Naming Convention
44

0 commit comments

Comments
 (0)