Skip to content

Releases: MFlowCode/MFC

MFC v4.3.1

18 Jan 00:57
a2b0637
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.3.0...v4.3.1

MFC v4.3.0

14 Jan 02:05
694ad71
Compare
Choose a tag to compare

What's Changed

Includes:

Cray / CCE

Introduce support for the compilation of pre_process and simulation with the Cray Fortran compiler (ftn) for CPUs with limited GPU support. The GPU version of simulation doesn't work yet because of a compiler bug. I am waiting on the vendor to fix this issue. Most GPU-related changes/fixes are included in this Pull Request. These include:

  • Ensuring HDF5 and FFTW3 are not configured/built by the CMake superbuild file for dependencies when Cray is the target compiler. We create dummy CMake targets in this case.
  • Adding the correct flags for compilation with Cray. Since ACC offloading is enabled by default, we supply -h noacc -x acc when targeting CPUs and/or building a target other than simulation.
  • Creating a macros.fpp file to seamlessly handle the allocation of GPU arrays with a single call.
    Adding an entry to mfc.sh load for Crusher.
    mfc.sh
  • We now keep track and install Python dependencies into the virtualenv in a far simpler and more efficient manner.
    Added mfc.sh cloc.
  • Toolchain/

Refactor (for a final time) the toolchain code

  • modes have been replaced with simpler and more versatile switches: --[no-]mpi, --[no-]gpu, and --[no-]debug. These are options that can be turned on and off independently.
  • We properly handle cases where CMake configuration has failed or was incomplete. We do so by checking for the existence of a CMakeCache.txt file.
  • Removed the user .yml configuration file.
  • Parsing of template files has been improved and simplified. Expressions inside {} are now directly passed to eval() with special access to the dictionary of parsed command-line arguments.
  • References to member classes within the global MFCState are no longer. Modules are now publicly available and export their functionality to others.

Website / Documentation

  • MFC's website and documentation have been updated for a smoother user onboarding experience. Note: We now have to build and install the most recent release of Doxygen for the documentation to render properly.
  • I also added bibtex syntax highlighting to the MFC paper citation.

CMake

  • case.fpp files are gone from all targets except simulation.
  • CMakeLists.txt handles src/common code more carefully:
  • src/common code is now preprocessed into src//autogen where is the name of the current target being compiled. This fixes bugs that resulted from different targets updating the same (common) src/common/autogen/*.f90 source files and causing undesirable recompilations.
    src/common is now part of the Fypp include path.

Windows

I updated the mfc.bat file to work better!

Full Changelog: v4.2.0...v4.3.0

MFC v4.2.0

02 Jan 00:57
83528f1
Compare
Choose a tag to compare
  • @anshgupta1234 Separated computation of the conversion between conservative and primitive variables to a common/ module to promote DRY-ness
  • @haochey Added support for using acoustic sources in cylindrical coordinate systems
  • @wilfonba contributed to significant refactoring, shorter modules now!

What's Changed

New Contributors

Full Changelog: v4.1.3...v4.2.0

MFC v4.1.3

30 Nov 20:49
31420aa
Compare
Choose a tag to compare

Code refactoring and bug fixes. Modules split as appropriate to enhance the readability of code. Thanks @henryleberre @wilfonba @anandrdbz .

Updated MFC logos and banners

07 Nov 01:22
e24e59d
Compare
Choose a tag to compare

Updated to the new MFC logo design.

Zenodo citation added

31 Oct 18:52
0f38045
Compare
Choose a tag to compare

Zenodo citation added. Minor build system fixes.

Hypoelasticity added (including GPU support)

27 Oct 02:57
230bc32
Compare
Choose a tag to compare

@js-spratt Congrats on the large effort to add hypoelasticity to MFC! It is now included in the main repository, including 1-3D support and GPU support via OpenACC (performant, at that!). Thanks to @henryleberre for helping with the logisitics.

Release v4.0.0

17 Sep 19:31
Compare
Choose a tag to compare

The biggest update to MFC so far includes:

  • GPU support via OpenACC
  • CI and full test suite
  • New build system including CMake
  • Support for Windows, Mac (Apple Silicon and x86_64), and Linux distros
  • Bug fixes
  • Much more...

QBMM

01 Dec 17:40
Compare
Choose a tag to compare

Bubbly flows now support quadrature-based moment methods!