Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
UKAEA-Edge-Code
/
hermes-3
Public
forked from
boutproject/hermes-3
Notifications
You must be signed in to change notification settings
Fork
1
Star
2
Code
Issues
7
Pull requests
3
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Extending the kinetic mesh beyond the BOUT++ plasma domain
- #44
#44
Open
mrhardman
wants to merge 45 commits into
VANTAGE-Reactions-Coupling/dev
UKAEA-Edge-Code/hermes-3:VANTAGE-Reactions-Coupling/dev
from
VANTAGE-Reactions-Coupling/dmplex-features
UKAEA-Edge-Code/hermes-3:VANTAGE-Reactions-Coupling/dmplex-features
Copy head branch name to clipboard
Conversation
Commits
45
(45)
Checks
Files changed
Open
Extending the kinetic mesh beyond the BOUT++ plasma domain
#44
mrhardman
wants to merge 45 commits into
VANTAGE-Reactions-Coupling/dev
UKAEA-Edge-Code/hermes-3:VANTAGE-Reactions-Coupling/dev
from
VANTAGE-Reactions-Coupling/dmplex-features
UKAEA-Edge-Code/hermes-3:VANTAGE-Reactions-Coupling/dmplex-features
Copy head branch name to clipboard
Commits
Commits on Aug 3, 2026
For the `particle_animator.py` script, use the length normalisation stored in the BOUT.dmp.*.nc files to plot the particle positions in SI units, following the change to normalised units in the van…
Show description for 4bdba86
mrhardman
committed
4bdba86
View commit details
Copy full SHA for 4bdba86
Browse repository at this point
Initial changes to load a mesh from a GMSH .msh file in serial, and then distribute this over MPI ranks. Tested only in serial. Prototype code for MPI map information for DG0 object is left in place.
mrhardman
committed
839d0a8
View commit details
Copy full SHA for 839d0a8
Browse repository at this point
Commits on Aug 13, 2026
Define `use_external_msh` in the VANTAGE class to allow the same flag to determine how dg0 is created (in a later commit).
mrhardman
committed
fbc2695
View commit details
Copy full SHA for fbc2695
Browse repository at this point
Commits on Aug 14, 2026
Move definition of dg0 pointer to vantage header file, introduce sketch of code to make the `mesh_coupler_dg0` variable.
mrhardman
committed
fc820e9
View commit details
Copy full SHA for fc820e9
Browse repository at this point
Make separate function for writing the DMPlex to HDF5.
mrhardman
committed
d53e0ee
View commit details
Copy full SHA for d53e0ee
Browse repository at this point
Use a c++ style static cast in `DMPlexCreateGmshFromFile()`.
mrhardman
committed
3ef4de7
View commit details
Copy full SHA for 3ef4de7
Browse repository at this point
Restructure `vantage_dmplex.cxx` so that `create_dmplex_from_Bout_mesh()` and `create_dmplex_from_GMSH_msh()` are separate functions for initialising the DMPlex. For now, always use the `project_ev…
Show description for 720781d
mrhardman
committed
720781d
View commit details
Copy full SHA for 720781d
Browse repository at this point
Make `kinetic_mesh_map` a class variable, read in map to global index of triangles in kinetic grid.
mrhardman
committed
03a1566
View commit details
Copy full SHA for 03a1566
Browse repository at this point
Commits on Aug 18, 2026
Add Rxy, Zxy, and corner variables to the BOUT.dmp.vantage.*.nc output files.
mrhardman
committed
ab9b186
View commit details
Copy full SHA for ab9b186
Browse repository at this point
Commits on Aug 21, 2026
Set xlim based on command-line argument.
mrhardman
committed
2b5f8ea
View commit details
Copy full SHA for 2b5f8ea
Browse repository at this point
Use forward and backward tranfers in conversion from NESO-Particles degrees of freedom to BOUT++ Field2D data when the kinetic mesh has a different number of degrees of freedom to the BOUT++ grid. …
Show description for f769f56
mrhardman
committed
f769f56
View commit details
Copy full SHA for f769f56
Browse repository at this point
Commits on Aug 24, 2026
Extend the kinetic -> bout mesh data transfer to the VantageSourceManager.
mrhardman
committed
0e0b1f7
View commit details
Copy full SHA for 0e0b1f7
Browse repository at this point
Refactor the inputs of the [vantage] component so that pressure and temperature are inputs. The initial condition is a uniform Maxwellian across the entire kinetic domain. Propagate the temperature…
Show description for d1c4ccf
mrhardman
committed
d1c4ccf
View commit details
Copy full SHA for d1c4ccf
Browse repository at this point
Commits on Aug 28, 2026
Experiments using .vtkhdf for prototype velocity-moment diagnostics on the kinetic mesh.
mrhardman
committed
a9dbfac
View commit details
Copy full SHA for a9dbfac
Browse repository at this point
Create function to contain kinetic moment diagnostic code.
mrhardman
committed
b9d3d2c
View commit details
Copy full SHA for b9d3d2c
Browse repository at this point
Update derived diagnostics moment kernels before projection.
mrhardman
committed
39d2c9d
View commit details
Copy full SHA for 39d2c9d
Browse repository at this point
Calculate the Gamma = nu mean flow moment in the kinetic diagnostics.
mrhardman
committed
1d38449
View commit details
Copy full SHA for 1d38449
Browse repository at this point
Refactor diagnostics calculation to enable the calculation of derived moments such as pressure and temperature.
mrhardman
committed
f8f0f5f
View commit details
Copy full SHA for f8f0f5f
Browse repository at this point
Commits on Sep 4, 2026
Merge branch 'VANTAGE-Reactions-Coupling/dev' into VANTAGE-Reactions-Coupling/dmplex-features
mrhardman
committed
61e1d25
View commit details
Copy full SHA for 61e1d25
Browse repository at this point
Commits on Sep 7, 2026
Extend checks on cell volumes to cover the case where the kinetic mesh is externally supplied.
mrhardman
committed
10924f9
View commit details
Copy full SHA for 10924f9
Browse repository at this point
Commits on Sep 8, 2026
Ensure that `y_boundary_guards` is saved to that the `BOUT.dmp.vantage.0.nc` output file can be used as a valid grid file when produced by a hermes-3 simulation running in serial.
mrhardman
committed
559302b
View commit details
Copy full SHA for 559302b
Browse repository at this point
Begin refactoring diagnostics so that they are managed through a class VantageDiagnosticsManager.
mrhardman
committed
1badeeb
View commit details
Copy full SHA for 1badeeb
Browse repository at this point
Commits on Sep 9, 2026
Split kinetic diagnostic function into update and write functions.
mrhardman
committed
277ac52
View commit details
Copy full SHA for 277ac52
Browse repository at this point
Initial move of BOUT++ style diagnostic functions to VantageDiagnosticsManager class.
mrhardman
committed
88a58f2
View commit details
Copy full SHA for 88a58f2
Browse repository at this point
Extract BOUT++ Field2D from the computed scalar variable diagnostics on the kinetic mesh.
mrhardman
committed
fca6dec
View commit details
Copy full SHA for fca6dec
Browse repository at this point
Commits on Sep 10, 2026
Split VantageSourceManager class to separate file to speed up compilation in parallel. Rename `source_data` variable to `source_data_plasma_grid`.
mrhardman
committed
b146830
View commit details
Copy full SHA for b146830
Browse repository at this point
Add a vector to store source data on the kinetic mesh.
mrhardman
committed
26986ed
View commit details
Copy full SHA for 26986ed
Browse repository at this point
Define get functions for plasma grid and kinetic mesh data.
mrhardman
committed
9a65ea0
View commit details
Copy full SHA for 9a65ea0
Browse repository at this point
Changes aimed to allow testing of mass conservation when the kinetic mesh covers a larger physical volume than the plasma grid. Plasma quantities (set from inputs) are temporarily extended to the k…
Show description for 5891a06
mrhardman
committed
5891a06
View commit details
Copy full SHA for 5891a06
Browse repository at this point
Commits on Sep 11, 2026
Make VantageDataTransfer class to handle the transfer of data between Field2D, std::vector and particle groups. Correct bug in ASSERT1() in vantage_sources.cxx.
mrhardman
committed
2bc7f23
View commit details
Copy full SHA for 2bc7f23
Browse repository at this point
Use VantageDataTransfer in VantageSourceManager.
mrhardman
committed
324da12
View commit details
Copy full SHA for 324da12
Browse repository at this point
Changes to initialise the plasma properties on Field2D on the BOUT++ grid, and to transfer this data first to the kinetic mesh and then to the particle group with functions from the VantageDataTran…
Show description for 06d7c1f
mrhardman
committed
06d7c1f
View commit details
Copy full SHA for 06d7c1f
Browse repository at this point
Commits on Sep 14, 2026
Fix bug in `VantageDataTransfer::transfer_scalar_to_kinetic_mesh`.
mrhardman
committed
bde3529
View commit details
Copy full SHA for bde3529
Browse repository at this point
Commits on Sep 15, 2026
Make the particle group variable passed as an arguement to enable the data transfer functions to act on multiple particle groups for the same mesh.
mrhardman
committed
c60dcfc
View commit details
Copy full SHA for c60dcfc
Browse repository at this point
Introduce particle sub groups which ensure neutral-plasma reactions are only applied when the electron density is greater then the `electron_density_reaction_threshold` input parameter. Set the mar…
Show description for 3825b2a
mrhardman
committed
3825b2a
View commit details
Copy full SHA for 3825b2a
Browse repository at this point
Modify the diagnostics so that the sources are written to both kinetic mesh and plasma grid diagnostics, through a for loop indexing over the existing sources in the source manager object. Only sca…
Show description for cac6c3d
mrhardman
committed
cac6c3d
View commit details
Copy full SHA for cac6c3d
Browse repository at this point
Attempt to calculate total mass for mass conservation check using the Field2D for the ion_density. Fails mass conservation test for the cases where the kinetic mesh extends beyond the BOUT++ mesh b…
Show description for 993353b
mrhardman
committed
993353b
View commit details
Copy full SHA for 993353b
Browse repository at this point
Commits on Sep 17, 2026
Fix mass conservation test by using the correct summation of neso_mesh cell volumes, transferred from the kinetic mesh to plasma grid using unit weights so that the areas of triangles in the kineti…
Show description for 43e8cb1
mrhardman
committed
43e8cb1
View commit details
Copy full SHA for 43e8cb1
Browse repository at this point
Confirm that mass is conserved (in a slab) when density is computed from the sources stored in Field2D format.
mrhardman
committed
aef21d0
View commit details
Copy full SHA for aef21d0
Browse repository at this point
Write out neso_cell_volumes -> neso_cell_areas as BOUT++ Field2D, use this field in the `particle-pusher/runtest` to diagnose mass conservation.
mrhardman
committed
c7517da
View commit details
Copy full SHA for c7517da
Browse repository at this point
Test the sum of neutral mass and ionised mass by summing over sources.
mrhardman
committed
8921151
View commit details
Copy full SHA for 8921151
Browse repository at this point
Commits on Sep 21, 2026
Support non-rectangular BOUT++ plasma grid cells, by computing the relative area of the two kinetic mesh triangles which subdivide the plasma quadrilateral cell.
mrhardman
committed
6962119
View commit details
Copy full SHA for 6962119
Browse repository at this point
Commits on Sep 22, 2026
Refactor particle-pusher/runtest so that simulation directory is specified once.
mrhardman
committed
3c0161d
View commit details
Copy full SHA for 3c0161d
Browse repository at this point
Include a .msh file and necessary data to generate a valid bout.grd.nc input grid file for a test of the extended kinetic mesh implementation in a slab case. The test uses the the `tests/integrated…
Show description for abc713f
mrhardman
committed
abc713f
View commit details
Copy full SHA for abc713f
Browse repository at this point
Use fewer x, y cells in the test of particle pushing on quad cells aligned with a BOUT++ grid. Achieves a speedup in the test runtime.
mrhardman
committed
9fb7247
View commit details
Copy full SHA for 9fb7247
Browse repository at this point
You can’t perform that action at this time.