mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-05 20:11:31 +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/
|
# src/
|
||||||
|
|
||||||
Top-level layout of the JuliaFEM source tree. The package is **0.x**; the
|
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. |
|
| `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. |
|
| `quadrature/` | Gauss-Legendre integration points for every supported topology. |
|
||||||
| `geometry/` | Jacobians, physical derivatives, strain tensors. |
|
| `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. |
|
| `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. |
|
| `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. |
|
| `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. |
|
| `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`. |
|
| `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. |
|
| `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). |
|
| `sparse/` | Lightweight sparse-matrix utilities (DOK / COO). |
|
||||||
| `fields/` | `AbstractField` (`Displacement`, `Temperature`, `DisplacementRotation`) and the `LocalField` interpolation type. |
|
| `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
|
`α`, thermo-elastic `M_Tu` / `M_uT` from `β`, optional `M_uu` from solid
|
||||||
`density`).
|
`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
|
Monolithic transient stepping (backward Euler on `(K + M/Δt)`) can use the same
|
||||||
`DOFBasedCOOCache` with `assemble!` + `assemble_M!`.
|
`DOFBasedCOOCache` with `assemble!` + `assemble_M!`.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user