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) )