mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-24 19:19:54 +00:00
feat(src): add README.md
src/assemblers/README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# src/assemblers/
|
||||
|
||||
Assembly machinery for the current type-stable pipeline (0.x).
|
||||
|
||||
See `AGENTS.md` for invariants and `docs/src/assembler_choice.md` for a short
|
||||
comparison of DOF-based, element-based, and matrix-free paths. Regression tests
|
||||
live under `test/assemblers/`, especially `test_dof_based_zero_alloc.jl` and
|
||||
`test_matrix_free_operator.jl`.
|
||||
|
||||
The directory is split along the real fault lines. Each subdirectory
|
||||
owns a specific assembly strategy plus the supporting types it
|
||||
specialises:
|
||||
|
||||
| Path | Responsibility |
|
||||
|--------------------------|----------------------------------------------------------------------------------------------------------------------|
|
||||
| `abstract.jl` | `AbstractAssembler` hierarchy plus the kernel defaults (`get_field`, `dofs_per_node`, `get_dof_mapping!`). |
|
||||
| `microkernel.jl` | Microkernel trait (`evaluate_entry`, `qpoint_buffer_eltype`, ...) used by the DOF-based and matrix-free path. |
|
||||
| `caches/` | Reusable per-element scratch (`GeometryCache`, `ElementCache`, `AssemblyMaterialWorkspace`) and the COO global cache.|
|
||||
| `element_based/` | Classic element-by-element assembler (COO) plus the scatter routines it dispatches to. |
|
||||
| `dof_based/` | DOF-by-DOF assembler (`DOFBasedCOOAssembler` / `DOFBasedCOOCache` and the backend-agnostic KernelAbstractions port). |
|
||||
| `matrix_free/` | Declarative Dirichlet / MPC constraints, Neumann loads, matrix-free preconditioners and the generalized eigensolver. |
|
||||
|
||||
The matrix-free directory builds on the DOF-based cache plus
|
||||
`apply_K!` / `apply_M!`. All matrix-free constraint and load types
|
||||
share the `apply_constraint_*` hook protocol so that Dirichlet, MPC
|
||||
and load contributions compose freely with both the assembled and the
|
||||
matrix-free solves.
|
||||
Reference in New Issue
Block a user