mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-06 04:21:33 +00:00
docs(src): align module map with extension-first mesh I/O
Add SPDX to src/README, trim mesh/io blurbs for extension-based formats, and extend thermo-poroelastic notes with Val-split THM helpers and a test pointer. - SPDX HTML banner on src/README plus refreshed mesh and io table descriptions - Document `_thm_stiff_K_*` / `_thm_mass_M_*` helpers and microkernel alloc test
This commit is contained in:
+7
-2
@@ -1,3 +1,8 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2015-2026 Jukka Aho
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
# src/
|
||||
|
||||
Top-level layout of the JuliaFEM source tree. The package is **0.x**; the
|
||||
@@ -17,14 +22,14 @@ inside each subdirectory.
|
||||
| `basis/` | Shape-function families (`Lagrange{P}`, `Serendipity{P}`, plate bases) plus the symbolic generator that produces them. |
|
||||
| `quadrature/` | Gauss-Legendre integration points for every supported topology. |
|
||||
| `geometry/` | Jacobians, physical derivatives, strain tensors. |
|
||||
| `mesh/` | Type-stable `Mesh{N, Topo}`, structured/circular generators, refinement, RCM ordering, gmsh wrapper. |
|
||||
| `mesh/` | Type-stable `Mesh{N, Topo}`, structured/circular generators, refinement, RCM ordering. |
|
||||
| `dofs/` | `DOF{Quantity, Entity}`, `@DOFSet`, `DOFHandler`, DOF connectivity and the field/dof-extraction infrastructure. |
|
||||
| `elements/` | `Element{K, P, S, N}` template, compile-time `local_dof_layout`, DOF-extraction and field-interpolation utilities. |
|
||||
| `materials/` | `LinearElastic`, `NeoHookean`, `PerfectPlasticity`, `HeatConductivity` and the trait-based dispatch used by the kernels. |
|
||||
| `assemblers/` | Assembly caches, `ElementBasedAssembler` (COO/CSC) and `DOFBasedCOOAssembler`, the matrix-free `apply_K!`/`apply_M!` path. |
|
||||
| `domains/` | Physics kernels per discipline: `continuum/`, `heat/`, `thermo_elastic/`. See `domains/README.md`; each subdirectory implements an `AbstractKernel`. |
|
||||
| `physics/` | `AbstractPhysics` tag (`Elasticity{Dim}`, `Thermal{Dim}`), microkernel contract for the DOF-based path, formulation helpers and strain extraction. |
|
||||
| `io/` | Mesh readers (Gmsh by default; Abaqus + Aster live in the optional `Legacy` submodule). |
|
||||
| `io/` | Mesh I/O policy only; external formats via extensions / side packages; Abaqus + Aster in optional `Legacy`. |
|
||||
| `sparse/` | Lightweight sparse-matrix utilities (DOK / COO). |
|
||||
| `fields/` | `AbstractField` (`Displacement`, `Temperature`, `DisplacementRotation`) and the `LocalField` interpolation type. |
|
||||
|
||||
|
||||
@@ -14,6 +14,10 @@ optional cross-coupling between `T` and `p` (`kappa_tp`, `zeta_tp`). See
|
||||
`α`, thermo-elastic `M_Tu` / `M_uT` from `β`, optional `M_uu` from solid
|
||||
`density`).
|
||||
|
||||
Stiffness and mass microkernels split non-zero `(field_i, field_j)` blocks into
|
||||
small `Val`-tagged helpers (`_thm_stiff_K_*`, `_thm_mass_M_*`) for clearer IR;
|
||||
see `test_thm_microkernel_alloc.jl` for per-pair `@allocated` checks.
|
||||
|
||||
Monolithic transient stepping (backward Euler on `(K + M/Δt)`) can use the same
|
||||
`DOFBasedCOOCache` with `assemble!` + `assemble_M!`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user