← Back to team overview

yade-dev team mailing list archive

Re: New Yade version, beginning of January 2021 - Release notes.


Hi Anton,

the website https://pad.systemli.org/p/yade-2021-release-notes
has reset its content. I pasted there the merge requests from this year.
But also I paste them here. Of course please rearrange as you see fit :)

I might have misplaced some merge request titles. Then please edit this list.
Especially I thought that we had more MPI related stufff happening.

Short summary of 2021.01a release:
short title (Merge Request count)

Documentation                         (41 MRs)
Bug fixes                             (36 MRs)
High precision RealHP<N>              (31 MRs)
Small improvements                    (22 MRs)
Fluid & thermal & particle saturation (14 MRs)
Tests & checks                        (12 MRs)
OpenMPI calculations                  ( 8 MRs)
clang-format in the pipeline          ( 7 MRs)
Packaging improvements                ( 6 MRs)
GUI                                   ( 3 MRs)

Documentation (41 MRs):
  Update installation.rst (asan builds + stuff)
  Add recent publications
  point youtube's 'related videos' to the same channel
  Update front page link to videos: tutorial-more-examples.html more up to date.
  Fix bug and documentation FlowEngine invVoidVolume wrapper
  Fix recent build failures on master with latest docker bullseye image.
  Small docs fix
  Doc typo: missing norm in trial shear force
  Doc Body.groupMask
  User doc
  Update high precision documentation
  Miscellanea doc
  Add example script for opengeomechanics paper
  clarify thermalengine doc
  Documentation makeCloud and makeClumpCloud
  ViscoelasticPM doc update
  Prog doc typo
  Formulation doc typo
  improve cellDist doc
  small addition to the doc to mention verletDist explicitely
  Doc prog.rst update
  FlowEngine.getCell doc
  Doc update of VTKRecorder.fileName
  Prog doc typos and minor changes
  Doc Law2_Polyhedra*
  residualFrictionAngle in radians in JCFpmMat docstring
  Sphinx doc broken link in Prog doc
  O.forces.f doc
  Two Docstrings
  adding open geomechanics reference to doc and pubs
  Add --stdperformance, --quickperformance explanation to documentation.
  Polyhedra Ip2 doc
  MaterialContainer doc typo
  Added Hicham Benniou PhD reference
  Add references to article describing lubrication law
  update publications
  !463 alternative : Added article February 2020 Computational Particle Mechanics

Bug fixes (36 MRs):
  fix #145 seed in makeCloud FIX makeCloud doesn't use "seed"
  Fix pygts module import in python3.9
  Fix PyRunner. Now it can propagate errors upwards.
  Fix #110 FIX Graph yade.plot.live matplotlib numpy update exception
  Fix compilation with python3.9
  fix #157 FIX O.stopAtTime does not do anything useful
  Fix #140 FIX ForceContainerParallel::sync() can count permanent forces twice or more
  Fix https://gitlab.com/yade-dev/docker-yade/issues/1 FIX yade-ci crashes
  export.text2vtk - fixed a bug + refactoring
  Fix #146 FIX "to-Python converter already registered" RuntimeWarning
  Fix even more warnings, print only 'maybe-uninitialized' and '#warning' (!270), faster compilation. (!273)   18 of 18 tasks completed
  fix clang formating mistake, change remaining doubles to Real
  fix tutorial script https://answers.launchpad.net/yade/+question/689537
  Fix printing Vectors by LOG macros.
  Fix GCC-10 compilation #958006
  #153 fix FIX O.energy['nonViscDamp'] misses gravity forces
  Skip url ping-pong for "getting help" page
  fix yade crash, when closing 3D view via "X" window frame button, in Ubuntu 20.04, fixes #164 FIX yade crash when closing the 3D view.
  Fix close view crash
  small mailmap fix and test cleanup
  Little bit of work on #97 : lib/base/Math.hpp should be math only 
  Fix compilation against newer QT5.
  Some small fixes for Sacha : Fix compilation with boost 1.65 and g++ 9.3 combination
  Fix denser grid in GLViewer.
  clumpId type should be Body::id_t, not int. Add fixme note in Math.hpp about issue #97
  Fix #162 - fix building master pipeline due to recent VTK upgrade in OpenSuse 15.
  Fix build on latest bullseye
  Fix doc generation for newer sphinx. #955097
  Workaround MPFR boost bug on ubuntu focal
  Enable OpenMP for MPFR
  SpatialQuickSortCollider is nice, because it's only 70 lines long. But has one bug. FIX groupMask treatment.
  comment out buggy heat flux boundary condition for now
  GCAL version 5.1.1 produces different results (again), but maybe the old results are back?
  Qt::MidButton is deprecated, use MiddleButton instead
  Use boost::filter_iterator for BodyContainer instead of home-backed. #122

High precision RealHP<N> (31 MRs):
  Finalize high precision Real - finished, really :) documentation + put minieigen sources into Yade
  Add check test for Runge Kutta Cash Karp 54 time integrator, error tolerance 1e-147, 147 correct decimal places :)
  checkGravity.py : reduce error tolerance from 1e-3 → 1e-10
  Use the minieigen ↔ yade.minieigenHP redirection when necessary.
  Add High Precision to the gitlab CI pipeline
  Ensure that VTK is compatibile with Real - Without Macros.
  std::weibull_distribution can't understand Real type so use boost::weibull_distribution
  OpenGL Real compatibility
  Lapack Compatibility with Real type.
  Remove Real from global namespace.
  Another step towards enabling high precision Real
  Adapt checks and tests to high precision Real.
  Add RealHP<N> : double, quadruple and more precisions.
  Bit correctness: extra tests for RealHP<N>
  Small HP cleanup: don't use std::to_string.
  The last remaining double to Real changes (2/2)
  The last remaining double to Real changes (1/2)
  Remove #DEFINEs from MathFunctions.hpp
  Remove unused variables uN, uT.
  don't use operator++ for floating point type.
  Replace std:: with math:: when invoking math functions. (6/4) - optional, remove even more using std::min, std::max.
  Replace std:: with math:: when invoking math functions. (2/4)
  Replace std:: with math:: when invoking math functions. (3/4)
  Replace std:: with math:: when invoking math functions. (4/4)
  Replace std:: with math:: when invoking math functions. (5+6/4) - optional, remove more using
  Replace std:: with math:: when invoking math functions. (1/4)
  put minieigen sources back into Yade
  Remove a couple of non-math:: using directives.
  If necessary use mpmath.linspace instead of numpy.linspace. (high precision on python side)
  Enable high precision CGAL
  Avoid raw memory access for high precision types.

Small improvements (22 MRs):
  added utils.randomOrientation function
  libVersions detects architecture.
  Use std::ofstream in pkg/dem/PDFEngine.cpp instead of old C interface for writing data files.
  Use C++17 standard, remove Loki dependency.
  Use vtkSmartPointer to handle memory release
  small mailmap update.
  Merge PotentialBlockVTKRecorder and PotentialBlockVTKRecorderTunnel engines
  A better Wall-Polyhedra normal
  Update warning message for deprecated GravityEngine
  Clean shape: Add #ifdef YADE_FEM in core/Shape.hpp
  Add seed value for periodic packings
  improved O.stopAtTime
  frictionAngle in radians for examples
  Removing Vector4r definition from Lin4NodeTetra
  Add ymport.stl.shift
  Add ymport.stl.scale parameter
  change Shop::aabbExtrema from a Python tuple to a C++ pair.
  Add seed parameter to MakeClumpCloud
  Un-expose breakOccurred to avoid user confusion
  remove remaining FOREACH loops on bodies
  consistent use of 'et' in ViscoelasticPM (LP Answer 691009)

Fluid & thermal & particle saturation (14 MRs):
  Adding flux type boundary condition (thermalEngine) for Luc Scholtes and Ahmed Mostafa
  Protect from segfault after looping on erased particles in thermalengine
  improving the particle sat field estimate, other small improvements
  Partial sat clay patch
  Partial sat update
  add Ip2 functor for PartialSatMat
  Add lubrication examples
  add the packing used in thermalengine examples
  add example scripts demonstrating ThermalEngine functionality
  decouple mechanical and partialsat timesteps
  Update conductionVerification.py
  add fully coupled THM example, add citation to thermalengine publication
  a more robust cmake when cgal or pfvflow are disabled and dependent modules...
  add PFV tools for getting cell velocity and volume

Tests & checks (12 MRs):
  Improve multithread debugging and logging. Add TRVARn(…), LOG_TIMED_*(5seconds,msg)
  Make sure gitlab CI pipeline shows all the output.
  improve error checking
  Print time spent on each of the --checks
  Add VTKRecorder check.
  Add vectorized compilation to the pipeline
  make runtime of two checkScripts acceptable
  Improve performance test, add it to the pipeline.
  Add multi core check
  add enum tests and fix .deb builds
  Add 32bit architecture to the pipeline.

OpenMPI calculations (8 MRs):
  Correct and improve two methods in domaindecomposition.py
  Mpy update
  cleaner exit and spawn/despawn
  MpiDoc rebased
  One Py3-required LOG_TRACE, Making Py3 mandatory for MPI compilation. Fix #144 Py2 (no-)support
  fix thread-unsafe assignment of permForceSynced (fix #156, setPermF broken)
  Temporarily disable insertionSortParallel() until #138 is solved.
  fix parallel collision detection (fix #138) : FIX Out-of-bounds access in insertionSortParallel

clang-format in the pipeline (7 MRs):
  clang-format ./pkg
  clang-format ./py
  clang-format ./lib
  clang-format ./core
  clang-format gui/qt5. Remove qt4.
  Add clang-format test to the CI pipeline.
  clang-format discussion.

Packaging improvements (6 MRs):
  Prepare 20.04 deb-packages
  Add instructions for yadedaily Ubuntu 20.04 packages
  Update scripts for uploading daily-packages
  Fix deb packages
  build deb also on master pipeline
  Clean aptly DB after update

GUI (3 MRs):
  Draw grid label coordinates, allow custom change of grid density.
  remove unaligned margins in GUI inspect.
  Add enum support for GUI dropdown menus.

Are the extra debian packages yade-long-double or yade-float128, maybe even yade-mpfr150
even possible?

best regards

Janek Kozicki (yade) said:     (by the date of Sun, 6 Dec 2020 00:26:03 +0100)

> Hi Anton,
> Do you think that you could also prepare yade-long-double or
> yade-float128, maybe even yade-mpfr150 packages?
> Better if all of them used ENABLE_MPFR, to avoid slow boost::cpp_bin_float.
> It would work great to protect (via dpkg tests caused by changes in
> other packages) our achievement of having working high precision in
> yade. We don't want this functionality to break at some later time.
> best regards
> Janek
> Anton Gladky said:     (by the date of Mon, 16 Nov 2020 20:13:06 +0100)
> > Hello Jérôme,
> > 
> > our goal is to get the newer Yade into the Debian Bullseye, because
> > it will be the default version for the next two years (till 2023).
> > 
> > It would be good to upload Yade into the repository in January (till soft freeze
> > on 2021-02-12). After that date any upload into the repository should be
> > coordinated with the Release team and is actually not for the new software
> > versions.
> > 
> > If you are able to push your changes till the end of December and all tests
> > are passing, I think it would be possible to accept it for the new release.
> > 
> > I am not a fan of a last-minute commit (especially on Friday afternoon
> > :) ) because it can break the stuff with a very limited time to fix it.
> > 
> > Anyway, if you are not able to do it on time - there is still an
> > opportunity to release a minor version later.
> > 
> > Please take time and test your code (including --test and --check scripts)
> > to prevent breakages and to provide Yade with new and reliable features.
> > 
> > Best regards
> > 
> > 
> > Anton
> > 
> > Am Fr., 13. Nov. 2020 um 11:23 Uhr schrieb Jerome Duriez
> > <jerome.duriez@xxxxxxxx>:
> > 
> > >
> > > Dear all,
> > >
> > > Sorry for the inconvenience but is there any flexibility in that schedule ?
> > >
> > > I have been working on a new Shape child and I may get closer to the
> > > endpoint of my work in the form of a merge request.
> > >
> > > It now represents "32 files changed, 2193 insertions(+), 178
> > > deletions(-)" since 2020.01(a ?) = commit 9964f5.
> > >
> > >
> > > In case there is some flexibility in the schedule and if I'm not the
> > > only one interested in that flexibility (MPI maybe ?..), maybe we could
> > > discuss inclusion of that Shape child in the new release ?
> > >
> > > If not, let it be, I would totally understand to miss that train.
> > >
> > >
> > > Jérôme
> > >
> > > ------
> > > Chargé de Recherche / Research Associate
> > > 3275 route Cezanne – CS 40061 13182 Aix-en-Provence Cedex 5 FRANCE
> > > +33 (0)4 42 66 99 21
> > > https://www6.paca.inrae.fr/recover/membres-du-laboratoire/pages-personnelles/jerome-duriez
> > >
> > > On 12/11/2020 22:18, Anton Gladky wrote:
> > > > Dear Yade users and developers,
> > > >
> > > > As always at the beginning of January I am planning to prepare
> > > > a release of a new Yade version.
> > > >
> > > > Please try to push your changes inyo the code at least till the mid
> > > > of December, so we will have enough time to test it on different
> > > > platforms during the Christmas period and release it on time.
> > > > Also please try not to push too much breaking changes at that
> > > > period..
> > > >
> > > > The new Debian Bullseye release is scheduled already [1]. So we
> > > > should not be too late to prepare a new Yade for the next stable
> > > > Debian version.
> > > >
> > > > Also it would be good to prepare short but meaningful release notes.
> > > > Current git-workflow has too many small log-messages, so it is
> > > > difficult to get meaningful information from there. Please use this
> > > > link to add some notes [2].
> > > >
> > > > [1] https://wiki.debian.org/DebianBullseye
> > > > [2] https://pad.systemli.org/p/yade-2021-release-notes
> > > >
> > > > Thank you
> > > >
> > > > Anton Gladky
Janek Kozicki, PhD. DSc. Arch. Assoc. Prof.
Gdańsk University of Technology
Faculty of Applied Physics and Mathematics
Department of Theoretical Physics and Quantum Information
http://pg.edu.pl/jkozicki (click English flag on top right)

Follow ups