Nikolay Kirov
Research interests
Mesh generators and finite element solvers
Unstructured mesh generators and a finite element solver

A finite element solver

We consider the convection-diffusion boundary value problem:
- div (a grad u) + b. grad u + cu = in W,
u ê
ê
G1  = g1;    a  u

n
ê
ê
G2  = g2.
a, b, c: W ® R+, G1ÈG2 = ¶W.
The standard Galerkin form reads:
Find uh with uh|G1= g1h such that for every vh|G1= 0
a(uh, vh) := (aÑuh, Ñvh) + (b.Ñuh, vh) + (cuh, vh) = (f, vh) + òG2 g2vhdg = :l(vh). 
 
This scheme is not suitable in the case when a is small compared with b. Therefore we have to add some stability terms which are (for piecewise linear trials) as follows:
as(uh,vh) := 
å
T Î T
dT (b.Ñuh + cuh, b.Ñvh)T  and  ls(vh):=
å
T Î T
dT (f, b.Ñvh)T ,
Here T is a triangle/tetrahedron of the mesh T, and dT ³ 0 is a user-chosen piecewise constant parameter. Often we set dT=kdÖ{ST} where ST is the area of the triangle T or dT= kdVT 1/3, where VT is the volume of the tetrahedron T.
Then the equation is
a(uh,vh) + as(uh,vh) = l(vh) + ls(vh). 
 
The finite element solver presents MATLAB procedures for:

· creating geometric models for 2D and 3D domains;
· mesh generation (with help of Triangle for 2D and QMG for 3D);
· creating stiffness matrix and solving the linear system;
· visualization of domains, meshes and solutions.