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 = f  in W,
 u ê ê G1 = g1;    a ¶u ¶n ê ê G2 = g2.
a, b, c: W ® R+, G1ÈG2 = ¶W.
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.