Jukka Aho
d1eac86e33
test(assemblers): add DOF-based apply_K regression
2026-05-09 18:37:21 +03:00
Jukka Aho
93e104271b
test(assemblers): add block Jacobi smoke tests
2026-05-09 18:37:21 +03:00
Jukka Aho
31e1c39bf3
test(assemblers): add masked-row apply_K regression
2026-05-09 18:37:21 +03:00
Jukka Aho
542333b8c5
test(assemblers): add topic runner for assembler regressions
...
Bundle matrix-free, partitioned, and COO assembler tests behind one `@testset`.
- Include zero-alloc, MPC, eigensolve, and surface-load coverage files.
2026-05-09 18:37:01 +03:00
Jukka Aho
cac893ca98
docs(test): add top-level test tree README
...
Describe how topic `runtests.jl` files mirror `src/` and how to filter suites.
- Point contributors at ARGS topic filtering via `test/runtests.jl`.
2026-05-09 18:37:01 +03:00
Jukka Aho
086bc061d0
docs(topology): add module README for reference shapes
...
Outline topology types, aliases, and downstream consumers (`Mesh`, basis).
- Provide quick navigation for contributors touching shape definitions.
2026-05-09 18:36:33 +03:00
Jukka Aho
3788199791
docs(quadrature): add module README for integration rules
...
Summarize quadrature entry points and how they pair with topology/basis code.
- Document Gauss families and extension hooks at a glance.
2026-05-09 18:36:32 +03:00
Jukka Aho
3788067fa6
feat(mesh): add pyramid facet connectivity maps
...
Support lowest-order facet metadata on `Pyr5` meshes.
- Introduce `Pyr5FacetMaps` parallel to hex/tet facet helpers.
2026-05-09 18:36:14 +03:00
Jukka Aho
48ebc9bf4d
feat(mesh): add wedge facet connectivity maps
...
Extend facet-map machinery to `Wedge6`/`Wedge15` skeletons.
- Add `Wedge6FacetMaps` builders aligned with topology reference numbering.
2026-05-09 18:36:14 +03:00
Jukka Aho
261b145b92
feat(mesh): add Hex8 facet connectivity maps
...
Track global facet topology metadata for hex meshes used by face-based DOFs.
- Introduce `Hex8FacetMaps` construction helpers and orientation bookkeeping.
2026-05-09 18:36:14 +03:00
Jukka Aho
cbf19a0800
feat(mesh): add Tet4/Tet10 facet connectivity maps
...
Provide edge/face global IDs and orientation hints for lowest-order facet DOFs on tets.
- Introduce `Tet4FacetMaps` plus builders consumed by DOF handlers.
2026-05-09 18:36:14 +03:00
Jukka Aho
a1cf26fa98
feat(legacy): add Legacy.jl entry module
...
Wire optional loading of historical Problems, fields, solvers, and Abaqus IO after
the modern core is defined.
- Gate includes on `JULIAFEM_ENABLE_LEGACY` from `JuliaFEM.jl`.
2026-05-09 18:35:49 +03:00
Jukka Aho
05308161bf
docs(legacy): describe opt-in Legacy module scope
...
Document what ships behind `JULIAFEM_ENABLE_LEGACY=1` and how includes are ordered.
- Summarize Dict fields, Problems/Solvers, and Abaqus IO relocation.
2026-05-09 18:35:49 +03:00
Jukka Aho
598b216b63
feat(legacy/io): restore optional Abaqus example downloader
...
Reintroduce environment-driven downloads for tutorial `.inp` decks behind Legacy.
- Implement `abaqus_download` with URL/dir env hooks.
2026-05-09 18:35:34 +03:00
Jukka Aho
f397e950e4
feat(legacy/io): add surface-element extraction tables
...
Provide side-mapping helpers that convert solid connectivity to boundary facets.
- Add static face maps plus `create_surface_elements` Dict APIs.
2026-05-09 18:35:34 +03:00
Jukka Aho
013d67fbef
feat(legacy/io): vendor Abaqus model AST types
...
Restore mutable `Model`/`Mesh` Dict containers for `.inp` ingestion.
- Include section parsers and state machine helpers from the historical reader.
2026-05-09 18:35:34 +03:00
Jukka Aho
75902d50d4
feat(legacy/io): vendor Abaqus mesh parser tables
...
Bring back element-code dispatch and mesh scanning for Dict-based meshes.
- Add `parse_mesh.jl` consumed by `abaqus_read_mesh`.
2026-05-09 18:35:33 +03:00
Jukka Aho
e8a0da5c13
feat(legacy/io): add Abaqus keyword registration globals
...
Restore mutable keyword registry used by the `.inp` parser inside Legacy.
- Implement `register_abaqus_keyword` / `is_abaqus_keyword_registered`.
2026-05-09 18:35:33 +03:00
Jukka Aho
e15a97fcfe
feat(legacy): add sparse LinearSystem assembly container
...
Introduce the legacy augmented-system representation used by `Solver`/`Analysis`.
- Track stiffness blocks, constraint matrices, and RHS assembly scratch.
2026-05-09 18:35:23 +03:00
Jukka Aho
6de42a599a
feat(legacy): add Poi1/Lagrange element constructors
...
Provide legacy `Element` factories with Dict-backed geometry fields.
- Implement `elements_lagrange.jl` hooks expected by Abaqus glue and Problems.
2026-05-09 18:35:23 +03:00
Jukka Aho
d13f1ec998
feat(legacy): restore Dict-based DCTI/DVTI field containers
...
Bundle FEMBase-style discrete fields (`DCTI`, `DVTI`, time-variant Dict backs)
inside `JuliaFEM.Legacy`.
- Add constructors, interpolation hooks, and mutation helpers used by old Problems.
2026-05-09 18:35:23 +03:00
Jukka Aho
d6c36ade04
feat(legacy): add CSC sparse helpers for linear-system path
...
Move `get_nonzero_rows`, resizing utilities, and related helpers into the opt-in
Legacy stack for solver wiring.
- Provide CSC-only helpers consumed by `legacy/solvers.jl` / `linear_system.jl`.
2026-05-09 18:35:22 +03:00
Jukka Aho
955b59c839
feat(materials): add element-wise scalar diffusion coefficient cache
...
Support piecewise-constant per-element κ fields for nonlinear diffusion assembly.
- Implement `ElementWiseScalarDiffusion` behavior trait and evaluation hooks.
2026-05-09 18:34:41 +03:00
Jukka Aho
cd60d89407
feat(materials): add hydraulic conductivity for Darcy flow
...
Wire `HydraulicConductivity` into potential-based Darcy kernels.
- Provide permeability-driven flux linearizations with documented traits.
2026-05-09 18:34:40 +03:00
Jukka Aho
5b99a7a427
feat(materials): add moisture diffusion conductivity tag
...
Introduce `MoistureDiffusivity` for scalar moisture transport kernels.
- Declare physics traits and constant diffusion tensors/scalars as appropriate.
2026-05-09 18:34:40 +03:00
Jukka Aho
ac3675cd3c
feat(materials): add thermal conductivity material law
...
Provide Fourier heat flux linear map with `HeatKernel` trait hooks.
- Implement `HeatConductivity` constants and stress/tangent analogues for diffusion.
2026-05-09 18:34:40 +03:00
Jukka Aho
9d533353ee
feat(materials): add eigenstrain-augmented linear elasticity
...
Support prescribed eigenstrain tensors updated outside `compute_stress`.
- Add `LinearElasticWithEigenstrain` and matching state-variable declarations.
2026-05-09 18:34:40 +03:00
Jukka Aho
13b6c67597
feat(materials): add Norton–Bailey creep coupled to elasticity
...
Introduce explicit creep strain increment updates with elastic tangent returns.
- Wire `CreepStrain` state requirements and trait classification.
2026-05-09 18:34:40 +03:00
Jukka Aho
5adc180f2f
feat(materials): add Chaboche nonlinear kinematic hardening J2 model
...
Extend J₂ plasticity with Armstrong–Frederick backstress slots using compositional state tags.
- Add `ChabocheJ2Plasticity` plus `compute_stress` integration.
2026-05-09 18:34:40 +03:00
Jukka Aho
c19b0aaf00
feat(materials): add scalar damage wrapper on linear elasticity
...
Provide staggered scalar damage evolution with explicit tangent omissions documented in traits.
- Implement `ScalarDamageLinearElastic` stress/tangent updates.
2026-05-09 18:34:39 +03:00
Jukka Aho
ccc2f113b2
feat(materials): add St. Venant–Kirchhoff J2 finite-strain plasticity
...
Combine Green–Lagrange kinematics with J₂ return mapping on the elastic predictor.
- Override `continuum_kinematics` and declare required IP state variables.
2026-05-09 18:33:56 +03:00
Jukka Aho
ea506e2b14
feat(materials): add J2 isotropic hardening plasticity
...
Introduce classic radial-return J₂ plasticity with NamedTuple IP state.
- Wire traits, consistent tangent assembly, and `compute_stress` updates.
2026-05-09 18:33:56 +03:00
Jukka Aho
cf5a29aed3
feat(materials): add Mooney–Rivlin, Yeoh, and Gent hyperelastic laws
...
Provide additional `StatelessStrainDependent` models alongside Neo-Hookean.
- Implement strain-energy densities and `compute_stress` bridges for common hyperelastic forms.
2026-05-09 18:33:56 +03:00
Jukka Aho
dff07f812e
feat(materials): add orthotropic linear elasticity model
...
Implement rotation-aware orthotropic Hooke law with trait hooks for continuum assembly.
- Add `OrthotropicLinearElastic` plus stress/tangent evaluation utilities.
2026-05-09 18:33:56 +03:00
Jukka Aho
b93faf8624
feat(materials): add GlobalMaterialCache and material_state_type
...
Implement the NamedTuple-backed integration-point workspace used across kernels,
including zero-state construction, getters/setters, and trait-driven sizing.
- Introduce `GlobalMaterialCache{StateType}` with paired current/old IP state matrices.
- Wire `material_state_type`, `create_global_material_cache`, and helpers that map
`required_state_variables` into concrete state tuples.
2026-05-09 18:33:08 +03:00
Jukka Aho
b185f65ad5
feat(quadrature): integrate basis degree into quadrature selection
...
Add `basis_quadrature_order` and an `integration_points(topology, basis)` overload
so assembly can match Gauss rules to `Lagrange{P}` / `Serendipity{P}` instead of
inferring order only from topology node counts.
- Delegate rule choice to `default_quadrature(T, ord)` with `ord` from the basis.
2026-05-09 18:32:52 +03:00
Jukka Aho
06eb9864a7
feat(materials): add continuum kinematics trait tags
...
Introduce `SmallStrainKinematics` vs `GreenLagrangeKinematics` hooks so
`update_material_cache!` can pick the strain measure per material.
- Define `AbstractContinuumKinematics`, concrete tags, and default
`continuum_kinematics(::AbstractMaterial)` dispatch.
2026-05-09 18:32:40 +03:00
Jukka Aho
ec8efd52dd
feat(materials): add symmetric fourth-order identity helper
...
Provide the Lamé-style symmetric identity tensor builder shared by elastoplastic
material implementations.
- Add `symmetric_identity_tensor()` returning `SymmetricTensor{4,3}` with SPDX header.
2026-05-09 18:32:29 +03:00
Jukka Aho
2f6715a025
chore(test): delete fundamentals quad4 validation tutorial script
...
Remove legacy single-element validation tutorial.
- Drop `validation_1element_quad4.jl`.
2026-05-09 18:31:43 +03:00
Jukka Aho
a0cffd9146
chore(test): delete fundamentals Gmsh recipe tutorial script
...
Remove companion recipe script for retired Gmsh tutorial.
- Drop `reading_gmsh_meshes_recipe.jl`.
2026-05-09 18:31:42 +03:00
Jukka Aho
72c1d607f4
chore(test): remove fundamentals tutorial Gmsh mesh fixture
...
Delete bundled `.msh` asset for removed tutorial script.
- Drop `reading_gmsh_meshes.msh`.
2026-05-09 18:31:42 +03:00
Jukka Aho
534889f985
chore(test): delete fundamentals Gmsh reading tutorial script
...
Remove stale tutorial harness superseded by `test/io/test_gmsh_reader.jl`.
- Drop `reading_gmsh_meshes.jl`.
2026-05-09 18:31:42 +03:00
Jukka Aho
cceb56849b
chore(test): delete fundamentals creating_elements tutorial script
...
Remove obsolete tutorial referencing retired element constructors.
- Drop `creating_elements.jl`.
2026-05-09 18:31:42 +03:00
Jukka Aho
684974b18e
chore(test): delete fundamentals basis_functions tutorial script
...
Remove legacy tutorial code under `test/tutorials/` (historical API).
- Drop `basis_functions.jl`.
2026-05-09 18:31:42 +03:00
Jukka Aho
a3f3ee9401
chore(test): delete strain-based validation regression
...
Remove obsolete strain validation harness.
- Drop `test/validation/test_strain_based.jl`.
2026-05-09 18:31:16 +03:00
Jukka Aho
2e6f83dd0a
chore(test): drop elasticity helper validation suite
...
Remove unused helper verification tests.
- Delete `test/validation/test_elasticity_helpers.jl`.
2026-05-09 18:31:16 +03:00
Jukka Aho
43dc646ae0
chore(test): remove minimal cantilever validation test
...
Delete retired cantilever benchmark tied to old APIs.
- Drop `test/validation/test_cantilever_minimal.jl`.
2026-05-09 18:31:16 +03:00
Jukka Aho
91cb53b012
chore(test): delete legacy topology smoke suite
...
Remove redundant topology reference coordinate checks.
- Drop `test/topology/test_topology.jl`.
2026-05-09 18:31:16 +03:00
Jukka Aho
17ea9c32a2
chore(test): drop topology integration regression
...
Remove stale topology/quadrature coupling tests.
- Delete `test/topology/test_integration.jl`.
2026-05-09 18:31:15 +03:00
Jukka Aho
295b26b411
chore(test): drop unused solver postprocess tet4.inp fixture
2026-05-09 18:30:55 +03:00