diff --git a/src/README.md b/src/README.md index fe94d24..2f9c18d 100644 --- a/src/README.md +++ b/src/README.md @@ -1,3 +1,8 @@ + + # 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. | diff --git a/src/domains/thermo_poroelastic/README.md b/src/domains/thermo_poroelastic/README.md index 8abab16..9ed4ad8 100644 --- a/src/domains/thermo_poroelastic/README.md +++ b/src/domains/thermo_poroelastic/README.md @@ -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!`.