Skip to content

Releases: barbagroup/PetIBM

v0.5.4

30 May 19:50
92b104b
Compare
Choose a tag to compare
  • transitioned to CMake system
  • made the API examples more independent of PetIBM
  • enabled symbolic expression for initial conditions
  • fixed iteration number of AmgX wrapper
  • updated documentation correspondingly

v0.5.3

18 Mar 21:52
ffdbe25
Compare
Choose a tag to compare

Changed

  • Upgrade PETSc to version 3.16
  • Added information of Docker and Singularity images.
  • Updated dependency information.

v0.5.2

07 Sep 16:04
a657821
Compare
Choose a tag to compare

0.5.2


Added

Changed

Copyright year.

Fixed

Issue #157
Issue #151

Removed

v0.5.1

09 Feb 00:00
97bc592
Compare
Choose a tag to compare

0.5.1


Added

Changed

Fixed

  • ProbeVolume: write a PETSc Index Set to the output file (HDF5 or ASCII) for the volume probe. The index set contains the natural index of the points located inside the volume being monitored. During post-processing stage, the index set can be used to re-arrange field values of the sub-volume and visualize the solution. Without this index set, the PETSc vector for the sub-volume (obtained with the PETSc routine VecGetSubVector) did not output the values in the natural ordering of the vector. VecGetSubVector simply concatenates the values in the parallel ordering of the vector. This problem only affected simulations running with multiple MPI processes where the window being monitored span over multiple process domains. (See PR #147.)

Removed

v0.5

11 Dec 21:42
Compare
Choose a tag to compare

Added

  • Allow to configure PetIBM against PETSc 3.12.x.

Changed

  • Default directory to output files generated by PetIBM is now the output folder in the current working directory. (User has the possibility to change the path of the output directory with the command-line option -output <path of the folder>.)
  • Use PETSc-3.12.2 to test PetIBM with Travis CI.
  • Copy examples folder into installation directory upon make install.

Fixed

  • Fix name of the file used to output the body coordinates; bug only affected simulations dealing with multiple immersed bodies with prescribed kinematics.

Removed

  • Dockerfile files and Singularity recipes. These files are now version-controlled in a separate GitHub repository: petibm-recipes.

v0.4.2

19 Jul 20:11
Compare
Choose a tag to compare

Added

  • Add possibility to choose the order of the truncated Taylor series expansion for the inverse of the implicit operator. The order can be set in the YAML configuration file using the key BN under the YAML node parameters. (The default value is BN: 1.)

Changed

  • Use -pc_factor_mat_solver_type instead of -pc_factor_mat_solver_package in the configuration files for the forces solver. (This removes the deprecation warning when using PETSc-3.9+.)

Fixed

  • Probes: fix index for pressure field when using a volume probe (see PR #145).

Removed

v0.4.1

06 Jun 22:53
Compare
Choose a tag to compare

Added

Changed

Fixed

  • Probes: monitor the correct sub-domain using indices with PETSc ordering, not natural ordering (see PR #144).

Removed

v0.4

30 Nov 21:49
47803d8
Compare
Choose a tag to compare

Added

  • Add possibility to use configuration arguments --with-<package>-include=<path> and --with-<package>-lib=<path> (instead of --with-<package>-dir=<path>) for yaml-cpp, gtest, AmgX, and AmgXWrapper. (--with-<package>-dir=<path> is still supported for those packages.)
  • Add classes to monitor the solution in sub-regions or at specific points (using linear interpolation). YAML configuration should be provided in the node "probes". (See Markdown documentation doc/markdowns/inputs.md for details on how to use.)
  • Install application header files upon make install call. The header files are installed in the include folder of the install directory. A user can now create new classes that inherits from an application class.
  • Add a simple class RigidKinematicsSolver in the applications folder to handle cases with moving rigid bodies (with prescribed kinematics). The user should create a class that inherits from RigidKinematcsSolver and that implements the methods to update the coordinates and velocity of the Lagrangian points, setCoordinatesBodies and setVelocityBodies.) For example, if you want to compute the flow around a flapping wing, you just have to create a class (outside the PetIBM source directory) that inherits from the application class RigidKinematicsSolver and implement the case-specific methods to update the location and velocity of the wing.
  • Add possibility to implement different kernels for the regularized delta function. (The 3-point delta function from Roma et al. (1999) and the 4-point delta function from Peskin (2002) are currently available in PetIBM.)

Changed

  • Upgrade to yaml-cpp-0.6.2 when downloading building yaml-cpp at PetIBM configuration time (configuration flag --enable-yamlcpp).
  • Re-format code with clang-format. The clang-format style file is added to the repository.
  • Re-write I/O functions to provide file paths that include the extension.
  • Re-write application codes to simplify main functions (move PetIBM object instantiations into the init method of the application class).
  • Change the scheme for the prediction of the forces at the beginning of a time step. Now using the forces from the previous time steps as prediction. (This is named "scheme 2" in Li et al., 2016.) Using this scheme avoids having to reset the vector of the Lagrangian momentum forcing every time step. (According to the authors there is little difference in the results between the different forcing schemes.)
  • For each example, move the configuration files for the solvers into the sub-folder config of the simulation directory.
  • Update the example for the 2D in-line oscillating cylinder to use the newly implemented application class RigidKinematicsSolver.

Fixed

Removed

  • Remove Boost dependency; configuration does not check for Boost anymore.

v0.3.1

25 May 21:15
Compare
Choose a tag to compare

0.3.1


JOSS revision.

Added

  • Add section in README and documentation on how to use the API.
  • Add simple Navier-Stokes solver using the PetIBM API in the folder examples/api_examples.

Changed

  • Rename application code tairacolonius into ibpm (Immersed Boundary Projection Method); binary program now named petibm-ibpm.
  • Make YAML converters and operator< private.
  • Move example of oscillating cylinder to folder examples/api_examples.
  • Update optional dependency AmgXWrapper with latest version (1.4).

Fixed

  • Remove MPI barrier in routine that creates a directory.
  • Fixed memory leaks in solver programs and utility programs.

Removed

v0.2.1

12 May 00:04
Compare
Choose a tag to compare

Added

Changed

  • Update version of AmgXWrapper (from 1.0-beta2 to 1.4).
  • Update calls to AmgXWrapper routines (due to changes in API).
  • AmgXWrapper-1.4 requires to use PETSc-3.8+. Therefore, when configuring with AmgX, use PETSc-3.8+.

Fixed

  • When checking for AmgX, find and keep only the first occurrence of libamgxsh.so.

Removed

  • When configuring with AmgX, do not check the version of OpenMPI anymore.
  • Do not check for Doxygen.