Boundary conditions

Boundary conditions#

This page is currently under construction. Additional boundary conditions will be added in future updates.

Robin boundary conditions#

Note that this boundary condition is only available with the VEF Pnc/P0 discretization.

Robin boundary conditions consist in a linear combination between the flux term \(\boldsymbol{F}\) and the variables term. This type of boundary conditions can be usefull for Fluid structures interactions or domain decomposition for instance. The one implemented in TRUST is decomposed between the normal and the tangential part. Let’s define the outward normal vector \(\boldsymbol{n} = (n_x, n_y)\).

The flux term becomes:

\[\boldsymbol{F} = F_n \boldsymbol{n} + \boldsymbol{F_t}\]

with \(F_n\) the normal part of the flux term and \(\boldsymbol{F_t}\) the tangential part.

For the Navier-Stokes equations, the flux term can be written like that:

\[\begin{split}\begin{aligned} F_n &= \nu \nabla_n \boldsymbol{u} \cdot \boldsymbol{n} + \chi (\boldsymbol{u}\cdot \boldsymbol{n})(\boldsymbol{u}\cdot \boldsymbol{n})- p \\ \boldsymbol{F_t} &= \nu \nabla_n \boldsymbol{u} \times \boldsymbol{n} + \chi (\boldsymbol{u}\cdot \boldsymbol{n})(\boldsymbol{u}\times \boldsymbol{n}) \end{aligned}\end{split}\]

with \(\nu\) the viscosity, and \(\chi\in \{0,1\}\). In 2D, we project on the tangential vector \(\boldsymbol{t} = (-n_y, n_x)\) instead of applying the cross product \(\times \boldsymbol{n}\) (the tangential part is only composed by one vector in 2D).

Then, we define two Robin parameters: \(\alpha\) for the normal part and \(\beta\) for the tangential part and the Robin data:
  • a normal data \(g_N\) which is a scalar function,

  • a tangential data \(\boldsymbol{g_T}\) which is a scalar function in 2D and vectorial function in 3D.

The Robin boundary conditions which have been implemented in TRUST are defined such that:

\[\begin{split}\begin{aligned} \alpha F_n + \boldsymbol{u}\cdot \boldsymbol{n} &= g_N\\ \beta \boldsymbol{F_t} + \boldsymbol{u}\times \boldsymbol{n} &=\boldsymbol{g_T} \end{aligned}\end{split}\]

In TRUST, we use the keyword Robin_VEF for the Robin boundary conditions, with the following parameters:

  • alpha, beta, defined bellow.

  • the keyword champ_front_normal_et_tangentiel followed by the field data associated (consider that the followed field as a concatenation with \(g_N\) and \(\boldsymbol{n}\times \boldsymbol{g_T}\) )

For example, considering a 2D Navier-Stokes problem for \(\boldsymbol{u}=(y,-x)\), \(p=0.5(x^2+y^2)-1/3\), and \(\boldsymbol{n}=(1,0)\), the Robin boundary conditions write in your .data file:

Robin_VEF {
        alpha 3
        beta 4
        champ_front_normal_et_tangentiel_robin champ_front_fonc_txyz 2 -1.5*x^2-4.5*y^2+y+1.0 4*x*y-x-4
}

In this example, the first function in the field corresponds to \(g_N\) and the second to \(g_T\).

In 3D, the field champ_front_normal_et_tangentiel will have 4 components (one for \(g_N\) and three for \(\boldsymbol{n}\times\boldsymbol{g_T}\)).

Note that we use \(\boldsymbol{n}\times\boldsymbol{g_T}\) because we want to write the real tangential component of \(\boldsymbol{u}\).