Skip to content
Open

BCs #134

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
dd542d4
boundary conditions chapter
Oct 8, 2025
3e3dc3a
initial push for boundary condition chapters
Oct 14, 2025
451a588
Merge branch 'festim2' of https://github.com/festim-dev/FESTIM-worksh…
ck768 Oct 23, 2025
2e37c8b
added surface reactions and fluxes
ck768 Oct 28, 2025
44b3887
fixed some grammar errors
ck768 Oct 28, 2025
0767cac
Merge branch 'festim2' of https://github.com/festim-dev/FESTIM-worksh…
ck768 Feb 6, 2026
a6a2e89
re-organizing bcs chapter
ck768 Feb 10, 2026
dd4ba2a
moving fluxes, concentration bcs to basic hydrogen transport chapter
ck768 Feb 10, 2026
8eda15e
fixes
ck768 Feb 10, 2026
a7af267
moved to basic and advanced sections
ck768 Feb 11, 2026
676fc52
merged the pyvista fixes
ck768 Feb 12, 2026
38dde95
separating examples to new section
ck768 Feb 12, 2026
fc37559
Merge branch 'festim2' into chirag-bcs
RemDelaporteMathurin Feb 12, 2026
a573607
Merge branch 'festim2' into chirag-bcs
RemDelaporteMathurin Feb 13, 2026
cb63c6e
first pass at bcs with more integrated examples
ck768 Feb 13, 2026
44d89e5
Merge branch 'chirag-bcs' of https://github.com/festim-dev/FESTIM-wor…
ck768 Feb 13, 2026
494228f
fixed code cells and removed old files
ck768 Feb 13, 2026
6252112
refined mesh near implantation for example
ck768 Feb 20, 2026
a5e1719
addressed changes from review. moved basic BC theory to intro section…
ck768 Feb 23, 2026
fe6fd92
minor fixes and forgot intro file
ck768 Feb 23, 2026
25c6f10
improved isotopic exchange case
RemDelaporteMathurin Feb 23, 2026
d903923
completed isotopic exchange example
RemDelaporteMathurin Feb 23, 2026
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
8 changes: 8 additions & 0 deletions book/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ parts:
- file: content/material/material_htm
- file: content/material/material_advanced

- caption: Boundary Conditions
chapters:
- file: content/boundary_conditions/bc_intro
- file: content/boundary_conditions/h_transport_basic
- file: content/boundary_conditions/h_transport_advanced
- file: content/boundary_conditions/examples
- file: content/boundary_conditions/heat_transfer

- caption: Species & Reactions
chapters:
- file: content/species_reactions/species
Expand Down
79 changes: 79 additions & 0 deletions book/content/boundary_conditions/bc_intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
jupytext:
formats: ipynb,md:myst
text_representation:
extension: .md
format_name: myst
format_version: 0.13
jupytext_version: 1.19.1
---

# Fixed value and flux boundary condition mathematics

This section discusses the math behind fixed temperature/concentration and flux boundary conditions (BCs).

+++

## Fixed concentration/temperature boundary conditions

A fixed concentration (Dirichlet) boundary condition prescribes the value of the mobile hydrogen isotope concentration at a boundary. This enforces the concentration to remain constant in time and space on the specified boundary, independent of the solution in the bulk. This also applies to a fixed temperature boundary condition.

For hydrogen transport, this boundary condition is typically used to represent surfaces in equilibrium with a gas, imposed implantation conditions, or experimentally controlled concentrations. Fixed temperatures are commonly used to model infinite heat reservoirs or sinks.

### Mathematical formulation

On a boundary $\Gamma_D$, the mobile concentration satisfies

$$
c(\mathbf{x}, t) = c_0 \quad \text{for } \mathbf{x} \in \Gamma_D,
$$

where $c_0$ is the prescribed concentration value.

This condition is enforced by directly constraining the degrees of freedom associated with the boundary.

## Flux boundary conditions

A particle flux (Neumann) boundary condition prescribes the normal flux of mobile hydrogen isotopes across a boundary. Unlike fixed concentration conditions, flux boundary conditions do not directly constrain the concentration value at the surface. Instead, they control the rate at which particles enter or leave the domain.

Flux boundary conditions are commonly used to represent implantation from a plasma, outgassing to vacuum, permeation through a surface, or symmetry boundaries where no net transport occurs.

This also applies for heat flux boundary conditions.

### Mathematical formulation

The particle flux $\mathbf{J}$ is typically given by Fick’s law,

$$
\mathbf{J} = -D \nabla c,
$$

where $D$ is the diffusion coefficient and $c$ is the mobile concentration.

On a boundary $\Gamma_N$, a prescribed normal flux is imposed as

$$
\mathbf{J} \cdot \mathbf{n} = g(\mathbf{x}, t) \quad \text{for } \mathbf{x} \in \Gamma_N,
$$

where:
- $\mathbf{n}$ is the outward unit normal vector,
- $g(\mathbf{x}, t)$ is the imposed particle flux (positive for outward flux, negative for inward flux).

A special case is the **zero-flux (symmetry) boundary condition**, given by

$$
\mathbf{J} \cdot \mathbf{n} = 0 \quad \text{on } \Gamma,
$$

which implies no net particle transport across the boundary.

#### Weak formulation

In the weak form, flux boundary conditions appear naturally as surface integrals after integration by parts. For a test function $v$, the boundary contribution is

$$
\int_{\Gamma_N} g(\mathbf{x}, t)\, v \, \mathrm{d}\Gamma.
$$

Because of this, flux boundary conditions are often referred to as *natural boundary conditions* and do not require explicit modification of the solution space, unlike Dirichlet conditions.
Loading