Releases: MFlowCode/MFC
MFC v4.3.1
What's Changed
- remove surface tension by @sbryngelson in #58
- modularize patch check in pre_process by @sbryngelson in #59
- new initial condition modules to modularize by @sbryngelson in #60
- CBC issue fixed by @anandrdbz in #61
- added inline riemann avg state by @sbryngelson in #62
- Small fixes by @henryleberre in #64
- Fix #65 by @anshgupta1234 in #66
Full Changelog: v4.3.0...v4.3.1
MFC v4.3.0
What's Changed
- Cray Fortran + Docs + Toolchain Refactor by @henryleberre in #52
- Update m_mpi_proxy.fpp by @sbryngelson in #55
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
- @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
- Finish viscous refactoring by @wilfonba in #44
- Add support for cylindrical to monopoles by @haochey in #46
- Close #13 by @anshgupta1234 in #39
New Contributors
- @wilfonba made their first contribution in #44
- @haochey made their first contribution in #46
- @anshgupta1234 made their first contribution in #39
Full Changelog: v4.1.3...v4.2.0
MFC v4.1.3
Code refactoring and bug fixes. Modules split as appropriate to enhance the readability of code. Thanks @henryleberre @wilfonba @anandrdbz .
Updated MFC logos and banners
Updated to the new MFC logo design.
Zenodo citation added
Zenodo citation added. Minor build system fixes.
Hypoelasticity added (including GPU support)
@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
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
Bubbly flows now support quadrature-based moment methods!