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
--notes "$(printf '> **Release notes not yet written.**\n>\n> No file found at `docs/release-notes/%s.md`.\n> Please add release notes and publish this draft.\n\n---\n\n## Auto-generated commit log\n\n' "$TAG_NAME")$(gh api repos/${{ github.repository }}/releases/generate-notes -f tag_name="$TAG_NAME" --jq '.body' 2>/dev/null || echo 'See commit history for changes.')" \
Copy file name to clipboardExpand all lines: docs/beginner/tutorials/1-Meshes.ipynb
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@
17
17
},
18
18
"tags": []
19
19
},
20
-
"source": "# Notebook 1: Meshes\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=underworld3%2Fdocs%2Fbeginner%2Ftutorials%2F1-Meshes.ipynb)\n\n<div style=\"float: right; width: 40%\">\n\n\n\n</div>\n\n\n\nThis notebook introduces the mesh discretisation that we use in `Underworld3` and how you can build one of the pre-defined meshes. This notebook also show you how to use the `pyvista` visualisation tools for `Underworld3` objects. The mesh holds information on the mesh geometry, boundaries and coordinate systems and you can attach data to the mesh (see Notebook 2: [Variables](2-Variables.ipynb)). "
20
+
"source": "# Notebook 1: Meshes\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=docs%2Fbeginner%2Ftutorials%2F1-Meshes.ipynb)\n\n<div style=\"float: right; width: 40%\">\n\n\n\n</div>\n\n\n\nThis notebook introduces the mesh discretisation that we use in `Underworld3` and how you can build one of the pre-defined meshes. This notebook also show you how to use the `pyvista` visualisation tools for `Underworld3` objects. The mesh holds information on the mesh geometry, boundaries and coordinate systems and you can attach data to the mesh (see Notebook 2: [Variables](2-Variables.ipynb)). "
Copy file name to clipboardExpand all lines: docs/beginner/tutorials/10-Particle_Swarms.ipynb
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
"cell_type": "markdown",
5
5
"id": "26d2a9ca-c094-40f2-b978-333c14142874",
6
6
"metadata": {},
7
-
"source": "# Notebook 8: Particle Swarms\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=underworld3%2Fdocs%2Fbeginner%2Ftutorials%2F10-Particle_Swarms.ipynb)\n\n\n<!--\n<div style=\"float: right; width: 50%; padding-left:10px;\">\n<img src=\"media/CompositeImage.png\" width=100%>\n<caption>\n<i>\n Flow in a pipe with inflow at the left boundary\n after 50, 100, 150 timesteps (top to bottom) showing the\n progression of the impulsive initial condition. For details,\n see the notebook code.\n</i>\n</caption>\n</div>\n-->\n\nWe used a particle swarm to track the flow in Example 7. We called this a \"passive\" swarm because the points did not influence the flow in any way but were simply carried along with the fluid. \n\nParticle swarms are unstructured data objects that live within the computational domain. Their points can be moved arbitrarily through the domain and points may migrate from one process to another when the coordinates are changed. By default they carry only the particle location, but we can add scalar, vector and tensor variables to the swarm and they will be transported with the particles.\n\nParticle transport is usually through a velocity or displacement field that incrementally changes the locations. This is a common use, but particles can be used to represent any unstructured field. For example, during mesh adaptation, the nodal points from the previous mesh are equivalent to a disconnected swarm from the point of view of the new mesh. The same is true when reading data save from one mesh to the `MeshVariables` on another.\n"
7
+
"source": "# Notebook 8: Particle Swarms\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=docs%2Fbeginner%2Ftutorials%2F10-Particle_Swarms.ipynb)\n\n\n<!--\n<div style=\"float: right; width: 50%; padding-left:10px;\">\n<img src=\"media/CompositeImage.png\" width=100%>\n<caption>\n<i>\n Flow in a pipe with inflow at the left boundary\n after 50, 100, 150 timesteps (top to bottom) showing the\n progression of the impulsive initial condition. For details,\n see the notebook code.\n</i>\n</caption>\n</div>\n-->\n\nWe used a particle swarm to track the flow in Example 7. We called this a \"passive\" swarm because the points did not influence the flow in any way but were simply carried along with the fluid. \n\nParticle swarms are unstructured data objects that live within the computational domain. Their points can be moved arbitrarily through the domain and points may migrate from one process to another when the coordinates are changed. By default they carry only the particle location, but we can add scalar, vector and tensor variables to the swarm and they will be transported with the particles.\n\nParticle transport is usually through a velocity or displacement field that incrementally changes the locations. This is a common use, but particles can be used to represent any unstructured field. For example, during mesh adaptation, the nodal points from the previous mesh are equivalent to a disconnected swarm from the point of view of the new mesh. The same is true when reading data save from one mesh to the `MeshVariables` on another.\n"
Copy file name to clipboardExpand all lines: docs/beginner/tutorials/11-Multi-Material_SolCx.ipynb
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
"cell_type": "markdown",
5
5
"id": "cell-intro",
6
6
"metadata": {},
7
-
"source": "# Notebook 9: Multi-Material Constitutive Models\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=underworld3%2Fdocs%2Fbeginner%2Ftutorials%2F11-Multi-Material_SolCx.ipynb)\n\n\n**PHYSICS:** fluid_mechanics \n**DIFFICULTY:** intermediate \n**PURPOSE:** demonstration\n\n## Description\n\nThis notebook demonstrates the new multi-material constitutive model by recreating the classic SolCx benchmark using two different materials instead of a piecewise viscosity function.\n\n**Key Features:**\n- Multi-material constitutive model with level-set averaging\n- Index swarm variable for material tracking\n- Comparison with analytical SolCx solution\n- Simple setup suitable for quickstart examples\n\n**Physical Setup:**\n- Two materials: low viscosity ($\\eta=1$) and high viscosity ($\\eta=10^6$)\n- Material boundary at x = 0.5\n- SolCx harmonic forcing: $f_y = -\\cos(\\pi x) \\sin(2\\pi y)$\n- Free slip boundary conditions\n\n## Mathematical Foundation\n\nThe multi-material model uses level-set weighted flux averaging:\n$$\\mathbf{f}_{\\text{composite}}(\\mathbf{x}) = \\sum_{i=0}^{N-1} \\phi_i(\\mathbf{x}) \\cdot \\mathbf{f}_i(\\mathbf{x})$$\n\nwhere $\\phi_i(\\mathbf{x})$ are level-set functions from IndexSwarmVariable."
7
+
"source": "# Notebook 9: Multi-Material Constitutive Models\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=docs%2Fbeginner%2Ftutorials%2F11-Multi-Material_SolCx.ipynb)\n\n\n**PHYSICS:** fluid_mechanics \n**DIFFICULTY:** intermediate \n**PURPOSE:** demonstration\n\n## Description\n\nThis notebook demonstrates the new multi-material constitutive model by recreating the classic SolCx benchmark using two different materials instead of a piecewise viscosity function.\n\n**Key Features:**\n- Multi-material constitutive model with level-set averaging\n- Index swarm variable for material tracking\n- Comparison with analytical SolCx solution\n- Simple setup suitable for quickstart examples\n\n**Physical Setup:**\n- Two materials: low viscosity ($\\eta=1$) and high viscosity ($\\eta=10^6$)\n- Material boundary at x = 0.5\n- SolCx harmonic forcing: $f_y = -\\cos(\\pi x) \\sin(2\\pi y)$\n- Free slip boundary conditions\n\n## Mathematical Foundation\n\nThe multi-material model uses level-set weighted flux averaging:\n$$\\mathbf{f}_{\\text{composite}}(\\mathbf{x}) = \\sum_{i=0}^{N-1} \\phi_i(\\mathbf{x}) \\cdot \\mathbf{f}_i(\\mathbf{x})$$\n\nwhere $\\phi_i(\\mathbf{x})$ are level-set functions from IndexSwarmVariable."
Copy file name to clipboardExpand all lines: docs/beginner/tutorials/12-Units_System.ipynb
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
{
4
4
"cell_type": "markdown",
5
5
"metadata": {},
6
-
"source": "# Notebook 12: Working with Physical Units\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=underworld3%2Fdocs%2Fbeginner%2Ftutorials%2F12-Units_System.ipynb)\n\n\nUnderworld3 has built-in support for physical units throughout the modeling workflow. This makes your models easier to understand and helps catch dimensional errors early.\n\nIn this notebook you'll learn:\n- Creating physical quantities (temperatures, velocities, viscosities)\n- Converting between units\n- Working with unit-aware arrays and coordinates\n- Automatic unit tracking through derivatives"
6
+
"source": "# Notebook 12: Working with Physical Units\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=docs%2Fbeginner%2Ftutorials%2F12-Units_System.ipynb)\n\n\nUnderworld3 has built-in support for physical units throughout the modeling workflow. This makes your models easier to understand and helps catch dimensional errors early.\n\nIn this notebook you'll learn:\n- Creating physical quantities (temperatures, velocities, viscosities)\n- Converting between units\n- Working with unit-aware arrays and coordinates\n- Automatic unit tracking through derivatives"
Copy file name to clipboardExpand all lines: docs/beginner/tutorials/13-Scaling-problems-with-physical-units.ipynb
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
"cell_type": "markdown",
5
5
"id": "cell-0",
6
6
"metadata": {},
7
-
"source": "# Notebook 13: Non-Dimensional Scaling\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=underworld3%2Fdocs%2Fbeginner%2Ftutorials%2F13-Scaling-problems-with-physical-units.ipynb)\n\n\nWhen working with physical problems, the range of scales can cause numerical difficulties. For example, mantle convection involves:\n- Velocities of ~10\u207b\u2079 m/s (tiny)\n- Viscosities of ~10\u00b2\u00b9 Pa\u00b7s (huge)\n- Pressures of ~10\u2079 Pa (large)\n\nNon-dimensional (ND) scaling transforms the problem so all quantities are order-one, improving numerical conditioning and stability.\n\nIn this notebook you'll learn:\n- Setting reference quantities for automatic scaling\n- Solving Poisson and Stokes equations with ND scaling\n- Understanding what happens under the hood\n- Validating that ND and dimensional solutions match"
7
+
"source": "# Notebook 13: Non-Dimensional Scaling\n\n[](https://mybinder.org/v2/gh/underworldcode/uw3-binder-launcher/development?labpath=docs%2Fbeginner%2Ftutorials%2F13-Scaling-problems-with-physical-units.ipynb)\n\n\nWhen working with physical problems, the range of scales can cause numerical difficulties. For example, mantle convection involves:\n- Velocities of ~10\u207b\u2079 m/s (tiny)\n- Viscosities of ~10\u00b2\u00b9 Pa\u00b7s (huge)\n- Pressures of ~10\u2079 Pa (large)\n\nNon-dimensional (ND) scaling transforms the problem so all quantities are order-one, improving numerical conditioning and stability.\n\nIn this notebook you'll learn:\n- Setting reference quantities for automatic scaling\n- Solving Poisson and Stokes equations with ND scaling\n- Understanding what happens under the hood\n- Validating that ND and dimensional solutions match"
0 commit comments