diff --git a/.github/workflows/url_check.yaml b/.github/workflows/url_check.yaml new file mode 100644 index 00000000..4af8a632 --- /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: .css + + # choose if the force pass or not + force_pass : false diff --git a/book/_config.yml b/book/_config.yml index 37600fc1..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 @@ -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..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/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/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..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/festim2/content/temperatures/temperatures_advanced)__. +Read more about heat transfer settings __[here](temperature-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_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 # +++ diff --git a/book/content/material/material_basics.md b/book/content/material/material_basics.md index 8b7b1b0e..bb97c825 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: @@ -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/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", 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] 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.