Commits (364)

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.
# Exclude the usual build environment stuff.
# Make sure Dockerfiles aren't included in build context to
# improve caching.
# Files to ignore for export
.gitlab-ci.yml export-ignore
.gitignore export-ignore
.gitattributes export-ignore
.gitmodules export-ignore
# Ignore builds and ThirdParty directories
......@@ -12,3 +14,6 @@ ThirdParty
# Kdevelop project files
# Sublime project files
- docker-build-env
- docker-build-image
- docker-build-dev
- docker-test-image
.docker_build_template: &docker_build_template
image: docker:stable
stage: docker-build-image
- master
- /^docker\/.*$/
- tags
- docker pull ${image_name} || true
- DOCKER_BUILDKIT=1 docker build -t ${image_name} -f ${dockerfile} .
- docker tag ${image_name} ${image_name}:$CI_COMMIT_SHORT_SHA
- docker push ${image_name}:$CI_COMMIT_SHORT_SHA
- if [ ! -z $CI_COMMIT_TAG ]; then docker tag ${image_name} ${image_name}:$CI_COMMIT_TAG; docker push ${image_name}:$CI_COMMIT_TAG; fi
- docker push ${image_name}:latest
.docker-test-template: &docker_test_template
image: ${image_name}
stage: docker-test-image
- master
- /^docker\/.*$/
- tags
<<: *docker_build_template
stage: docker-build-env
image_name: nektarpp/nektar-env
dockerfile: docker/nektar-env/Dockerfile
- master
- /^docker\/.*$/
- tags
- docker/nektar-env/Dockerfile
<<: *docker_build_template
image_name: nektarpp/nektar
dockerfile: docker/nektar/Dockerfile
<<: *docker_build_template
image_name: nektarpp/nektar-workbook
dockerfile: docker/nektar-workbook/Dockerfile
<<: *docker_build_template
stage: docker-build-dev
image_name: nektarpp/nektar-dev
dockerfile: docker/nektar-dev/Dockerfile
<<: *docker_test_template
image_name: nektarpp/nektar
- mpirun -n 3 IncNavierStokesSolver $CI_PROJECT_DIR/solvers/IncNavierStokesSolver/Tests/ChanFlow_m3_par.xml
<<: *docker_test_template
image_name: nektarpp/nektar-dev
- cd $CI_PROJECT_DIR/templates/executable
- ./test.sh /usr/local/lib64/nektar++/cmake 3
[submodule "docs/tutorial"]
branch = master
path = docs/tutorial
url = git@gitlab.nektar.info:nektar/tutorial
url = https://gitlab.nektar.info/nektar/tutorial.git
ignore = all
- Added IMEXOrder4, RK5 and AB4 time integration schemes (!1037)
- Add field conversion from Halfmode to SingleMode (!1032)
- Added in sum factorisation version for pyramid expansions and orthogonal
expansion in pyramids (!750)
- Added detection of 'abort' file to cleanly terminate simulation early (!772)
- Significant overhaul of CMake infrastructure (!770, !804)
- Fix ThridpartyCCM options (!802)
- Fix Windows CRLF tokens in GEO reader and improve comment handling (!805)
......@@ -46,6 +39,8 @@ v5.0.0
- Fix minor bug in ARPACK thirdparty build cmake (!874)
- Added in sum factorisation version for pyramid expnasions and orthogonal
expansion in pyramids (!750)
- Adjust boost third-party compilation to account for different toolset
choices (!886)
- Switch MeshGraph to use factory pattern and add HDF5 geometry support (!900,
!904, !941)
- Restructure the low energy preconditioner to handle pyramidic and variable
......@@ -62,7 +57,7 @@ v5.0.0
- Fix ability to have periodic boundary conditions that are aligned by a
rotation rather than just a translation (!933)
- Added a coupling interface to exchange data between solvers at run time
and a DummySolver to test the implementations (!853, !931, !950, !973)
and a DummySolver to test the implementations (!853, !931, !950, !973, !1017)
- Fix compilation issue with newer Boost versions and clang (!940)
- If only `NEKTAR_BUILD_LIBRARY` is enabled, only libraries up to and including
`MultiRegions` will be built by default (!945)
......@@ -70,7 +65,8 @@ v5.0.0
- Fix missing metadata import from Hdf5 files (!971)
- Fix missing flags for periodic BC in DiffusionLDG (!985)
- Add the moving reference frame as a forcing (!987)
- Added rtree for element bounding box lookup to accelerate interpolation (!996)
- Added rtree for element bounding box lookup to accelerate interpolation (!996,
- Fix integration weights on prisms and pyramids if not using the default
integration rule (!998)
- Fix missing ContainsPoint in Pyramid expansion (!1000)
......@@ -79,11 +75,25 @@ v5.0.0
- Combine and generalise demo code in StdRegions and LocalRegions (!993)
- Fix for error output to allow for custom error streams (!944)
- Fixed bug in ReOrientQuadFacePhysMap (!1003)
- Add NekPy Python interface (!962, !990, !989, !1004)
- Add NekPy Python interface (!962, !990, !989, !1004, !1014, !1061, !1070)
- Fix edge case for ThirdPartyScotch and FindScoth (!1009)
- Fix to populate m_elmtToExpId map if not already set up in GetExpIndex (!1019)
- Added flag to skip periodic BCs while filling Dirichlet BCs in
ContField3D.cpp (!1018)
- Fix bounding box for interpolation (!1033)
- Added IMEXOrder4, RK5 and AB4 time integration schemes (!1037)
- Fix TriExp.cpp orientation bug (!1048)
- Fix XML attributes in conditions.cpp to be unordered (!1015)
- Fix issue with HDF5 mesh input in serial (!1049)
- Add estimate of filters CPU time (!1044)
- Update CompressibleFlowSolver/Examples/Test_IsentropicVortex1.xml example (!1045)
- Add error if HDG used with periodic BCs (!1071)
- Fix issues related to leading factors, arithmetic order and associativity of
exponential operator in expression evaluator (!1066)
- Remove use of `using namespace std` in header files (!1066)
- Add error messages for use of ARPACK in serial (!1079)
- Generalise ContainsPoint routine (!1078)
- Homogenized fallthrough to fix issues with gcc 7.4.0 (!1084)
- Add feature to read basic 2D geo files as CAD (!731)
......@@ -121,6 +131,8 @@ v5.0.0
- Fix issue with extracting 1D curved surface from 2D file (!984)
- Fix surface extraction, added regression test (!994)
- Fix 2D meshing running out of memory due to missing else (!1012)
- Add support for .msh v4.1 file input (!1054)
- Added penalty term to LDG and LDGNS, slight generalization of LDG (!1080)
- Add input module for Semtex field files (!777)
......@@ -143,6 +155,10 @@ v5.0.0
- Fixed nparts option in FieldConvert and automated Info.xml generation (!995)
- Added if statement to fix case of 1D/2D manifold interpolation in 1D/2D space,
added check on dimensions for interpolation, fixed seg interp (!999)
- Fixed scaling for compressed xml, fixed error printout for mesh only (!1040)
- Add field conversion from Halfmode to SingleMode (!1032)
- Fix double precision output in .dat format (!1059)
- Add phase sampling feature in FilterFieldConvert (!1068)
- Replace steady-state check based on difference of norms by check based on
......@@ -150,7 +166,8 @@ v5.0.0
- Updated SVV to allow for the DGKernel extension (!851)
- Pre-calculate Time invariant portion of Womersley Solution (!814)
- Fix for independent setting of SVV in Homogeneous direction (!936)
- Write flow field based on CFL treshold (!1025)
- Write flow field based on CFL threshold (!1025)
- Fix unsteady Stokes solver (!1074)
- Add 3D regression tests (!567)
......@@ -164,6 +181,7 @@ v5.0.0
- Modified pressure outlet BCs to allow for the reference static pressure to be
set from the VALUE fields (!981)
- hp scaling for Laplacian AV (!1013)
- Removed smooth AV (!1072)
- Added two new boundary conditions to the APE system: RiemannInvariantBC
......@@ -173,17 +191,31 @@ v5.0.0
- The APE system now uses u_i, c^2 and rho as base flow fields (!918)
- Added the Linearized Euler Equations (LEE) (!918)
- Fix forcing from file for Poisson solver (!1029)
- APESolver was replaced with AcousticSolver (!918)
- Added two new boundary conditions: AInflow and UInflow
- Converted FentonKarma model to dimensional form and added variants (!1011)
- Added an initial developer's guide (!1001)
- Updated user guide to reflect current implementation (!1051)
- Added manpages for key solvers and utilities (!1051)
- Fix build with boost 1.67 (!947)
- Various change to tests to decrease test time (!1053)
- Extend to support MPI tests with multiple executables (!1085)
- Add Dockerfiles and gitlab CI configuration for automatic builds (!1021,
!1092, !1098)
SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build,
options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release
RelWithDebInfo MinSizeRel.")
# Find default search paths for OS X; adapted from Stack Overflow question
# 1487752
# 1487752.
......@@ -162,13 +162,14 @@ OPTION(NEKTAR_BUILD_UNIT_TESTS "Build unit tests." ON)
OPTION(NEKTAR_BUILD_TESTS "Build regression tests." ON)
OPTION(NEKTAR_BUILD_TIMINGS "Build benchmark timing codes." OFF)
OPTION(NEKTAR_BUILD_PYTHON "Build Nektar++ Python bindings" OFF)
OPTION(NEKTAR_BUILD_PACKAGES "Build Nektar++ binary packages" OFF)
OPTION(NEKTAR_TEST_ALL "Include full set of regression tests to this build." OFF)
OPTION(NEKTAR_TEST_USE_HOSTFILE "Use a hostfile to explicitly specify number of
slots." OFF)
OPTION(NEKTAR_ERROR_ON_WARNINGS "Use -Werror to make warnings stop compilation." ON)
# Meshing utilities and library
OPTION(NEKTAR_USE_MESHGEN "Build mesh generation utilities." OFF)
......@@ -340,7 +341,3 @@ INSTALL(DIRECTORY ${TPDIST}/include/
......@@ -52,6 +52,15 @@ project. It's a pretty simple process:
- Did you add regression tests (for fixes) or unit tests and/or normal tests for
new features?
- Have you run your branch through buildbot and do all the tests pass?
- Have you fixed any new compiler warnings your code has introduced into the
compilation step for all of the Linux buildbots?
- **unused parameters**: if these are genuinely needed (e.g. virtual functions
in a derived class, please use `boost::ignore_unused()` to mark as such.
- **switch case may fall-through**: for switch statements which
*intentionally* exploit fall-through between cases, mark the end of such
cases with the comment `/* Falls through. */` to suppress the warning.
- Avoid `ASSERTL0(false, msg)`; instead use `NEKERROR(ErrorUtil:efatal, msg)`.
- Ensure variables are initialised with sensible default values.
- Is there documentation in the user guide and/or developer guide?
- Have you added a CHANGELOG entry, including the MR number?
- Are there any massive files you might have added in the commit history? We try
......@@ -110,15 +119,23 @@ You should also test your branch on the
the code against a number of Linux, Mac and Windows operating systems, both 32-
and 64-bit. If your tests don't pass, we can't merge the code into master.
Testing is presently manually executed. You should:
1. Go to the buildbot site and navigate to the *Builders* page.
2. Scroll to the bottom of the page in the section *Force all builds*
3. Enter your details. If you're working on a fork, then the *Suffix to repo
url* box should be changed to `username/nektar`.
4. Hit the *Force build* button.
5. Check the output in the *Grid* page -- hopefully everything should be green!
Tests can take up to two hours to run.
When you submit a merge request testing on buildbot will happen automatically,
unless you have marked the merge request as a work-in-progress (WIP: prefix).
Each time you push commits to a non-WIP merge request branch, it will also
trigger a build.
For WIP merge request branches, you can force a build on individual builders