DarcyLite
(Version 1.2.1) How
To Use DarcyLite Matlab code package for simulations of flow and transport in porous media; Mainly for 2-dim problems by the weak Galerkin (WG) finite element methods Darcy+
(Version 1.3.2)C++ code package for simulations of flow and transport in porous media; Mainly for 3-dim problems by the weak Galerkin (WG) finite element methods ( Block diagonal Schur complement
implemented)DarcyPy (Coming Soon
...)Python code package for simulations of flow and transport in porous media; Mainly for the weak Galerkin (WG) finite element methods |

This is a compact/lite package of C++ code for vectors, matrices, and linear solvers.

LinSys.h matrix.h vector.h

LinSys.cpp matrix.cpp vector.cpp

For solving large scale linear systems, we recommend PETSc and Trilinos.

ELLAM: Eulerian-Lagrangian Localized Adjoint Methods

- ELLAM applied to solve the convection-diffusion equation
arising from the resistive magnetohydrodynamics (MHD)
model. Shown below are the results for 3 test problems
discussed in our paper: J.Liu,
S.Tavener, and H.Chen, ELLAM for resolving the
kinematics of two-dimensional resistive
magnetohydrodynamic flows, J.
Comput. Phys., 227(2007), pp.1372--1386. PDFfile

- A review paper by T.Russell and M.Celia on ELLAM (up to Year 2002) can be found here.

- This link is also very useful for us to know more about ELLAM.

Maxwell3dSolvers

This is an ongoing collaborative research project. Nonconforming finite elements, including the locally divergence-free (LDF) elements, are used to solve Maxwell source and eigenvalue problems on 3-dim unstructured tetrahedral meshes. Preliminary results are very encouraging: no spurious eigenvaules for eigenproblems and optimal convergence rates for source problems. About 3000 lines of C++ code have been developed and tested, and more are coming.

QuadFVM

We would like to share our C++ code for the quadratic finite volume element methods on quadrilateral meshes for elliptic and parabolic problems. All the files listed below have been compressed into QuadFVM.zip

Ex2Fxns.h
fve2.h GaussQuad.h LinSys.h matrix.h PtVec2d.h Quadri2Mesh.h subs.h vector.h |
Ex2Fxns.cpp fve2.cpp LinSys.cpp main.cpp matrix.cpp PtVec2d.cpp Quadri2Mesh.cpp subs.cpp vector.cpp |
Ex2QuadriMesh16.dat Ex2QuadriMesh32.dat Ex2QuadriMesh64.dat Ex2QuadriMesh8.dat |

Min Yang and Jiangguo Liu, A quadratic finite volume element method for parabolic problems on quadrilateral meshes, IMA J. Numer. Anal., 31(2011), pp.1038--1061. PDF

UTMC: Uniform Tetrahedral Meshes for Cubes (3-dim Rectangles)

Nothing is really mysterious in our code. But in some circumstances, we just want an instant production of tetrahedral meshes, usually uniform meshes are OK, without mentioning they can also be used for exploring superconvergence of finite element methods. C++, Fortran, Matlab codes are furnished. TetView can be used to visualize your tetrahedral meshes. For generation of unstructured tetrahedral meshes, we recommend Gmsh and Tetgen.
utmc.cpp utmc.f90 utmc.m |