This is a software generating results for the paper
Leszek Marcinkowski, Talal Rahman and Jan Valdman, A 3D Crouzeix-Raviart mortar finite element. Computing 86, No. 4, 313-330 (2009)
A link to the paper can be found at the author web page located at http://sites.google.com/site/janvaldman/publications
Please cite the paper when you find the code useful.
Description; This solves the Poisson problem in the domain Omega= (0,1) x (0,1) x (-1,1) assuming the volume force equal to 3 pi*pi* sin(pi*x) sin(pi*y) sin(pi*z) and the zero Dirichlet conditions. The discrete solution is computed on two equal subdomains, Omega1= (0,1) x (0,1) x (0,1), Omega2= (0,1) x (0,1) x (-1,0) using 3D Crouzeix-Raviart mortar finite element method.The subdomains are triangulated using different regular triangulation in tetrahedrons. Therefore, there are no matching grids across the intersection plane z=0. To "connect" both subdomains solutions, a new interpolation operator is implemented and compared with a classical one.
To test the functionality of the algorithm, run "start.m".
It takes about 2 minutes on my PC to compute a solution on a mesh with 57216 edges. The major obstacle for the faster implementation is the use of matlab function polyxpoly works fine but is too general - it might be replaced by a faster function, which computes an intersection of two triangles in 2D.