Skip to content

The usual siphon of Development into Main - #8

Merged
lmoresi merged 126 commits into
mainfrom
development
Jul 28, 2025
Merged

The usual siphon of Development into Main#8
lmoresi merged 126 commits into
mainfrom
development

Conversation

@lmoresi

Copy link
Copy Markdown
Member

We need to do this to keep up with the PETSc changes (main currently does not build in the CI phase, dev does).

Also, JOSS submission needs to be completed and the auto builds / PETSc layers need to be part of this.

lmoresiand others added 30 commits November 5, 2024 20:40
The environment.yml file was link to the one in the obsolete .binder
folder that we removed when we moved to a separate launch repository
(for efficiency reasons) but we do need the file so ... it's back.
- environment.yml need numpy<2
- setup.cfg calls auto version label, half loading uw3 - remove for now.
MUST pip install with '--no-build-isolation' argument for now.
Expressions need some simplification but first debugging the complicated version
We need to be careful to retain the original expression objects in solver F0 and F1 otherwise we lose the lazy evaluation property. This is for Stokes bodyforce and Stokes F0. Others have not been checked.
This is now a SW-NE specified box on the sphere. Clearly this needs some more work to be complete, particularly in coordinate transformations
It just seems inevitable that we have to have different builds for different machines at this point
Update petsc_generic_snes_solvers.pyx
Fixes#277 to is not yet optimised. More work to come on that.
Adding function to collect data to kdtree points or from kdtree points in the RBF interpolator functionality. We tend to use both depending on the way we want to map between point clouds and so both ways need a general interface.
update two files
- test_1130_IndexSwarmVariable.py
Test IndexSwarmVariable in getting the right value on the Symmetrical
Points.
- Ex_IndexSwarmVariable.ipynb
Vis the errors in the original code
uw.swarm.IndexSwarmVariable._update(), and provide two methods to fix
that.
- MaterialA: the original code
- MaterialB: assign the particles to the nearest mesh_levelset nodes,
and calculate the material property value on mesh_levelset nodes from
them.
- MaterialC: calculate the material property value on mesh_levelset
nodes from the nearest N particles directly.
The values on mesh_levelset nodes (for M_0 indicated by red, P=10.0, for
M_1 indicated by blue, P=1.0)
![image](https://github.com/user-attachments/assets/01c99686-6267-40de-b962-b06e419ea2f9)
The particles used to calculate the value on nodes 6 (blue) and 7 (red)
(nodes 6 & 7 are the points in the middle of the left and right wall)
![image](https://github.com/user-attachments/assets/21fe623c-7538-4b26-a0f8-5559ca43fa90)
Need a further review of these two methods. They work fine for the
structured box, but not well in the unstructured_irregular box.
###
* set CC env variable
Fixes issues with finding mpi
* Gather the CC used by PETSc for UW3 extensions.
Hopefully this is a fix for effiectively getting mpicc.
Need to test using conda next.
---------
Co-authored-by: Julian Giordani <julesghub@users.noreply.github.com>
1. Add version information back to install, it went missing in recent
changes.
2. Remove git revision in utils.auditor - this can be done better when we
move to pyproject.toml
3. Update setup.cfg to be numpy<2
Bug fixes:
- expressions not evaluating when nested
- Solvers: F0, F1 as expressions should not be recreated on assignment
(or the lazy evaluation breaks) change this to be reassignment of the
internal expression
Changes:
- Regional spherical mesh - changed the interface to work on
geographical coordinates (more work required for coordinate
transformations to be user-friendly but it is functional)
1. adding a minus sign to the solver._u_f0 (bodyforce term)
2. fix small bugs in meshing.BoxInternalBoundary
* Added pytest for vector advection with semi-Lagrangian
* Modified vector advection pytest
---------
Co-authored-by: Juan Carlos Graciosa <juan.graciosa@monash.edu>
…on. (#290)
* Added parallel test for checking if particles are lost during nodal swarm advection in SLCN.
* Changed test description.
---------
Co-authored-by: Juan Carlos Graciosa <juan.graciosa@monash.edu>
* Attempt to align the 2 conda environments.
More testing to come.
* more tweaks to environment.yaml
* Unifying conda environments for mac and intel
* Removing `environment-macos.yml`
* Adding Lior's packages
* Comment on memory leak in parallel test (to revisit)
* Moving as many packages from pip -> conda
* Align codespaces to the new conda environment
* Create UW3 docker
using micromamba
---------
Co-authored-by: Ben Knight <55677727+bknight1@users.noreply.github.com>
* Adding pyproject.toml for PEP518-ness. Now we can explore this more.
* Adding a compile.sh. With pyproject.toml we always need
--no-build-isolation on
* compile.sh always outputs to `compile.log`
* `compile.log` is gitignored
* Section on installation is update.
* Added a section on uninstallation.
* Added a `pip install -e` to build_api_docs.sh - that must be done
otherwise pdoc fails.
jcgraciosaand others added 20 commits July 9, 2025 14:36
* Added fix to mesh2mesh_meshVariable()
* Added get_dof_partition() function for getting DOFs in each processor
* Added option of not saving DOF viewer outputs in a file.
---------
Co-authored-by: Juan Carlos Graciosa <juan.graciosa@monash.edu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
do not return from within a context manager
Joss submission branch - bring changes into dev.
Swarm rework dev merged - pull all development branch changes back into the swarm rework for synchronisation and testing.
CopilotAI review requested due to automatic review settings July 27, 2025 23:59

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR merges development branch changes into main to keep up with PETSc compatibility and includes updates for JOSS submission requirements. The changes span multiple areas including test improvements, API updates, and visualization enhancements.

  • Updates function evaluation API from evalf to standardized evaluate with evalf parameter
  • Adds new test files for various functionality including swarm variables, semi-Lagrangian methods, and geometry tools
  • Enhances visualization capabilities with direct PyVista mesh creation and improved function evaluation

Reviewed Changes

Copilot reviewed 81 out of 92 changed files in this pull request and generated 6 comments.

Show a summary per file
FileDescription
tests/test_1130_IndexSwarmVariable.pyNew test for IndexSwarmVariable functionality with symmetrical point validation
tests/test_1100_SLVectorCartesian.pyNew test for semi-Lagrangian vector field advection
tests/test_1100_AdvDiffCartesian.pyUpdated advection-diffusion test with analytical solutions
tests/test_0505_rbf_swarm_mesh.pySimplified RBF interpolation test with analytic field validation
tests/test_0504_projections.pyUpdated function calls from evalf to evaluate with evalf=True
tests/test_0503_evaluate2.pyNew comprehensive function evaluation test suite
tests/test_0503_evaluate.pyStreamlined evaluation tests with API updates
tests/test_0101_kdtree.pyUpdated KDTree tests to use new API and improved assertions
tests/test_0050_utils.pyMinor visualization and test utility updates
tests/test_0004_pointwise_fns.pyUpdated string matching for JIT processing output
tests/test_0002_swarm.pyAdded test for addNPoints functionality
tests/parallel/ptest_004_nodal_swarm_advection.pyNew parallel test for nodal swarm advection
tests/parallel/ptest_002_projection.pyAdded memory usage warning comment
tests/dont_test_0005_check_xdmf.pyNew XDMF/HDF5 validation test (disabled)
test.shEnhanced test runner with better error handling and status reporting
src/underworld3/visualisation.pyMajor refactor with direct PyVista mesh creation and API updates
src/underworld3/utilities/geometry_tools.pyNew geometry utility functions for spatial operations
src/underworld3/utilities/create_dmplex_from_medit.pyOptimized MEDIT file processing with caching and efficiency improvements
src/underworld3/utilities/_utils.pyAdded PostHog telemetry functionality and code cleanup
src/underworld3/utilities/init.pyAdded imports for new geometry tools and PostHog
src/underworld3/systems/solvers.pyExtensive solver updates with new expression handling and DDT integrations
src/underworld3/systems/ddt.pyNew time integration classes (Symbolic, Eulerian) and API improvements
src/underworld3/systems/init.pyAdded imports for new solver and DDT classes
Comments suppressed due to low confidence (1)

src/underworld3/utilities/_utils.py:257

  • Function name 'postHog' doesn't follow Python naming conventions. It should be 'post_hog' or 'send_posthog_event' to be more descriptive and follow snake_case convention.
def postHog( event_name, ev_dict ):

Comment threadtests/test_1130_IndexSwarmVariable.py Outdated
Comment threadtests/test_1100_AdvDiffCartesian.py Outdated
Comment threadtests/test_0004_pointwise_fns.py
Comment threadsrc/underworld3/utilities/create_dmplex_from_medit.py
Comment threadsrc/underworld3/utilities/create_dmplex_from_medit.py
Comment threadsrc/underworld3/systems/ddt.py Outdated
lmoresiand others added 4 commits July 28, 2025 10:01
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@lmoresi

Copy link
Copy Markdown
MemberAuthor

In person review with @jcgraciosa - will merge when you are ok with the changes.

@jcgraciosa

Copy link
Copy Markdown
Contributor

@lmoresi, I am okay with the changes. These can be merged.

@lmoresi

Copy link
Copy Markdown
MemberAuthor

Thanks, JC.

@lmoresi
lmoresi merged commit 6209bf5 into mainJul 28, 2025
5 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@lmoresi@jcgraciosa@julesghub@bknight1@NengLu@gthyagi@TY-00@brmather