Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

124 lines (86 sloc) 4.068 kb

Linear Combination Boundary Conditions

By linear combination boundary conditions (LCBCs) we mean conditions of the following type:

where a_i are given coefficients, u_i(\ul{x}) are some components of unknown fields evaluated point-wise in points \ul{x} \in \omega , and \omega is a subset of the entire domain \Omega (e.g. a part of its boundary). Note that the coefficients a_i can also depend on \ul{x} .

A typical example is the no penetration condition \ul{u}(\ul{x}) \cdot \ul{n}(\ul{x}) = 0 , where \ul{u} are the velocity (or displacement) components, and \ul{n} is the unit normal outward to the domain boundary.

Enforcing LCBCs

There are several methods to enforce the conditions:

  • penalty method
  • substitution method

We use the substitution method, e.i. we choose j such that a_j \neq 0 and substitute

into the equations. This is done, however, after the discretization by the finite element method, as explained below.

Let us denote c_i = \frac{a_i}{a_j} ( j is fixed). Then

Weak Formulation

We multiply :eq:`eq_lcbc_subs` by a test function v_j and integrate the equation over \omega to obtain

where H(\omega) is some suitable function space (e.g. the same space which u_j belongs to).

Finite Element Approximation

On a finite element T_K (surface or volume) we have u_i(\ul{x}) = \sum_{k=1}^{N} u_i^k \phi^k (\ul{x}) , where \phi^k are the local (element) base functions. Using the more compact matrix notation \ub_i = [u_i^1, \dots, u_i^N] , \vphib = [\vphib^1, \dots, \vphib^N]^T we have u_i(\ul{x}) = \vphib(\ul{x}) \ub_i and similarly v_i(\ul{x}) = \vphib(\ul{x}) \vb_i .

The relation :eq:`eq_lcbc_subs`, restricted to T_K , can be then written (we omit the \ul{x} arguments) as

As :eq:`eq_lcbc_weak_fe` holds for any \vb_j , we have a linear system to solve. After denoting the "mass" matrices \Mb = \int_{T_K} \vphib^T \vphib , \Mb_i = \int_{T_K} c_i \vphib^T \vphib the linear system is

Then the individual coefficients \ub_j can be expressed as

Implementation

Above is the general treatment. The code uses its somewhat simplified version described here. If the coefficients c_i are constant in the element T_K , i.e. c_i(\ul{x}) = \bar c_i for x \in T_K , we can readily see that \Mb_i = \bar c_i \Mb . The relation :eq:`eq_lcbc_weak_fe_m_s` then reduces to

hence we can work with the individual components of the coefficient vectors (= degrees of freedom) only, as the above relation means, that u_j^k = \bar c_i u_i^k for k = 1, \dots, N .

Jump to Line
Something went wrong with that request. Please try again.