The Finite-Element Method (FEM) is a computationally method to
    solve boundary value problems over an unstructured mesh.  FEM is
    particularly well suited for modeling domains of arbitrary shape, and
    efficiently modeling small features in large computational domains.

    Both 2D and 3D FEM codes can be downloaded below.  Please see
    the requirements at the bottom of this page before downloading.

    ! On 8/30/09 JFEM3D was added (but note that the coding is very
    sloppy) !

    Please also see the section below on citing JCODES codes.  Thanks.
Counter

    JFEM (2D/3D):

    In 2D, the Helmholtz equation equation is solved for the magnetic field,
    from which the electric field is calculated. In 3D, the vector wave
    equation is solved for the electric or magnetic field directly.

    - (2D) Triangular elements with first order nodal basis functions
    - (3D) Tetrahedral elements with 0, 1st, or 2nd order H0 curl
    interpolatory vector basis functions (constructed from Whitney edge
    elements) or H1 curl 1st order vector basis functions
    - Sommerfeld radiation condition imposed on exterior of computational
    domains (1st order) to model open--region scattering problems
    - (3D) Truncation of domains using a dielectric material
    - Absorption, scattering, and extinction cross section calculation
    - Output of field intensity profiles
    - Sparse LU decomposition (PARDISO from Intel MKL) to solve matrix
    equations


    2D Finite-Element simulation of 2
    interacting 50 nm diameter silver
    infinite cylinders separated by 1
    nm at 339 nm. |E|^2 is shown.
    Mesh used to calculate the above
    result.  The mesh was generated
    using NETGEN.

The Computational Physicist

    Citing:

    The codes provided here are free under the GPL.  If these codes are used
    to obtain results to publish a paper, book, etc please acknowledge their
    use with reference to their name (JFEM3D or JFEM2D) and the website
    www.thecomputationalphysicist.com.  This is not required, but greatly
    appreciated.