The JuliaFEM project develops open-source software for reliable, scalable, distributed Finite Element Method.

The JuliaFEM software library is a framework that allows for the distributed processing of large Finite Element Models across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. The basic design principle is: everything is nonlinear. All physics models are nonlinear from which the linearization are made as a special cases.

If you have any questions about the project, join the discussion at Gitter, either in in English or in Finnish.

Packages

You can access package documentation by clicking package name.

  • The JuliaFEM software library is a framework that allows for the distributed processing of large Finite Element Models across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage.

  • TetGen is a program to generate tetrahedral meshes of any 3D polyhedral domains. TetGen generates exact constrained Delaunay tetrahedralizations, boundary conforming Delaunay meshes, and Voronoi partitions. TetGen.jl is a wrapper for TetGen library.

  • Julia package for a smallest enclosing sphere for points in arbitrary dimensions

  • CalculiX is a package designed to solve field problems. The method used is the finite element method. With CalculiX Finite Element Models can be build, calculated and post-processed. The pre- and post-processor is an interactive 3D-tool using the openGL API. CalculiX-cmake has cmake files to make compiling of CalculiX easier.

  • CalculiX is a package designed to solve field problems. The method used is the finite element method. With CalculiX Finite Element Models can be build, calculated and post-processed. The pre- and post-processor is an interactive 3D-tool using the openGL API. Calculix.jl wraps original code to Julia environment.

  • NodeNumbering is a repository of JuliaFEM to renumber FE nodes with the Reverse Cuthill-McKee algorithm.

  • AbaqusReader.jl is a parse for ABAQUS FEM models. It’s capable of parsing the geometry accurately, including surface sets, node sets, and other relevant geometrical data used in FEM calculations. Other option is to parse whole model, including boundary conditions, material data and load steps.

  • Computational material models

  • AsterReader.jl is a Julia package to read Code Aster binary mesh and result files. Code Aster meshes can be done using another open source software SALOME Platform. Reading results from .rmed files is also partially supported, so it’s possible to verify calculations of JuliaFEM.jl against Code Aster solutions.

  • FEMQuad.jl package contains various of integration schemes for cartesian and tetrahedral domains. The most common integration rules are tabulated and focus is on speed. Each rule has own “label” so we can easily implement several rules with same degree. API is very simple making is easy to utilize package in different FEM projects.

  • PKgTestSuite is a standard test suite to test packages under JuliaFEM organization. By using centralized testing script we can control testing of all packages from single place. In practice, PkgTestSuite is taking care of whole CI process, starting from running doctests, tests, syntax check + other tests. After that automatically generated documentation is deployed to organisation web-page.

  • Mortar2D.jl is a Julia package to calculate discrete projections between non-conforming finite element meshes. The resulting “mortar matrices” can be used to tie non-conforming finite elements meshes together in an optimal way.

  • This is the repository for web-pages shown at www.juliafem.org. Any changes to web-page should be committed to here. Jekyll is used in background to generate html pages from markdown documents.

  • FEMSparse.jl aims to develop fast finite element assembly procedure. Main goal is to utilize threading of multicore computeres in order to calculate global FEM matrices in a efficient way.

  • FEMBasis contains interpolation routines for finite element function spaces. Given ansatz and coordinates of domain, shape functions are calculated symbolically in a very general way to get efficient code. Shape functions can also be given directly and in that case partial derivatives are calculated automatically.

  • ModelReduction is a repository of JuliaFEM to reduce the dimension of a model for multibody dynamics problems. The package includes e.g. the Guyan reduction and the Craig-Bampton method.

  • Accurately calculate reflections in deformed NURBS surfaces

  • Metadata for registered Julia packages.

  • The need for a standardized method to exchange scientific data between High Performance Computing codes and tools lead to the development of the eXtensible Data Model and Format (XDMF) . Uses for XDMF range from a standard format used by HPC codes to take advantage of widely used visualization programs like ParaView, to a mechanism for performing coupled calculations using multiple, previously stand alone codes. Xdmf.jl can be utilized to work with Xdmf files in Julia projects.

  • Finite Element test models library contains finite element meshes which can then be used in examples and to measure performance of code.

  • FEModels.jl is a Julia package to download test models from FEModels easily.

  • Discrete mortar projections in 3D solid mechanics

subscribe via RSS