Commit Graph

1636 Commits

Author SHA1 Message Date
Jukka Aho 9e287d8fb6 test(element): add runtests.jl
Test suite organizer for element module.
Includes CElement creation, type, and interpolation tests.
2025-12-15 07:43:34 +02:00
Jukka Aho 20729506d3 test(dofs): add runtests.jl
Test suite organizer for DOF system module.
Includes field unification and DOF system tests.
2025-12-15 07:43:28 +02:00
Jukka Aho 8adfb0802f test(basis): add runtests.jl
Test suite organizer for basis module.
Includes all basis function tests: partition of unity, derivatives,
interpolation, type stability, numerical accuracy, etc.
2025-12-15 07:43:23 +02:00
Jukka Aho e55560a35a test(validation): add simple plasticity validation test
Test file included in main test/runtests.jl
Simple validation test for plasticity material behavior
2025-12-15 06:40:15 +02:00
Jukka Aho 5cbb8091fd test(topology): add wedges test
Test file included in main test/runtests.jl
Tests wedge element topology
2025-12-15 06:40:06 +02:00
Jukka Aho ad22999128 test(topology): add triangles test
Test file included in main test/runtests.jl
Tests triangular element topology
2025-12-15 06:40:02 +02:00
Jukka Aho 71ee6849a2 test(topology): add topology entities tetrahedron test
Test file included in main test/runtests.jl
Tests topological entities for tetrahedral elements
2025-12-15 06:40:00 +02:00
Jukka Aho 802296a501 test(topology): add topological invariance test
Test file included in main test/runtests.jl
Tests topological invariance properties
2025-12-15 06:39:58 +02:00
Jukka Aho f92ea0bc08 test(topology): add segments test
Test file included in main test/runtests.jl
Tests segment element topology
2025-12-15 06:39:56 +02:00
Jukka Aho ff3631e449 test(topology): add quadrilaterals test
Test file included in main test/runtests.jl
Tests quadrilateral element topology
2025-12-15 06:39:53 +02:00
Jukka Aho 970fed178b test(topology): add pyramids test
Test file included in main test/runtests.jl
Tests pyramid element topology
2025-12-15 06:39:51 +02:00
Jukka Aho 487a675ad0 test(topology): add hexahedra test
Test file included in main test/runtests.jl
Tests hexahedral element topology
2025-12-15 06:39:49 +02:00
Jukka Aho f9d17c22e8 test(topology): add entity dimensions test
Test file included in main test/runtests.jl
Tests topological entity dimension properties
2025-12-15 06:39:46 +02:00
Jukka Aho 92bd0b9704 test(quadrature): add wedge quadrature test
Test file included in test/quadrature/runtests.jl
Tests quadrature rules for wedge elements
2025-12-15 06:39:35 +02:00
Jukka Aho 5bc7965983 test(quadrature): add triangle quadrature test
Test file included in test/quadrature/runtests.jl
Tests quadrature rules for triangular elements
2025-12-15 06:39:31 +02:00
Jukka Aho 7dc48934d6 test(quadrature): add tetrahedra quadrature test
Test file included in test/quadrature/runtests.jl
Tests quadrature rules for tetrahedral elements
2025-12-15 06:39:28 +02:00
Jukka Aho 1e3839bf69 test(quadrature): add tensor product quadrature test
Test file included in test/quadrature/runtests.jl
Tests tensor product quadrature rules
2025-12-15 06:39:21 +02:00
Jukka Aho c082000a5c test(quadrature): add pyramid quadrature test
Test file included in test/quadrature/runtests.jl
Tests quadrature rules for pyramid elements
2025-12-15 06:39:04 +02:00
Jukka Aho 1663e6d59b test(quadrature): add legacy API test
Test file included in test/quadrature/runtests.jl
Tests backward compatibility with legacy quadrature API
2025-12-15 06:38:41 +02:00
Jukka Aho 5c4c9e2224 test(quadrature): add API test
Test file included in test/quadrature/runtests.jl
Tests quadrature API functions and interface
2025-12-15 06:38:05 +02:00
Jukka Aho 26e14723f4 test(quadrature): add accuracy test
Test file included in test/quadrature/runtests.jl
Tests numerical accuracy of quadrature rules
2025-12-15 06:37:26 +02:00
Jukka Aho fc43bd457b test(physics): add strain extraction test
New 137-line test file included in main test/runtests.jl:
- Tests extract_strain() function (displacement gradient → strain tensor)
- Tests extract_strain_rate() function (velocity gradient → strain rate tensor)
- Tests pure extension, shear deformation, and general deformation cases
- Tests quasi-static strain rate from increments
- Validates symmetric tensor properties and engineering shear strain

Ensures strain extraction functions work correctly for continuum mechanics.
2025-12-15 06:37:02 +02:00
Jukka Aho 3376ba15db test(materials): add assembly workspace refactor test
New 294-line test file included in main test/runtests.jl:
- Tests refactored AssemblyMaterialWorkspace with compositional field design
- Tests field structure inference from material traits
- Tests workspace creation with correct field types
- Tests field access (backward compatibility)
- Tests multiphysics support preparation
- Validates zero allocations in workspace operations

Ensures assembly workspace refactoring maintains backward compatibility and performance.
2025-12-15 06:36:54 +02:00
Jukka Aho ac0fc346af test(materials): add cantilever material cache zero allocations test
New 308-line test file included in main test/runtests.jl:
- Tests GlobalMaterialCache with cantilever beam problem
- Verifies ZERO allocations during state access and updates
- Tests cache creation from material traits (automatic)
- Tests time-stepping workflow with zero allocations in hot loop
- Includes performance benchmarks using BenchmarkTools
- Validates material state type inference

Comprehensive performance test ensuring material cache system has zero allocations.
2025-12-15 06:36:46 +02:00
Jukka Aho b7c4f64151 test(materials): add plasticity integration test
New 229-line test file included in main test/runtests.jl:
- Tests PerfectPlasticity material instantiation and traits
- Tests global material cache creation for stateful materials
- Tests direct NamedTuple state manipulation (compositional design)
- Tests cache access and manipulation (set_state!, update_cache!)
- Tests multi-step plasticity simulation workflow
- Tests state variable helpers (get_state_variable, set_state_variable)
- Validates type stability of key operations

Comprehensive integration test ensuring plasticity material works with cache system.
2025-12-15 06:36:30 +02:00
Jukka Aho b5772b141b test(materials): add global material cache test
New 98-line test file included in main test/runtests.jl:
- Tests GlobalMaterialCache construction for stateless and stateful materials
- Tests state access and update operations (get_state, set_state!, update_cache!, reset_cache!)
- Tests state variable helpers (get_state_variable, set_state_variable)
- Tests integration with material traits (create_global_material_cache)
- Validates cache structure and state management for time-dependent materials

Ensures material cache system works correctly for storing state variables at integration points.
2025-12-15 06:36:03 +02:00
Jukka Aho e3527dac93 test(materials): add material traits test
New 99-line test file included in main test/runtests.jl:
- Tests LinearElastic material traits (supported_physics, required_field_types, required_state_variables)
- Validates trait function existence and exports
- Tests helper functions (is_stateful, get_state_variable_types, get_state_variable_symbols)
- Verifies compositional design philosophy for state variables
- Tests physics-to-field-type derivation

Ensures material trait system works correctly for compositional material design.
2025-12-15 06:34:56 +02:00
Jukka Aho 5e1b66cb67 test(materials): add state variables test
New 93-line test file included in main test/runtests.jl:
- Tests AbstractStateVariable type hierarchy
- Validates state_variable_type trait (returns concrete types)
- Validates default_symbol trait (returns symbols like :ε_p, :α, :κ, :d)
- Tests concrete type instantiation (PlasticStrain, Backstress, etc.)
- Tests NamedTuple usage with state variable symbols
- Verifies trait consistency across all state variable types

Ensures state variable system works correctly for material models.
2025-12-15 06:34:44 +02:00
Jukka Aho 6514c025d0 test(fields): add LocalField structure test
Test file included in main test/runtests.jl
Tests LocalField{T,G,R,GR} structure for material evaluation
2025-12-15 06:32:57 +02:00
Jukka Aho b0897a40e3 test(elements): add local field interpolation test
Test file included in main test/runtests.jl
Tests interpolate_local_fields() function for LocalField creation
2025-12-15 06:32:50 +02:00
Jukka Aho c78096fd85 test(element): add test_celement_interpolation test
Test file included in test/element/runtests.jl
2025-12-15 06:32:46 +02:00
Jukka Aho b547a1d668 test(element): add test_celement_creation test
Test file included in test/element/runtests.jl
2025-12-15 06:32:46 +02:00
Jukka Aho 2cebb46340 test(element): add test_celement_type test
Test file included in test/element/runtests.jl
2025-12-15 06:32:45 +02:00
Jukka Aho 8ff03a6505 test(dofs): add field unification test
Test file included in test/dofs/runtests.jl
Tests DOF field specification unification system
2025-12-15 06:32:38 +02:00
Jukka Aho dd7cff1ce5 test(basis): add test_gradient_properties test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:29 +02:00
Jukka Aho f3861b4f84 test(basis): add test_numerical_accuracy test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:29 +02:00
Jukka Aho a3e31dd4b1 test(basis): add test_type_stability test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:29 +02:00
Jukka Aho cba43d24dc test(basis): add test_kronecker_delta test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:29 +02:00
Jukka Aho db3106547c test(basis): add test_all_elements test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:29 +02:00
Jukka Aho 764047cce0 test(basis): add test_interpolation test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:29 +02:00
Jukka Aho a0030d4531 test(basis): add test_derivatives test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:28 +02:00
Jukka Aho 48e1874dff test(basis): add test_svector_returns test
Test file included in test/basis/runtests.jl
2025-12-15 06:32:28 +02:00
Jukka Aho 2f972c1106 test(basis): add partition of unity test
New 31-line test for partition of unity property:
- Tests that sum of basis functions equals 1.0
- Covers Seg2, Tri3, Quad4 elements
- Included in test/basis/runtests.jl
- Validates fundamental basis function property

Ensures basis functions satisfy partition of unity requirement.
2025-12-15 06:32:21 +02:00
Jukka Aho 9ee8157c54 test(dofs): add DOF extraction test
New test file for DOF extraction functionality:
- Tests extract_element_dofs() function
- Tests extract_element_dofs_structured() function
- Single-field and multi-field test cases
- Type stability verification

Provides test coverage for DOF extraction from global solution vectors.
2025-12-15 06:20:23 +02:00
Jukka Aho 3090679f85 docs(dofs): add generated vs manual DOF comparison example
New comparison example demonstrating:
- Generated DOF extraction vs manual implementation
- Performance comparison
- Code generation benefits
- Type stability advantages

Provides comparison example for DOF system code generation.
2025-12-15 06:20:06 +02:00
Jukka Aho 418f40a2df docs(dofs): add simple DOF usage example
New example file demonstrating basic DOF system usage:
- Simple single-field and multi-field element creation
- DOFManager usage
- Element creation workflow
- Basic DOF extraction examples

Provides simple usage examples for the DOF system.
2025-12-15 06:19:58 +02:00
Jukka Aho 0f8c013178 docs(dofs): add DOF system performance analysis
New performance analysis documentation for DOF system:
- Performance characteristics of DOF-based operations
- Type stability analysis
- Allocation profiling results
- Optimization strategies

Provides performance documentation for the DOF system.
2025-12-15 06:19:53 +02:00
Jukka Aho 3ee615045b docs(dofs): add comprehensive DOF system documentation
New 205-line DOF system documentation:
- Philosophy: multi-field is fundamental, single-field is special case
- Core concept: DOF{T,E} abstract type for type-level specifications
- Field specifications with @DOFSet macro
- Usage examples for single-field and multi-field elements
- DOFManager and element creation workflow
- DOF connectivity for inverse mapping
- Performance notes and design rationale

Provides complete documentation for the unified DOF system architecture.
2025-12-15 06:19:47 +02:00
Jukka Aho fd51534b6b feat(physics): add helper utilities for multi-field microkernel assembly
New 88-line formulation utilities:
- field_type_for_dispatch(): extract field type from Element's S parameter
- Helper functions for multi-field Element{K,P,S} system
- Works with NamedTuple-based field specifications
- Supports thermoelasticity and other multi-physics couplings
- Already integrated in JuliaFEM.jl (line 500)

Provides utilities for multi-field microkernel assembly with Element{K,P,S} system.
2025-12-15 06:18:44 +02:00
Jukka Aho 72b10c937b feat(physics): add microkernel interface for DOF-based assembly
New 83-line microkernel interface:
- evaluate(): compute single scalar contribution to K[i,j] at integration point
- Matrix-free assembly support for DOF-based assemblers
- Multi-physics coupling via type dispatch
- Zero-allocation assembly with precomputed caches
- Default implementation returns 0.0 (no coupling)
- Already integrated in JuliaFEM.jl (line 499)

Provides microkernel architecture for efficient matrix-free assembly.
2025-12-15 06:18:38 +02:00