Files
JuliaFEM.jl/docs/src/index.md
T

64 lines
1.7 KiB
Markdown
Raw Normal View History

# JuliaFEM.jl
2017-07-19 07:34:38 +03:00
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
2017-07-19 07:34:38 +03:00
- **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
2017-07-19 07:34:38 +03:00
## Installation
2017-07-19 07:34:38 +03:00
Install JuliaFEM.jl using Julia's package manager:
2017-07-19 07:34:38 +03:00
2017-08-05 12:00:16 +03:00
```julia
using Pkg
Pkg.add("JuliaFEM")
2017-07-21 00:40:52 +03:00
```
2017-07-19 07:34:38 +03:00
## Quick Start
2017-08-05 12:00:16 +03:00
```julia
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)
2017-07-19 07:34:38 +03:00
```
## Documentation
- [API Reference](@ref) - Complete API documentation
2017-08-05 12:00:16 +03:00
## Contributing
Contributions are welcome! Please see the [GitHub repository](https://github.com/JuliaFEM/JuliaFEM.jl) for guidelines.
## License
JuliaFEM.jl is licensed under the MIT License.