Skip to content

Commit

Permalink
Merge branch 'master' into merge-441
Browse files Browse the repository at this point in the history
* master: (27 commits)
  Fix contributor's name
  Update release date
  Update changelog
  Revert SONAME/SOVERSION to 4.4.0
  Fix test-bout-override-default-option for cmake
  Update DOI and release date for 4.4.1
  Update changelog for 4.4.1
  Update translation files for 4.4.1
  Bump version to 4.4.1
  Enable setting SNES solver PETSc options from input file
  Try to consolidate some loops/branches in SNESSolver
  Use `BOUT_ENUM_CLASS` for `SNESSolver::equation_form`
  Use `std::vector/array` instead of C style arrays
  Remove `__FUNCT__` macros for PETSc callbacks
  Update backport of beuler/snes solver
  Fix typo in docs
  Remove IDL section and recommend xBOUT for analysis
  Recommend using xBOUT for manipulating restart files
  Update log output in "running BOUT++" manual section
  Move "Initialising solver" message to top of `Solver::solve`
  ...
  • Loading branch information
ZedThree committed Jan 21, 2022
2 parents af3828f + 43ca9d7 commit 80dfb06
Show file tree
Hide file tree
Showing 18 changed files with 995 additions and 337 deletions.
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,26 @@

See [\#2154](https://github.com/boutproject/BOUT-dev/pull/2154).

## [v4.4.1](https://github.com/boutproject/BOUT-dev/tree/v4.4.1) (2021-12-15)

[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v4.4.0...v4.4.1)

**Merged pull requests:**

- Back-port beuler/snes improvements to master [\#2459](https://github.com/boutproject/BOUT-dev/pull/2459) ([bendudson](https://github.com/users/bendudson))
- Update "Running BOUT++" documentation [\#2475](https://github.com/boutproject/BOUT-dev/pull/2475) ([ZedThree](https://github.com/users/ZedThree))
- Raise more descriptive error if converting Option fails [\#2474](https://github.com/boutproject/BOUT-dev/pull/2474) ([ZedThree](https://github.com/users/ZedThree))
- Print correct CMake build directory in configure message [\#2473](https://github.com/boutproject/BOUT-dev/pull/2473) ([ZedThree](https://github.com/users/ZedThree))
- CMake: Fix using the build directory directly [\#2464](https://github.com/boutproject/BOUT-dev/pull/2464) ([ZedThree](https://github.com/users/ZedThree))
- Add `bout::utils::` prefix to `visit` [\#2463](https://github.com/boutproject/BOUT-dev/pull/2463) ([ZedThree](https://github.com/users/ZedThree))
- Fix SUNDIALS download git tag [\#2462](https://github.com/boutproject/BOUT-dev/pull/2462) ([ZedThree](https://github.com/users/ZedThree))
- Fix permission of shared objects [\#2433](https://github.com/boutproject/BOUT-dev/pull/2433) ([dschwoerer](https://github.com/users/dschwoerer))
- Fix BOUT_OVERRIDE_DEFAULT_OPTION() [\#2417](https://github.com/boutproject/BOUT-dev/pull/2417) ([johnomotani](https://github.com/users/johnomotani))
- Ensure MPI is initialised before writing [\#2409](https://github.com/boutproject/BOUT-dev/pull/2409) ([dschwoerer](https://github.com/users/dschwoerer))
- Remove `<optional>` include from uuid (v4.4.1) [\#2407](https://github.com/boutproject/BOUT-dev/pull/2407) ([ZedThree](https://github.com/users/ZedThree))
- Fix make install [\#2401](https://github.com/boutproject/BOUT-dev/pull/2401) ([dschwoerer](https://github.com/users/dschwoerer))
- Fix soname [\#2400](https://github.com/boutproject/BOUT-dev/pull/2400) ([dschwoerer](https://github.com/users/dschwoerer))

## [v4.4.0](https://github.com/boutproject/BOUT-dev/tree/v4.4.0) (2021-07-30)

[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v4.3.3...v4.4.4)
Expand Down
8 changes: 4 additions & 4 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ authors:
- family-names: Grinaker
given-names: Eric

- family-names: Breyiannia
- family-names: Breyiannis
given-names: George

- family-names: Muhammed
Expand Down Expand Up @@ -164,11 +164,11 @@ authors:
- family-names: James
given-names: Toby

version: 4.4.0
date-released: 2020-08-06
version: 4.4.1
date-released: 2022-01-13
repository-code: https://github.com/boutproject/BOUT-dev
url: http://boutproject.github.io/
doi: 10.5281/zenodo.5167527
doi: 10.5281/zenodo.5776785
license: 'LGPL-3.0-or-later'
references:
- type: article
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -660,7 +660,7 @@ if (BOUT_USE_SUNDIALS)
FetchContent_Declare(
sundials
GIT_REPOSITORY https://github.com/ZedThree/sundials
GIT_TAG "4f3bb8281c7b27343bcb95386ebbb665fb6196a5"
GIT_TAG cmake-export-fixes
)
set(EXAMPLES_ENABLE_C OFF CACHE BOOL "" FORCE)
set(EXAMPLES_INSTALL OFF CACHE BOOL "" FORCE)
Expand Down
4 changes: 4 additions & 0 deletions bout++Config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ if(EXISTS "@SLEPC_DIR@")
endif()
if(EXISTS "@SUNDIALS_ROOT@")
set(SUNDIALS_ROOT "@SUNDIALS_ROOT@")
elseif(EXISTS "@SUNDIALS_BINARY_DIR@")
list(APPEND CMAKE_PREFIX_PATH "@SUNDIALS_BINARY_DIR@")
endif()
if(EXISTS "@FFTW_ROOT@")
set(FFTW_ROOT "@FFTW_ROOT@")
Expand All @@ -64,6 +66,8 @@ if(EXISTS "@ScoreP_ROOT@")
endif()
if(EXISTS "@netCDFCxx_ROOT@")
set(netCDFCxx_ROOT "@netCDFCxx_ROOT@")
elseif(EXISTS "@NCXX_BINARY_DIR@")
list(APPEND CMAKE_PREFIX_PATH "@NCXX_BINARY_DIR@")
endif()
if(EXISTS "@PVODE_ROOT@")
set(PVODE_ROOT "@PVODE_ROOT@")
Expand Down
7 changes: 7 additions & 0 deletions change_summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
This is a slightly more readable, and therefore incomplete, summary of
the changes from the full [changelog](CHANGELOG.md)

4.4.1 is a bugfix release:
- Fixed some issues building BOUT++ on MacOS
- Fixed some issues when installing
- Fixed some issues when downloading SUNDIALS and netCDF C++
- Fixed some out of date documentation
- Some improvements/fixes to the `beuler/snes` solver

4.4.0 is a feature release. The main new features are:
- The CMake support has been expanded, and will replace the autotools build
system in the next major release. See [the CMake installation
Expand Down
8 changes: 8 additions & 0 deletions include/bout/petsclib.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ public:
/// was passed to the constructor.
void setOptionsFromInputFile(KSP& ksp);

/// Set options for a SNES linear solver that uses the options specific to this PetscLib,
/// by setting an options prefix for the SNES, and adding that prefix to all the options
/// set in the [petsc] section, or [petsc] subsection of the options, if non-null 'opt'
/// was passed to the constructor.
void setOptionsFromInputFile(SNES& snes);

/*!
* Force cleanup. This will call PetscFinalize, printing a warning
* if any instances of PetscLib still exist
Expand Down Expand Up @@ -125,6 +131,7 @@ private:
// PETSc not available, so KSP not already defined. KSP should never be called, so forward
// declaration OK here.
class KSP;
class SNES;

class PetscLib {
public:
Expand All @@ -134,6 +141,7 @@ public:
static void setArgs(int &UNUSED(c), char** &UNUSED(v)) {}

void setOptionsFromInputFile(KSP& UNUSED(ksp)) {}
void setOptionsFromInputFile(SNES& UNUSED(snes)) {}

static void cleanup() {}
};
Expand Down
4 changes: 2 additions & 2 deletions include/bout/sys/variant.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ struct StaticCastOrThrow {
/// in which case std::bad_cast will be thrown at runtime
template <typename Variant, typename T>
T variantStaticCastOrThrow(const Variant &v) {
return visit( details::StaticCastOrThrow<T>(), v );
return bout::utils::visit( details::StaticCastOrThrow<T>(), v );
}

namespace details {
Expand All @@ -152,7 +152,7 @@ struct ToString {
} // namespace details

template <typename Variant>
std::string variantToString(const Variant& v) { return visit(details::ToString(), v); }
std::string variantToString(const Variant& v) { return bout::utils::visit(details::ToString(), v); }

} // namespace utils
} // namespace bout
Expand Down
9 changes: 9 additions & 0 deletions make.config.in
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,15 @@ endif
$(INSTALL_DATA) lib/libbout++.a $(DESTDIR)@libdir@
$(INSTALL_DATA) lib/libpvode.a $(DESTDIR)@libdir@
$(INSTALL_DATA) lib/libpvpre.a $(DESTDIR)@libdir@
ifneq ("@SHARED_EXTRA@x", "x")
$(INSTALL_PROGRAM) lib/libbout++.so.$(SONAME) $(DESTDIR)@libdir@
$(INSTALL_PROGRAM) lib/libpvode.so.* $(DESTDIR)@libdir@
$(INSTALL_PROGRAM) lib/libpvpre.so.* $(DESTDIR)@libdir@
rm -f $(DESTDIR)@libdir@/lib{bout++,pvode,pvpre}.so
ln -s libbout++.so.$(SONAME) $(DESTDIR)@libdir@/libbout++.so
ln -s libpvode.so.1.0.0 $(DESTDIR)@libdir@/libpvode.so
ln -s libpvpre.so.1.0.0 $(DESTDIR)@libdir@/libpvpre.so
endif
$(INSTALL_PROGRAM) bin/bout-config $(DESTDIR)@bindir@
$(INSTALL_PROGRAM) bin/bout-log-color $(DESTDIR)@bindir@
$(INSTALL_DATA) tools/idllib/*.pro $(DESTDIR)@datadir@/bout++/idllib/
Expand Down
Loading

0 comments on commit 80dfb06

Please sign in to comment.