Files
JuliaFEM.jl/docs/src/index.md
T
Jukka Aho 2b24cbadba docs(index): update documentation landing page
Modernize index page with comprehensive overview and quick start
guide. Replace simple contents page with informative landing page.

- Add overview section describing JuliaFEM.jl
- Add key features section highlighting capabilities
- Add installation instructions
- Add quick start example code
- Update contributing section with GitHub link
- Add license information
- Remove old contents listing
2025-12-12 23:04:39 +02:00

1.7 KiB
Raw Blame History

JuliaFEM.jl

JuliaFEM.jl is an open-source finite element method (FEM) framework written in Julia, designed for reliable, scalable, and distributed finite element analysis.

Overview

JuliaFEM.jl provides a modern, type-safe API for finite element analysis with support for:

  • Multiple element types: Triangles, quadrilaterals, tetrahedra, hexahedra, and more
  • Various physics: Linear and nonlinear elasticity, heat transfer, and more
  • GPU acceleration: CUDA support for high-performance computing
  • Distributed computing: Multi-GPU and MPI support for large-scale problems

Key Features

  • Type-safe element system: Elements are parameterized by topology, basis functions, and DOF specifications
  • Modern physics API: Clean separation between mesh, material, field, and formulation
  • Flexible material models: Linear elastic, Neo-Hookean, perfect plasticity, and more
  • Efficient assembly: COO and CSC sparse matrix formats with GPU support

Installation

Install JuliaFEM.jl using Julia's package manager:

using Pkg
Pkg.add("JuliaFEM")

Quick Start

using JuliaFEM

# Create a mesh
mesh = create_unit_cube_mesh(Hex8, 10, 10, 10)

# Define a physics problem
physics = Physics(
    name = "elasticity",
    mesh = mesh,
    element_set = :all,
    field = Displacement{3}(),
    formulation = ContinuumFormulation{FullThreeD}(),
    material = LinearElastic(; E=200e9, ν=0.3)
)

# Assemble and solve
assemble!(physics)
solve!(physics)

Documentation

Contributing

Contributions are welcome! Please see the GitHub repository for guidelines.

License

JuliaFEM.jl is licensed under the MIT License.