Nektar merge requestshttps://gitlab.nektar.info/nektar/nektar/-/merge_requests2023-01-24T16:35:41Zhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1037Feature/New(RK5, AB4, IMEXOrder4) Bug_fixes(IMEXGear, CNAB, IMEXdirk_2_2_2)2023-01-24T16:35:41ZKak ChoonFeature/New(RK5, AB4, IMEXOrder4) Bug_fixes(IMEXGear, CNAB, IMEXdirk_2_2_2)(1) Three new solvers are added namely Runge-Kutta 5, Adams-Bashforth-Order-4 and IMEXOrder4
(2) There are a few bug fixes done in the GLM matrix for IMEXGear, CNAB and IMEXdirk_2_2_2 and the theoretical order of convergence can be repr...(1) Three new solvers are added namely Runge-Kutta 5, Adams-Bashforth-Order-4 and IMEXOrder4
(2) There are a few bug fixes done in the GLM matrix for IMEXGear, CNAB and IMEXdirk_2_2_2 and the theoretical order of convergence can be reproduced with smaller errorsv5.0.0Chris CantwellChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1099Another attempt to fix CMake Python detection on USE_PYTHON3 status changes2019-11-15T10:10:03ZDave MoxeyAnother attempt to fix CMake Python detection on USE_PYTHON3 status changesThis MR fixes another issue in the `USE_PYTHON3` detection logic, since the `PYTHON_LIBRARIES` variable inside `FindPythonLibsNew` is not cached and is unset on multiple configurations. This currently prevents builds on macOS using Pytho...This MR fixes another issue in the `USE_PYTHON3` detection logic, since the `PYTHON_LIBRARIES` variable inside `FindPythonLibsNew` is not cached and is unset on multiple configurations. This currently prevents builds on macOS using Python, since neither MacPorts nor Homebrew explicitly link `libboost_python` against the Python libraries.v5.0.0Dave MoxeyDave Moxeyhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1098Add documentation to docker images2019-11-14T14:11:24ZDave MoxeyAdd documentation to docker imagesThis MR adds documentation to the `nektarpp/nektar` docker image, including PDFs of the user guide, developer guide and tutorials. A number of tweaks have been added to the main repository and the tutorial repository to enable this:
-...This MR adds documentation to the `nektarpp/nektar` docker image, including PDFs of the user guide, developer guide and tutorials. A number of tweaks have been added to the main repository and the tutorial repository to enable this:
- Install hooks added to install files when they are built through e.g. `make tutorials`.
- Some issues fixed in Doxyfile, and redundant per-library Doxyfile removed.
- Switched Doxyfile to produce SVGs (better quality graphs) and removed graphs for include hierarchy/collaborations as these were rather large and unhelpful in most cases.
- Tutorial subrepo URL has been moved to https vs git to enable checkout on builders.
- Missing pstricks dependency added to developer guide documentation.v5.0.0Dave MoxeyDave Moxeyhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1092Fix CMake install prefix, add external build example2019-11-08T22:27:13ZDave MoxeyFix CMake install prefix, add external build exampleThis MR fixes #185 and builds/tests the external executable in `templates/executable`. It also removes old CPack package configurations.This MR fixes #185 and builds/tests the external executable in `templates/executable`. It also removes old CPack package configurations.v5.0.0Dave MoxeyDave Moxeyhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1093Added initialisation logic for Python3 status flag.2019-11-07T15:12:41ZChris CantwellAdded initialisation logic for Python3 status flag.This MR fixes an intermittent bug on some systems (or versions of CMake) whereby the Python detection logic is not executed on the first run.This MR fixes an intermittent bug on some systems (or versions of CMake) whereby the Python detection logic is not executed on the first run.v5.0.0https://gitlab.nektar.info/nektar/nektar/-/merge_requests/1080Fix/ldg penalty2019-11-07T09:27:56ZGiacomo CastiglioniFix/ldg penaltyAdding penalty term to LDGNS and switching on the LDG penalty term.
The coefficient for LDG penalty term is simply set to 1, it should be reviewed later on.
The coefficient for LDGNS is proportional to viscosity/thermal conductivity an...Adding penalty term to LDGNS and switching on the LDG penalty term.
The coefficient for LDG penalty term is simply set to 1, it should be reviewed later on.
The coefficient for LDGNS is proportional to viscosity/thermal conductivity and inversely proportional to element size.
The LDG has been lightly restructured to allow for a general flux. This allows for a diffusion coefficient different than 1 for `UnsteadyDiffusion`, `UnsteadyAdvectionDiffusion` and `ViscousBurger`, for the AV flux computation to be moved in the AV class, and eventually to merge LDG and LDGNS together.
- [x] cleanup LDGNS "upwinding"
- [x] cleanup LDG "upwinding"
- [x] move AV flux computation
- [x] convergence study LDG
- [x] convergence study LDGNS
- [x] check shock capturing
- [x] update tests
- [x] update documentationv5.0.0Giacomo CastiglioniGiacomo Castiglionihttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1094Remove examples2019-11-06T21:41:23ZChris CantwellRemove examplesThis MR removes the examples from each solver.
At present these were not tested by the CI system and as a consequence often broke as the code evolved underneath. This caused confusion to new users. These should be replaced by tutorial...This MR removes the examples from each solver.
At present these were not tested by the CI system and as a consequence often broke as the code evolved underneath. This caused confusion to new users. These should be replaced by tutorials in the long term.v5.0.0Spencer SherwinDave MoxeySpencer Sherwinhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1068Feature/phase average2019-11-06T17:33:01ZAndrea CassinelliFeature/phase averageThis feature allows for phase sampling in the filters derived from FieldConvert filter.
Time can be written as t = m*T + n*T, with m number of periods elapsed, T period and n phase (0 <= n <= 1).
By selecting T and n, phase averaging c...This feature allows for phase sampling in the filters derived from FieldConvert filter.
Time can be written as t = m*T + n*T, with m number of periods elapsed, T period and n phase (0 <= n <= 1).
By selecting T and n, phase averaging can be carried out.
- [x] Add test
- [x] Test all possible configurations to make sure the right number of samples is taken even when the timestep falls in the middle of the interval
- [x] Change logic introducing a flag to turn on the feature and document itv5.0.0Chris CantwellSpencer SherwinChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1088Fix Intel compiler warnings2019-11-06T15:29:52ZChris CantwellFix Intel compiler warningsThis MR addresses some outstanding compiler warnings generated by the Intel compiler suite.
Tested against 2017 and 2019 versions of compiler on Imperial HPC.This MR addresses some outstanding compiler warnings generated by the Intel compiler suite.
Tested against 2017 and 2019 versions of compiler on Imperial HPC.v5.0.0Chris CantwellDave MoxeyChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1069Fix/homo1D read bc from file2019-11-04T07:46:31ZAndrea CassinelliFix/homo1D read bc from fileFix that allows to read BC from file when using periodic BCsFix that allows to read BC from file when using periodic BCsv5.0.0Spencer SherwinSpencer Sherwinhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/886Adjust third-party boost build for different toolset choices2019-10-29T16:17:06ZMichael TurnerAdjust third-party boost build for different toolset choicesWhen using a compiler which is not in PATH with nektar++, boost will continue to use the first compiler it finds in path for its build. This fix addresses this issue by writing an explicit `user-config.jam` file to enforce compiler selec...When using a compiler which is not in PATH with nektar++, boost will continue to use the first compiler it finds in path for its build. This fix addresses this issue by writing an explicit `user-config.jam` file to enforce compiler selection.v5.0.0Dave MoxeyDave Moxeyhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1051Feature/documentation updates2019-10-29T13:13:21ZChris CantwellFeature/documentation updatesThis MR adds a number of updates and corrections to the documentation. It also adds more complete man-pages for the main solvers and utilities.
To-do:
- [x] Move filters to Filters section and add ref from each solver with relevant f...This MR adds a number of updates and corrections to the documentation. It also adds more complete man-pages for the main solvers and utilities.
To-do:
- [x] Move filters to Filters section and add ref from each solver with relevant filters
- [x] Fix accepted option for DEALIASING to be True and False only, in user guide and code
- [x] General xml insets tidy up
- [x] Getting Started check (Chris)
- [x] Incompressible solver check (Andrea)v5.0.0Chris CantwellDave MoxeyChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1091Fix warnings issued by clang on OSX El Capitan.2019-10-28T12:52:38ZChris CantwellFix warnings issued by clang on OSX El Capitan.This MR addresses a few additional warnings raised by clang on OS X El Capitan.This MR addresses a few additional warnings raised by clang on OS X El Capitan.v5.0.0Dave MoxeyDave Moxeyhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1058Fix flowrate feature for homogeneous cases2019-10-26T14:49:52ZAndrea CassinelliFix flowrate feature for homogeneous casesThe flowrate feature currently has issues in the homogeneous case with force explicitly defined (not aligned with the Fourier expansion). The following need to be addressed:
- [x] Fix area calculation by initialising communicator for Ex...The flowrate feature currently has issues in the homogeneous case with force explicitly defined (not aligned with the Fourier expansion). The following need to be addressed:
- [x] Fix area calculation by initialising communicator for ExpList2DHomogeneous1D (the boundary) and adjust v_Integral to carry out AllReduce with the whole communicator.
- [x] Since VectorFlux (in MeasureFlowrate) applies to a 1D expansion, divide the area by the spanwise width.
- [x] Make sure VectorFlux is retrieving the correct flux.
- [x] Add documentation specifying that in the case of force aligned with the z-direction the force _should not_ be specified.
Attached are the test cases being cross-checked.
[channel_3D.xml](/uploads/dde6e1879976c01ee7722bd09f8ed4a8/channel_3D.xml)
[channel_3DHom1D.xml](/uploads/fa4a22d501d5525fd7fe44fdcf689611/channel_3DHom1D.xml)v5.0.0Dave MoxeyAndrea CassinelliSpencer SherwinDave Moxeyhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1017coupling: set default sendmethod to evaluate2019-10-23T22:43:55ZKilian Lackhovecoupling: set default sendmethod to evaluateWith the changes in !996, the direct evaluation of the expansion is sufficiently fast to make it the default method.With the changes in !996, the direct evaluation of the expansion is sufficiently fast to make it the default method.v5.0.0Chris CantwellChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1070Avoid unsetting Python variables from CMake cache on every build2019-10-15T23:18:28ZDave MoxeyAvoid unsetting Python variables from CMake cache on every buildThis MR adjusts CMake configuration for Python to avoid resetting all of the internal variables (e.g. `PYTHON_EXECUTABLE`) on every configuration. Instead the configuration is only re-run if `NEKTAR_USE_PYTHON3` has changed, which allows...This MR adjusts CMake configuration for Python to avoid resetting all of the internal variables (e.g. `PYTHON_EXECUTABLE`) on every configuration. Instead the configuration is only re-run if `NEKTAR_USE_PYTHON3` has changed, which allows custom Python installs to be used and fixes #133.v5.0.0Chris CantwellChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1085Alter Tester to allow for multi-program execution for CWIPI tests2019-10-13T14:16:43ZDave MoxeyAlter Tester to allow for multi-program execution for CWIPI testsThis MR fixes #179 by providing additional syntax to `.tst` files, allowing `Tester` to more robustly construct the command to execute.This MR fixes #179 by providing additional syntax to `.tst` files, allowing `Tester` to more robustly construct the command to execute.v5.0.0Chris CantwellChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1086fixing fallthrouh for gcc and making it homogeneous2019-10-11T16:51:03ZGiacomo Castiglionifixing fallthrouh for gcc and making it homogeneousgcc 7.4.0 on ubuntu 18.04 complains about `BOOST_FALLTHROUGH;` so I replaced it with `/* Falls through. */` which was already used in other parts of the code.gcc 7.4.0 on ubuntu 18.04 complains about `BOOST_FALLTHROUGH;` so I replaced it with `/* Falls through. */` which was already used in other parts of the code.v5.0.0Chris CantwellChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1079Add error messages for use of ARPACK in serial2019-10-11T14:38:19ZDave MoxeyAdd error messages for use of ARPACK in serialThis MR fixes #160 by adding error messages for the use of ARPACK in parallel.This MR fixes #160 by adding error messages for the use of ARPACK in parallel.v5.0.0Chris CantwellChris Cantwellhttps://gitlab.nektar.info/nektar/nektar/-/merge_requests/1055Fix warnings2019-10-10T22:29:50ZChris CantwellFix warningsThe MR turns on more pedantic compiler warnings and addresses those which then arise. The majority of warnings were of the following types:
* Unused parameters: These occur most often when the specialised implementation of a virtual fu...The MR turns on more pedantic compiler warnings and addresses those which then arise. The majority of warnings were of the following types:
* Unused parameters: These occur most often when the specialised implementation of a virtual function does not use all of the parameters provided by the interface. There are several approaches to address this, including:
1. removing the parameter identifier in the function prototype,
2. commenting-out the parameter identifier to retain the meaning, and
3. declaring a dummy use of the parameter to suppress the warning.
The latter was chosen, specifically implemented using `boost::ignore_unused()`, as this sometimes occurs when a parameter is used only in debug mode, which precluded the other options.
* Variable may be used uninitialised: Appropriate default values were given.
* Use of constants in conditionals: This mostly appeared due to assertions of the form `ASSERTL0(false, "msg");`. These were replaced with `NEKERROR(ErrorUtil::efatal, "msg")` to avoid the conditional expression.v5.0.0Chris CantwellDave MoxeyChris Cantwell