Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/url_check.yaml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions book/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion book/content/boundary_conditions/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
2 changes: 1 addition & 1 deletion book/content/boundary_conditions/h_transport_basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion book/content/boundary_conditions/heat_transfer.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)__.
```
4 changes: 2 additions & 2 deletions book/content/initial_conditions/temperature.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)__.
```

+++
Expand Down
1 change: 1 addition & 0 deletions book/content/material/material_advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ kernelspec:
name: python3
---

(temperature-advanced)=
# Advanced functionality #

+++
Expand Down
4 changes: 2 additions & 2 deletions book/content/material/material_basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:

Expand Down
2 changes: 1 addition & 1 deletion book/content/meshes/mesh_fenics.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion book/content/post_process/pyvista.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion book/content/temperatures/temperatures_basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down