All notable changes to this repository will be documented in this file.
The format is based on Keep a Changelog.
New tutorials:
- Added new multi-scale tutorial two-scale heat conduction with Nutils #343 and DuMuX #376, using the new Micro Manager.
- Added new flow around controlled moving cylinder tutorial, using the new FMI runner #474.
- Added new two-phase FSI tutorial breaking dam with flexible pillar 2D with OpenFOAM (interFoam) and CalculiX #279.
- Added new flow coupling tutorials #326:
- Added new volume coupling cases/tutorials with OpenFOAM:
- Added an OpenFOAM case in the channel transport tutorial #315.
- Added a new tutorial volume-coupled flow #350.
- Added overlapping Schwarz (Dirichlet-Dirichlet coupling) variants for the oscillator #391 and for the partitioned heat conduction tutorials.
New solver options in existing tutorials:
- Added FMU participant options for the oscillator tutorial #466.
- Added an SU2 case in the flow over a heated plate tutorial da7a149.
- Added new solver options in the perpendicular flap tutorial:
- Added a Rust-based solver in the elastic tube 1D tutorial #435.
General and documentation-related changes:
- Added automatic logging in the run scripts #479.
- Added a
.gitignore
and extended the clean-up scripts #477. - Added visualizations of the preCICE configuration file in every tutorial #514.
- Added a list of exact Debian package links in the quickstart tutorial, to reduce cases of users installing the wrong package for their system. Now referring users to releases instead of the master branches of the Git repositories.
Developer-facing changes:
- Added on-demand system regression tests (multiple pull requests, starting from #347).
- Added reference results, in the context of the system regression tests, hosted in an external Git LFS server #419.
- Added a pre-commit hook for preCICE configuration file formatting, and more 1d22c1, #478.
General updates:
- Updated all example codes and configuration files to preCICE v3 (see the porting guide). preCICE v2 is not supported anymore. This has happened in various pull requests.
- Updated the SU2 configuration in the perpendicular flap tutorial, for the updated SU2 adapter da7a149.
- Updated the suggested OpenFOAM version in the Quickstart to OpenFOAM v2312.
- Updated the documentation images for several tutorials, including perpendicular flap (#507, now including reference watchpoint files), heat exchanger: simplified (#327 and #513), elastic tube 3d (#509), multiple perpendicular flaps (#511), and more.
Restructured:
- Modified the following cases to fit the directory structure defined in the now extended contributing guidelines (#461):
Dependency and workflow updates:
- Modified the Turek-Hron FSI3 and the partitioned heat conduction OpenFOAM cases to compute the parabolic inlet profiles using a coded boundary condition, dropping the dependency on groovyBC / swak4Foam #428 (added via a688fa).
- Modified the run scripts so that Nutils is now installed automatically in a virtual environment in all related tutorials #439. Similarly for DUNE-FEM #470.
- Modified the run scripts so that C++ solvers in the elastic-tube-1d tutorial are now built automatically #330.
Improvements and bug fixes:
- Modified all partitioned heat conduction tutorials (including the basic, complex, and direct mesh access variants):
- Modified the configuration file to use the waveform iteration (time interpolation) feature #281.
- Modified the preCICE configuration to use a (simpler) nearest-neighbor mapping #382.
- Modified all cases and solvers to use the same value of
beta
from 1.3 to 1.2 #379. - Modified the FEniCS solvers to apply boundary conditions at the right time #383.
- Modified the FEniCS solver of the basic case to use higher-order implicit Runge-Kutta methods #415.
- Modified the OpenFOAM solver to output error estimations #449.
- Modified the partitioned pipe tutorial:
- Modified the oscillator tutorial to use higher-order time stepping schemes.
- Modified the elastic tube 1d tutorial to export and plot watchpoints #438.
- Modified the configuration of the flow over a heated plate: two meshes tutorial:
- Added an ASTE tutorial #244.
- Added an oscillator tutorial with Python #297.
- Added a uni-directional volume-coupled channel transport tutorial #269.
- Added a volume-coupled channel transport with chemical reactions tutorial #278.
- Added a partitioned heat conduction using direct mesh access tutorial #299.
- Added a simplified heat exchanger tutorial #301.
- Added a solid-openfoam and a solid-solids4foam case for the perpendicular-flap tutorial #286.
- Added a dune-fem case for the flow-over-heated-plate tutorial #274.
- Added a CalculiX case for the flow-over-heated-plate tutorial #271.
- Added a modal dynamic simulation option for the CalculiX case of the perpendicular-flap tutorial #284.
- Added a CI workflow to automatically update the website every time there are new documentation changes #267
- Added a gitignore for code and binaries #290.
- Added more documentation #264, #265, #266 and fixed some typos #285.
- Adapted the multiple-perpendicular-flaps tutorial to a new naming convention for tutorials with multiple participants #303.
- Adapted the material properties of the FEniCS case in elastic-tube-3d to match the CalculiX case results #259.
- Adapted the solid case of the Quickstart tutorial to work with the Intel oneAPI C++ compiler #291.
- Made the Nutils case of the partitioned heat conduction tutorial compatible with Nutils versions 6 to 8 #295, #298.
- Added new volume-coupled-diffusion tutorial with FEniCS #219.
- Added OpenFOAM case to partiitoned-heat #223.
- Added DUNE case to perpendicular-flap #239.
- Added FEniCS case to elastic-tube-3d #223.
- Added this changelog, describing also changes in previous releases #225.
- Changed C3D8 elements to C3D8I elements in perpendicular-flap solid-calculix to improve the results #250.
- Ported the
visualize.py
script of the partitioned-elastic-beam to Python 3 #247. - Reduced the writing frequency of the partitioned-pipe OpenFOAM cases #257.
- Renamed the output directories of all FEniCS cases for consistency #256.
- Removed unnecessary (wrong) read statement in
elastic-tube-1d
#232. - Removed unnecessary (relic) OpenFOAM parameter
nMoles
from flow-over-heated-plate cases with OpenFOAM #234. - Removed unnecessary (relic) OpenFOAM parameter
RAS
from theturbulenceProperties
files of all OpenFOAM cases (we model a laminar flow everywhere and this was confusing) #258. - Removed unnecessary (relic) OpenFOAM files
RASProperties
andcouplingProperties
from elastic-tube-3d #258. - Removed unnecessary (relic) OpenFOAM file
radiationProperties
from heat-exchanger #258. - Removed duplicate default settings from the
fvSchemes
OpenFOAM file of the heat-exchanger #258. - Removed unnecessary (relic) fields and inaccurate copyright notices from the headers of several OpenFOAM files #258.
- Adjusted the formatting in several OpenFOAM files #258.
- Changed the versioning scheme from
<yearmonth>.<minor>.<bugfix>
to<yearmonth>.<bugfix>
.
- Modified the helper tool
openfoam_remove_empty_dirs
such that it also respects results in the compressed OpenFOAM format (76f4482). - Synced the post-processing functionality of the elastic-tube-1d and the respective documentation. (#209)
- Created a first tagged version of this repository along with a release.
- Added a standard run script in each case folder which can be executed as
./run.sh
. - Added a standard clean script in each case folder which can be executed as
./clean<what>.sh
. - Added an easy-to-run tutorial called quickstart.
- Added a validated Turek-Hron FSI3 case with OpenFOAM and non-linear deal.II.
- Moved all documentation to the redesigned preCICE website.
- Created a new directory structure for easy access and also for contributions.
- Modified the 2D cases to use 2D mode in preCICE and also corresponding 2D functionality in the adapters.