2017-08-08 Meeting notes

Date

10:00

Attendees

Goals

Discussion items

ItemWhoNotes
Review last meeting

 

 
Review recent commits 

~/Mercury/CleanTrunk$ svn log|more

------------------------------------------------------------------------
r2395-98 | weinhartt | 2017-08-07 22:58:38 +0200 (Mon, 07 Aug 2017) | 1 line

Update to HorizontalMixer

------------------------------------------------------------------------
r2394 | weinhartt | 2017-08-07 18:15:00 +0200 (Mon, 07 Aug 2017) | 12 lines

Corrected some issues with the rotation of walls.

- All walls now use the position and orientation to define where they are located 
- This affects mostly the IntersectionOfWalls, which ignored position and orientation values

------------------------------------------------------------------------
r2393 | irana | 2017-08-07 09:35:46 +0200 (Mon, 07 Aug 2017) | 2 lines

Application code for Chris Johnson.

------------------------------------------------------------------------
r2392 | weinhartt | 2017-08-03 08:50:24 +0200 (Thu, 03 Aug 2017) | 1 line

added more Documentation, in particular xballs documentation

------------------------------------------------------------------------
r2391 | weinhartt | 2017-08-02 18:08:15 +0200 (Wed, 02 Aug 2017) | 1 line

corrected computation of stresses in CGHandler; branch vectors were computed wrongly if there are periodic boundaries
------------------------------------------------------------------------
r2388-90 | marnix | 2017-08-02 10:55:19 +0200 (Wed, 02 Aug 2017) | 6 lines

feature update: parallel periodic boundaries

Added functionality where a particle in the mpi domain
moves through a periodic boundary correctly, such
that the mpi particles on the other processor mimick
it exactly

------------------------------------------------------------------------
r2387 | irana | 2017-08-02 09:47:12 +0200 (Wed, 02 Aug 2017) | 3 lines

Application Irana: evolving the Bidispersed chute, also adding an
application that takes a restart file and uses live CG for bidisperse flows.

------------------------------------------------------------------------
r2386 | irana | 2017-08-02 09:45:51 +0200 (Wed, 02 Aug 2017) | 4 lines

Bugfix: when reading a restart file, DPMBase::readRestartFile(std::string)
now checks if .restart is in the name with find, instead of checking whether
the file name ends with .restart.

------------------------------------------------------------------------
r2385 | weinhartt | 2017-08-01 19:19:04 +0200 (Tue, 01 Aug 2017) | 1 line

Improved a logger message Kasper had trouble with
------------------------------------------------------------------------
r2384 | weinhartt | 2017-08-01 13:50:24 +0200 (Tue, 01 Aug 2017) | 1 line

added selftest for file i/o, also added access function for computing collision time from a particle instead of the mass
------------------------------------------------------------------------
r2379-80, r2383 | weinhartt | 2017-08-01 11:32:28 +0200 (Tue, 01 Aug 2017) | 26 lines

#MDPM-228 Changed behaviour of Files class:

instead of writing

dpm.restartFile.open();
dpm.writeRestartFile();
dpm.restartFile.close();
you now should simply write
dpm.writeRestartFile();

------------------------------------------------------------------------
r2382 | jmft2 | 2017-08-01 10:36:53 +0200 (Tue, 01 Aug 2017) | 2 lines

BaseInteractable.h - needs to #include <vector>

------------------------------------------------------------------------
r2381 | irana | 2017-07-31 10:37:15 +0200 (Mon, 31 Jul 2017) | 1 line

Also removed the assert_always in getDPMBase
------------------------------------------------------------------------

r2378 | marnix | 2017-07-28 13:16:23 +0200 (Fri, 28 Jul 2017) | 4 lines

application: paralle periodic boundary unit test

Tests what happens if a particle ends up right on top of a parallel periodic boundary

------------------------------------------------------------------------
r2377 | marnix | 2017-07-28 13:15:11 +0200 (Fri, 28 Jul 2017) | 6 lines

bug fix: parallel periodic boundaries

More of a glitch, I expect this will rarely or never happen,
but the case of a particle ending _exactly_ on a periodic boundary is
now handled correctly

------------------------------------------------------------------------
r2376 | Bert | 2017-07-27 15:41:03 +0200 (Thu, 27 Jul 2017) | 6 lines

added new functions for building plates and tetrahedons and their respective
version for when using STL read file (soon to follow). These are put in the
IntersectionOfWalls.

------------------------------------------------------------------------
r2375 | marnix | 2017-07-27 11:38:56 +0200 (Thu, 27 Jul 2017) | 5 lines

bug fix: parallel code

Fixed a bug where a particle was added exactly on
the boundary of two domains.

------------------------------------------------------------------------
r2374 | marnix | 2017-07-27 10:34:16 +0200 (Thu, 27 Jul 2017) | 8 lines

Application: A unit test

A parallel unit test (doesn't run automatically yet)
Unit tests the communication between periodic boundaries and parallel boundaries.

Note: This version currently still relies on the "test periodic boundary"
In a future update this test periodic boundary will be merged into all other periodic boundaries

------------------------------------------------------------------------
r2372 | antRthorn | 2017-07-27 05:55:32 +0200 (Thu, 27 Jul 2017) | 118 lines

Part 3 :: The reintegration with Trunk

1475 Kasper add of add large add small
This is skipped as it is not general enough for the DPM base locations it is current included and needs to be changed. This is assigned jira job number MDPM-162


Merge :: Merging Alpha -> Trunk. This one is dealing with changes 1618-2318 . Details are below:

1475 SKIPPED Code not general enough
1618 BLOCKED Adding a file about merging that should only be in the Alpha
1621 BLOCKED Merge from Trunk to Alpha
1623 BLOCKED Merge from Trunk to Alpha
1624 BLOCKED Merge from Trunk to Alpha
1625 MERGED USER Dir Arianna for Clay particles
1626 BLOCKED Merge from Trunk to Alpha
1627 MERGED Update to UserDir Arianna
1628 MERGED Feature update: Charged bonded particles
1629 MERGED Clean up: Charged bonded particles
1630 MERGED Clean up: Adding const in places
1635 MERGED Feature update: Charged bonded particles.
1636 MERGED Feature update: Willet interaction model
1637 MERGED Cleanup: Removing unused code
1638 MERGED Feature update: Liquid migrating model
1639-1640 MERGED Drivers: New drivers for rotating drums
1642 MERGED Doc: Improved documentation of the hour glass
1643 MERGED Doc: Improved documentation of the AxisymmetricIntersectionOfWalls
1644 MERGED Clean up: General fixing of spelling mistakes in comments
1645 MERGED Bug fix: HourGlass3dDemo was broken before
1646 MERGED Feature update: Turning off vtk wall writerr by default
1647 MERGED Doc: More documentation on the logger
1649 MERGED Drivers: Adding drivers for Hao
1650-1651 MERGED Doc: Improving the Developers guide
1654 MERGED Drivers: Update to Hao drivers
1655 MERGED Cleanup: SinterInteractions
1656 MERGED Driver: New code to check the effect of time step size
Clean up : Adding some const
1661-1662 MERGED Driver: OscillatingLeesEdwards for Kasper
1664 MERGED Driver: Oscillating shear box added
1665 MERGED Driver: Helicoid wall from Luca
1669 MERGED New feature: SphericalWall
Cleanup: More logger output
r1670-1674 MERGED Updates: Changes and updates for the sintering drivers and code
r1675-1677 MERGED New feature: Triangulated wall
Bug fix: Mercury no longer allow scales to be subtracted or added to vectors
1678 MERGED But fix: Incorrect time step in the interactions
1679-1683 MERGED New feature: Triangulated wall
1684 MERGED New driver: Triangulated screw
1685 MERGED Cleanup: Adding const
1686-1687 MERGED Bug fix: Charged bonded particles.
1688 MERGED New feature: Linear Viscoelastic Friction Charged Bonded Species
1689 MERGED Bug fix: Deprecated flag is disables for gcc as this compiler does not support the attribute
1690 MERGED Bug fix: Fix to MercuryCG
1691 MERGED Feature update: Charged bonded particles
1692 MERGED Bug fix: Some selftest where failing.
1696,1710 MERGED Cleanup: Change of class to typename and a few other things.
1711 MERGED Bug fix: Charged bounded particles
1732 MERGED Bug fix: To XBalls
1733 MERGED User dir: Irana directory, new codes for Maser
1734-1735 MERGED Clean up: Applied coding standards to several files.
1736-1737,1740 MERGED User dir: Update to Irana bidispersed code
1741 MERGED Feature update: Improvement of the Maser
1742 MERGED Cleanup: Adding spaces
1746 MERGED Cleanup: Adding logger and nullptr various places
1747 MERGED Bug fix: HourGlass3DDemo works again
1754,1756 MERGED User dir: Update to Arianna rod code
1768 MERGED Bug fix: This is already in trunk but the merge should work
1784 MERGED Bug fix: Fix to the sintering model
1791 MERGED Feature update: Change to how the sintering model works
1792 MERGED User dir: Update to rod code to show breakage in MercuryDPM
1793 MERGED User dir: Adding extra codes to make nice videos of the Belt (created in Thomas’ user dir)
1794-1796,1799-1800, 1811
MERGED Feature update: Change to how the sintering model works
1830 MERGED New feature: Thermal particle
New driver: Thermal distribution in sintering
New feature: Adding HertzianViscoselastic*FrictionsSpeies (as in multi new species added).
1831-1834 MERGED New feature: Thermal particle
1835-1837 MERGED User Dir: ITO sintering project
1838 MERGED User Dir: Hao adhesive Lees-Edwards
1839 MERGED User Dir: New code to look at breaking/bending rods
1840-1841 MERGED User Dir: ITO sintering project
1842 MERGED Feature update: Change in the way rolling friction was implemented
1845 MERGED User Dir: ITO sintering project
1847 MERGED Feature update: Adding moveSlidingSpring function to Sliding friction force (not big added feature)
User Dir: New code to look at breaking/bending rods
1848 MERGED User Dir: New code to look at breaking/bending rods
1849-1850 MERGED User Dir: ITO sintering project
1851-1853 MERGED Bug fix: Changing SelfTestData that caused a failing selfTest
1854 MERGED User Dir: ITO sintering project
1855 MERGED Bug fix: ChargedBondedInteraction could have a negative energy value
1856-1858 MERGED User Dir: ITO sintering project
1869-1871 MERGED User Dir: Update to Hao directory
1874,1876,1881 MERGED User Dir: ITO sintering project
1953 MERGED Bug fox: Copy constructor of intersectionOfWalls
1956 MERGED User Dir: ITO sintering project
1958 MERGED User Dir: Thomas (note, log mess is a driver code version strange)
1965,1979-1980 MERGED User Dir: Update to Luca’s new screw
1981,1983 MERGED Bug fix: Liquid migrating across periodic walls
1990 BLOCKED Adding Merge notes for the Alpha should only be in the alpha
1993 MERGED User Dir: Update to Hao codes
2074-2074 MERGED New driver: To explain CG better
2128 MERGED Feature update: p3 (now p4 statistics)
2175 MERGED Bug fix: Bug fixes from Beta now going to Trunk
2237-2238,2248 MERGED User dir: Update to Thomas drivers in general
2265 MERGED User dir: Update to Luca codes
2266 MERGED User dir: Update to Mainz codes
2268 MERGED User dir: Disabling of User Thomas sintering test as they fail on linux machine
2269 MERGED Documentation: Fixed typo
2270-2271 MERGED User dir: Update to Luca’s screw
2272-2273,2281 MERGED Cleanup : VTK writing now clearing (new interface)
2284 MERGED Bug fix: LiquidMigrationWilletSpeices can restarts correctly and also updates to periodic wall implementation for liquid bridges. Also other general updates to the liquid bridge model
2285-2286 MERGED Feature update: VTK files writes interactions. Now have interactions and liquid bridge data written so it can be visualised.
2296 MERGED But fix: Adding a missing include which causes problems on certain machines
2302 MERGED User dir: Update to Luca code
2306 MERGED Feature update: VTK files writes interactions.
2318 MERGED User dir: New file to Thomas’ drivers dir

------------------------------------------------------------------------
r2364 | marnix | 2017-07-25 16:47:50 +0200 (Tue, 25 Jul 2017) | 5 lines

bug fix: parallel periodic boundaries

Not all ghost particles where being flagged as "final ghost" particles.
i.e. particles that are not allowed to make new ghosts

------------------------------------------------------------------------
r2358 | marnix | 2017-07-25 14:36:24 +0200 (Tue, 25 Jul 2017) | 6 lines

Bug fix: parallel code And parallel periodic boundaries

The communication between mpi boundaries and pereiodic boundaries
was bugged in the sense that particles were being deleted and found at
wrong moments. This is now fixed.

Status Merge

Anthony Thornton

Done; next Trunk->Alpha merge
Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
   
Name of restarted applicationThomas Weinhart
  • Should the name of a restarted application be the same as stated in the restart-file, or as the Driver code?
  • Add restart counter to keep track how often simulation is restarted
  • Two access functions: restartCode and initialiseFrom, one changes the name.
  • TBD next week (with Irana present)
assert_always->assert in BaseHandler::getObject and BaseHandler::removeObject Unable to locate Jira server for this macro. It may be due to Application Link configuration. Irana Denissen
  • In the past this was an if-statement to check if index is smaller than the size, now assert_always. It is faster to change this in a regular assert, so that it is not checked in Release-mode.
  • We agree
  • logger.assert(i==0,"i is not zero");
Overwriting restart-files can cause problemsJ. M. F. Tsang
  • When using FileType::ONE_FILE for the restart-file, the old restart file is overwritten every time
  • If the simulation is interrupted during writing the file, you only have a corrupted restart-file, and no older restart-file
  • Alternative: use two files, and alternate writing, so that there is always at least one uncorrupted file Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Keep the last three (Job for ant)

Improving wall interactionsBert Scheper

Make a decision between following options:

(or maybe there are alternatives?)

  • Putting the currently implemented triangle walls on a grid
    • Quick dirty option: Abuse the parallel code to do this by only having walls that are in the parallel domain at certain nodes.
    • Better option: Put the walls on a grid for neighbourhood detection
    • Best option: Put walls on the Hgrid
      cons:
    • Complex walls require many triangles
    • Complex walls are an approach
      pros:
    • Triangle walls are already implemented
    • There is an import function written for STL files.

  • Implementing complex walls (B-Splines/NURBS)
    • Similar approach as to the screw walls.
    • There is a lot of math available for this, and my research show this is very possible to implement
      cons:
    • Very complex mathematics, will take some time to implement
    • Requires iterative algorithms to find contact, (similar to screws), although very fast optimised algorithms are available.
      • At this moment simple newton iteration is implemented, there are better methods for the B-Splines
      • According to literature, finding contact requires a maximum of 8 iterations
    • Importing B-Splines (NURBS) will be a pain as well, have to figure out how STEP file format works. (the manual costs 30k)
    • Anthony Thornton I need ISO 10303-21:2002 or newer. I'm in contact with the information specialist at the UT
    • update: ISO 10303 manual costs 300,- for the complete set, the 30k was for certificates. Its most likely lower than 300 for i only need part 21
      pros:
    • Very fast compared to triangle walls
    • Accurate description of walls
    • B-Splines have inherit neighbourhood detection.
    • Normal is defined in the B-Splines, no need to iterate
    • STEP is an ISO standard, once implemented mercury will be compliant with all CAD software

  • Doing Both of the above:
    • Complex walls on a grid ( + Neighbourhood detection)
      cons:
    • Will take a lot of time
      pros:
    • Arguably will be the best option for fast wall interactions

Continue next week

Neighborhood detection for walls (Jira)

Next meeting August 22, 10:30

Action items