Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add small offset in box point capture * Clarifications in nodal swarm * ddt - allowing discontinuous fields for advected points if required * Trying to fix semi-lagrange scheme Major bug (totally my fault) in which I failed to account for particles being reordered after sending and receiving. We now store the node and process for each particle which means we can take small substeps to the sample point and then snap back directly to the launch point. This includes JC's swarm wormhole teleportation code which is required for long trajectories. I'm turning off all smoothing for projection operators which was introduced to counter numerical problems which turned out to be related to this bug. Also, added the possibility to use a sample swarm based on a discontinuous underlying variable. This gives a good spread of points and means that corners / facets where particles may be lost are avoided by particle paths. * Fix regression / testing * Fixing one broken test There are (value related) failures in the advection tests. Of course, advection tests are a bloody nightmare since advection schemes are problematic to validate. Need to understand this before merging PR * Julian's review comments posixpath - not sure why this import is present epsilon in boxmesh return-coords-... - no need to complicate things * Make substepping time-criterion consistent with timestep definition * More minor fixes for adv-diffusion Arise from convection benchmark models. * A couple of fixes * Hackish work around for the PETSc labelling issues with surface integrals The surface integral code falls over if a label is not present on one of the processes. This is identified in issue #240. This workaround adds element-volumes (all of them) to each boundary label. These are not used in the surface integral code in 2D / 3D so they do not change the result. @knepley - we've discussed this issue in the past ... we should figure out the actual origin of the problem. * parallel_view fn for mesh labels Add a parallel_view() function to see the number of labels on each processor. In response to #240 returns something like this: | Boundary Name | ID | Size | Proc ID | | ------------------------------------------------------ | | Bottom | 11 | 2 | 0 | | Top | 12 | 2 | 0 | | Right | 13 | 3 | 0 | | Left | 14 | 0 | 0 | | All_Boundaries | 1001 | 4 | 0 | | Bottom | 11 | 2 | 1 | | Top | 12 | 2 | 1 | | Right | 13 | 0 | 1 | | Left | 14 | 3 | 1 | | All_Boundaries | 1001 | 4 | 1 | | ------------------------------------------------------ | * Label points instead Not a fix, just examining potential workaround choices * Parallel Test utilises previous mesh * try this one * Still just an experiment * Mostly going to give up on the labelling Put most stuff back together. Improve the view() a little bit. Fix the problems with expressions (sympy merging expressions with same symbol - FFS!) Somthing odd with dm re-distribution that should not have been happening. Also fixing up the object id things that are not being respected by sympy. * min viscosity - typo in expression definition * Some changes to the documentation / tidy notebooks Also adding rendering hints in the notebooks for quarto * gh-pages workflow - notebooks * Update publish.yml * Update publication source path * Updating /Adding examples in quick-start user guide 8 notebooks added which demonstrate various parts of the uw3 machinery plus the rendering code to put them on github pages as a quickstart guide. I still need to update the scripts to launch on binder. * Bug fix - discretisation Not zapping the kdtree properly when deforming the mesh. I guess this was a problem in free surface models so I am surprised it was not reported before - is there an open issue about particles added to a deforming mesh ? Minor detail: using invisible hspace in place of the \,\! strings. The width of the hspace is the unique ID / 100 in points. It still looks weird but the code is readable. I tried labels and other things but they break the rendering. There is probably a better way. * updating examples Fixes to advection and expressions to make examples and tests work. * Further fixes --------- Co-authored-by: Ben Knight <[email protected]>
- Loading branch information