From b01c4749e5cd240beddc61c72696cfe25baae0c1 Mon Sep 17 00:00:00 2001 From: RemDelaporteMathurin Date: Tue, 28 Apr 2026 21:54:11 -0400 Subject: [PATCH 1/4] removed fenicsx branch + url checker --- .github/workflows/url_check.yaml | 38 +++++++++++++++++++ book/_config.yml | 2 +- book/content/boundary_conditions/examples.md | 2 +- .../boundary_conditions/h_transport_basic.md | 2 +- book/content/material/material_basics.md | 2 +- .../temperatures/temperatures_basic.md | 2 +- 6 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/url_check.yaml diff --git a/.github/workflows/url_check.yaml b/.github/workflows/url_check.yaml new file mode 100644 index 00000000..01d5d4f6 --- /dev/null +++ b/.github/workflows/url_check.yaml @@ -0,0 +1,38 @@ +name: URL check + +on: [push, pull_request] + +jobs: + docbuild: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: urls-checker + uses: urlstechie/urlchecker-action@master + with: + # A subfolder or path to navigate to in the present or cloned repository + subfolder: book + + # A comma-separated list of file types to cover in the URL checks + file_types: .md,.py,.rst,.ipynb + + # Choose whether to include file with no URLs in the prints. + print_all: false + + # The timeout seconds to provide to requests, defaults to 5 seconds + timeout: 5 + + # How many times to retry a failed request (each is logged, defaults to 1) + retry_count: 3 + + # A comma separated links to exclude during URL checks + exclude_urls: + + # A comma separated patterns to exclude during URL checks + exclude_patterns: + + # choose if the force pass or not + force_pass : false diff --git a/book/_config.yml b/book/_config.yml index 37600fc1..7776a18d 100644 --- a/book/_config.yml +++ b/book/_config.yml @@ -64,7 +64,7 @@ sphinx: pyvista: ["https://docs.pyvista.org/", null] packaging: ["https://packaging.pypa.io/en/stable/", null] matplotlib: ["https://matplotlib.org/stable/", null] - festim: ["https://festim.readthedocs.io/en/fenicsx/", null] + festim: ["https://festim.readthedocs.io/en/stable/", null] html_favicon: "images/festim logo symbol.png" extra_extensions: diff --git a/book/content/boundary_conditions/examples.md b/book/content/boundary_conditions/examples.md index 979631f6..7fa821cb 100644 --- a/book/content/boundary_conditions/examples.md +++ b/book/content/boundary_conditions/examples.md @@ -145,7 +145,7 @@ We see that a huge spike in concentration in the first few nanometers of tungest ### Approximating plasma implantation using fixed concentration boundary conditions -If recombination is fast enough, the spike shown above can be approximated as a fixed concentration boundary condition that mainly drives diffusion across the material. Learn more about the plasma implantation approximation approach _[here](https://festim.readthedocs.io/en/fenicsx/theory.html#plasma-implantation-approximation)_. +If recombination is fast enough, the spike shown above can be approximated as a fixed concentration boundary condition that mainly drives diffusion across the material. Learn more about the plasma implantation approximation approach _[here](https://festim.readthedocs.io/en/latest/theory.html#plasma-implantation-approximation)_. To see how we might approximate this, let's define a maximum concentration to set on the left boundary, representing the spike from the implantation: diff --git a/book/content/boundary_conditions/h_transport_basic.md b/book/content/boundary_conditions/h_transport_basic.md index 4ca7d6ab..d0668a85 100644 --- a/book/content/boundary_conditions/h_transport_basic.md +++ b/book/content/boundary_conditions/h_transport_basic.md @@ -14,7 +14,7 @@ kernelspec: # Hydrogen transport: basic -This section discusses how to implement basic boundary conditions (BCs) for hydrogen transport problems. Boundary conditions are essential to FESTIM simulations, as they describe the mathematical problem at the boundaries of the simulated domain. Read more about BCs _[here](https://festim.readthedocs.io/en/fenicsx/userguide/boundary_conditions.html)_. +This section discusses how to implement basic boundary conditions (BCs) for hydrogen transport problems. Boundary conditions are essential to FESTIM simulations, as they describe the mathematical problem at the boundaries of the simulated domain. Read more about BCs _[here](https://festim.readthedocs.io/en/lastest/userguide/boundary_conditions.html)_. Objectives: * Implement fixed concentration boundary conditions diff --git a/book/content/material/material_basics.md b/book/content/material/material_basics.md index 8b7b1b0e..d65e1ce4 100644 --- a/book/content/material/material_basics.md +++ b/book/content/material/material_basics.md @@ -14,7 +14,7 @@ kernelspec: # Basic functionality -Materials are key components of hydrogen transport simulations. They hold the properties like diffusivity, solubility and even thermal properties like thermal conductivity or heat capacity. Read more about the `Materials` class and syntax at __[Materials](https://festim.readthedocs.io/en/fenicsx/userguide/subdomains.html)__. +Materials are key components of hydrogen transport simulations. They hold the properties like diffusivity, solubility and even thermal properties like thermal conductivity or heat capacity. Read more about the `Materials` class and syntax at __[Materials](https://festim.readthedocs.io/en/latest/userguide/subdomains.html)__. Objectives: diff --git a/book/content/temperatures/temperatures_basic.md b/book/content/temperatures/temperatures_basic.md index 254aa298..add843e0 100644 --- a/book/content/temperatures/temperatures_basic.md +++ b/book/content/temperatures/temperatures_basic.md @@ -14,7 +14,7 @@ kernelspec: # Basic functionality # -Definition of a temperature field or problem is essential for hydrogen transport and FESTIM as a whole. Users can define it as a fixed value or as a function of space and time. Read more about temperature in FESTIM _[here](https://festim.readthedocs.io/en/fenicsx/userguide/temperature.html)_. FESTIM's unit for temperature is Kelvin. +Definition of a temperature field or problem is essential for hydrogen transport and FESTIM as a whole. Users can define it as a fixed value or as a function of space and time. Read more about temperature in FESTIM _[here](https://festim.readthedocs.io/en/latest/userguide/temperature.html)_. FESTIM's unit for temperature is Kelvin. This tutorial will go over the basics of defining the temperature in a FESTIM simulation. From 4fe3eb00ffe83e3d7bba96ea625c09349bdea013 Mon Sep 17 00:00:00 2001 From: RemDelaporteMathurin Date: Tue, 28 Apr 2026 22:02:02 -0400 Subject: [PATCH 2/4] added css pattern + fixed typo + removed festim2 --- .github/workflows/url_check.yaml | 2 +- book/_config.yml | 2 +- book/content/boundary_conditions/h_transport_basic.md | 2 +- book/content/boundary_conditions/heat_transfer.md | 2 +- book/content/initial_conditions/temperature.md | 4 ++-- book/content/material/material_basics.md | 2 +- book/content/post_process/pyvista.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/url_check.yaml b/.github/workflows/url_check.yaml index 01d5d4f6..4af8a632 100644 --- a/.github/workflows/url_check.yaml +++ b/.github/workflows/url_check.yaml @@ -32,7 +32,7 @@ jobs: exclude_urls: # A comma separated patterns to exclude during URL checks - exclude_patterns: + exclude_patterns: .css # choose if the force pass or not force_pass : false diff --git a/book/_config.yml b/book/_config.yml index 7776a18d..106c7c3b 100644 --- a/book/_config.yml +++ b/book/_config.yml @@ -8,7 +8,7 @@ author: The FESTIM community repository: url: https://github.com/festim-dev/FESTIM-workshop # Online location of your book path_to_book: book # Optional path to your book, relative to the repository root - branch: festim2 # Which branch of the repository should be used when creating links (optional) + branch: main # Which branch of the repository should be used when creating links (optional) logo: images/logo_light.png diff --git a/book/content/boundary_conditions/h_transport_basic.md b/book/content/boundary_conditions/h_transport_basic.md index d0668a85..d957c706 100644 --- a/book/content/boundary_conditions/h_transport_basic.md +++ b/book/content/boundary_conditions/h_transport_basic.md @@ -14,7 +14,7 @@ kernelspec: # Hydrogen transport: basic -This section discusses how to implement basic boundary conditions (BCs) for hydrogen transport problems. Boundary conditions are essential to FESTIM simulations, as they describe the mathematical problem at the boundaries of the simulated domain. Read more about BCs _[here](https://festim.readthedocs.io/en/lastest/userguide/boundary_conditions.html)_. +This section discusses how to implement basic boundary conditions (BCs) for hydrogen transport problems. Boundary conditions are essential to FESTIM simulations, as they describe the mathematical problem at the boundaries of the simulated domain. Read more about BCs _[here](https://festim.readthedocs.io/en/latest/userguide/boundary_conditions.html)_. Objectives: * Implement fixed concentration boundary conditions diff --git a/book/content/boundary_conditions/heat_transfer.md b/book/content/boundary_conditions/heat_transfer.md index e78df302..a1c57474 100644 --- a/book/content/boundary_conditions/heat_transfer.md +++ b/book/content/boundary_conditions/heat_transfer.md @@ -60,5 +60,5 @@ my_flux_bc = HeatFluxBC(subdomain=boundary, value=BC) ``` ```{note} -Read more about heat transfer settings __[here](https://festim-workshop.readthedocs.io/en/festim2/content/temperatures/temperatures_advanced)__. +Read more about heat transfer settings __[here](https://festim-workshop.readthedocs.io/en/latest/content/temperatures/temperatures_advanced)__. ``` diff --git a/book/content/initial_conditions/temperature.md b/book/content/initial_conditions/temperature.md index 98c3abdd..5dc7834d 100644 --- a/book/content/initial_conditions/temperature.md +++ b/book/content/initial_conditions/temperature.md @@ -24,7 +24,7 @@ Objectives: ## Defining temperature initial conditions ## -Similar to the __[concentration](https://festim-workshop.readthedocs.io/en/festim2/content/initial_conditions/concentration.html)__, we can define temperature initial conditions on volume subdomains using `InitialTemperature`: +Similar to the __[concentration](https://festim-workshop.readthedocs.io/en/latest/content/initial_conditions/concentration.html)__, we can define temperature initial conditions on volume subdomains using `InitialTemperature`: ```{code-cell} ipython3 import festim as F @@ -36,7 +36,7 @@ IC = F.InitialTemperature(value=400, volume=vol) ``` ```{note} -Since initial conditions are only used in transient simulations, `thermal_conductivity`, `heat_capacity`, and `density` must be defined for the material. Learn more about defining thermal properties __[here](https://festim-workshop.readthedocs.io/en/festim2/content/material/material_basics.html#defining-thermal-properties)__. +Since initial conditions are only used in transient simulations, `thermal_conductivity`, `heat_capacity`, and `density` must be defined for the material. Learn more about defining thermal properties __[here](https://festim-workshop.readthedocs.io/en/latest/content/material/material_basics.html#defining-thermal-properties)__. ``` +++ diff --git a/book/content/material/material_basics.md b/book/content/material/material_basics.md index d65e1ce4..bb97c825 100644 --- a/book/content/material/material_basics.md +++ b/book/content/material/material_basics.md @@ -70,7 +70,7 @@ mat.density = lambda T: 7*T + 5 ## Defining materials on different subdomains ## -Volume subdomains are used to assign different materials or define regions with specific physical properties. Each volume subdomain must be associated with a `festim.Material` object. Read more about subdomains __[here](https://festim-workshop.readthedocs.io/en/festim2/content/meshes/mesh_fenics.html#defining-subdomains)__. +Volume subdomains are used to assign different materials or define regions with specific physical properties. Each volume subdomain must be associated with a `festim.Material` object. Read more about subdomains __[here](https://festim-workshop.readthedocs.io/en/latest/content/meshes/mesh_fenics.html#defining-subdomains)__. Consider the following volume with two subdomains separated halfway through the mesh: diff --git a/book/content/post_process/pyvista.md b/book/content/post_process/pyvista.md index 3a9293bc..8f56cf4e 100644 --- a/book/content/post_process/pyvista.md +++ b/book/content/post_process/pyvista.md @@ -122,7 +122,7 @@ Users can change the colormap by adjusting the `cmap` argument. Users can also use PyVista to visualize the fields in discontinuous problems. -Let us consider the same __[multi-material problem](https://festim-workshop.readthedocs.io/en/festim2/content/material/material_basics.html#multi-material-example)__ in the Materials chapter, where we use `HydrogenTransportProblemDiscontinuous` to solve a multi-material problem. +Let us consider the same __[multi-material problem](https://festim-workshop.readthedocs.io/en/latest/content/material/material_basics.html#multi-material-example)__ in the Materials chapter, where we use `HydrogenTransportProblemDiscontinuous` to solve a multi-material problem. ```{code-cell} ipython3 :tags: [hide-input] From 10719159a497ff0ae74c2202827aebea4c8c30de Mon Sep 17 00:00:00 2001 From: RemDelaporteMathurin Date: Tue, 28 Apr 2026 22:05:37 -0400 Subject: [PATCH 3/4] replaced link by label --- book/content/boundary_conditions/heat_transfer.md | 2 +- book/content/material/material_advanced.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/book/content/boundary_conditions/heat_transfer.md b/book/content/boundary_conditions/heat_transfer.md index a1c57474..c37d86af 100644 --- a/book/content/boundary_conditions/heat_transfer.md +++ b/book/content/boundary_conditions/heat_transfer.md @@ -60,5 +60,5 @@ my_flux_bc = HeatFluxBC(subdomain=boundary, value=BC) ``` ```{note} -Read more about heat transfer settings __[here](https://festim-workshop.readthedocs.io/en/latest/content/temperatures/temperatures_advanced)__. +Read more about heat transfer settings __[here](temperature-advanced)__. ``` diff --git a/book/content/material/material_advanced.md b/book/content/material/material_advanced.md index a7fd3af3..a475c1bc 100644 --- a/book/content/material/material_advanced.md +++ b/book/content/material/material_advanced.md @@ -12,6 +12,7 @@ kernelspec: name: python3 --- +(temperature-advanced)= # Advanced functionality # +++ From 58c9670f1ca71f6b7797813e930ec04accb6f90c Mon Sep 17 00:00:00 2001 From: RemDelaporteMathurin Date: Tue, 28 Apr 2026 22:07:06 -0400 Subject: [PATCH 4/4] dolfinx 0.10 --- book/content/meshes/mesh_fenics.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/content/meshes/mesh_fenics.ipynb b/book/content/meshes/mesh_fenics.ipynb index cf94decd..ed4a6710 100644 --- a/book/content/meshes/mesh_fenics.ipynb +++ b/book/content/meshes/mesh_fenics.ipynb @@ -7,7 +7,7 @@ "source": [ "# DOLFINx meshes\n", "\n", - "DOLFINx provides a range of simple built-in meshes that are useful for quick testing and solving basic problems. You can find more information about the available mesh types, as well as tools for creating, refining, and marking meshes, in the [DOLFINx mesh documentation](https://docs.fenicsproject.org/dolfinx/v0.9.0/python/generated/dolfinx.mesh.html).\n", + "DOLFINx provides a range of simple built-in meshes that are useful for quick testing and solving basic problems. You can find more information about the available mesh types, as well as tools for creating, refining, and marking meshes, in the [DOLFINx mesh documentation](https://docs.fenicsproject.org/dolfinx/v0.10.0/python/generated/dolfinx.mesh.html).\n", "\n", "In this tutorial, we will cover the following:\n", "\n",