sandbox/tfullana/patch_robinBC
Definition of the Robin boundary condition
The Robin boundary condition or mixed boundary condition is defined as follows :
\displaystyle \boldsymbol{u}_{t} = u_{S} - \lambda \frac{\partial{\boldsymbol{u}_{t}}}{\partial \boldsymbol{n}} with \boldsymbol{u}_{t} the tangential velocity at the boundary, u_{S} the prescribe substrate velocity, \lambda the slip length and \boldsymbol{n} the inward normal to the surface.
Patch
The patch containing the addition of the Robin boundary condition in the list of pre-defined expressions (Dirichelet, Neumann) can be found here.
To apply the patch :
cd $BASILISK
darcs apply "patchname"
make clean
make
Usage
The Robin boundary condition takes the prescribed velocity and the slip length as inputs. For example, consider a moving plate with slip at the bottom of the domain :
u.t[bottom] = robin(U_plate,lambda)
u.n[bottom] = dirichlet(0);
Warning
Currently working on this issue.
We define the homogeneous counterpart of the Robin boundary condition as \boldsymbol{u} is solution of the Poisson problem. The value of the slip length \lambda of the robin homogeneous boundary condition, found in the file common.h, has to be changed manually.
For example, for \lambda = 0.1 :
u.t[bottom] = robin(U_plate,0.1)
Go to the robin_homogeneous line in the common.h file :
cd $BASILISK
vi +/robin_homogeneous common.h
Modify the value of (\lambda) so that it’s equal to 0.1 :
@define robin_homogeneous() ( ((2.*(0.1)-Delta)/(2.*(0.1)+Delta))*val(_s,0,0,0) )