Test suite organizer for basis module.
Includes all basis function tests: partition of unity, derivatives,
interpolation, type stability, numerical accuracy, etc.
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.
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.
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.
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.
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.
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.
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.
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.
Update test_cantilever_regression.jl to use new DOF system, DOFManager,
and proper constraint elimination instead of old Physics struct API.
- Create elements using new @DOFSet and Element{K,P,S} API
- Use DOFManager for DOF allocation and management
- Apply forces using get_node_dofs API instead of NeumannBC
- Apply boundary conditions using constraint elimination (proper method)
- Solve reduced system (K_ff * u_f = f_f) instead of manipulating full matrix
- Reconstruct full solution from reduced solution
- Remove old Physics struct, DirichletBC, NeumannBC usage
- Update step numbering and comments for clarity
Add test includes for new architecture components: fields, physics,
element interpolation, materials, topology, and validation.
- Add LocalField type test
- Add fields test suite (test_local_field.jl)
- Add physics test suite (test_strain.jl)
- Add element interpolation test suite (test_interpolate_local_fields.jl)
- Add material test suites (state variables, traits, global cache, plasticity, workspace)
- Add topology test suites (segments, triangles, quadrilaterals, entities, etc.)
- Add validation test (test_plasticity_simple.jl)
- Comment out obsolete topology type extraction test
Replace tests for old Physics struct with tests for new physics
category types and trait-based dispatch.
- Remove tests for Physics struct, DirichletBC, NeumannBC, Constraint
- Add tests for Elasticity{Dim} and Thermal{Dim} category types
- Add tests for required_field_type trait function
- Test type stability and dispatch behavior
- Verify dimension-dependent field type mapping
Update test_reset_functions.jl to use get_stress/get_tangent getters
and relax allocation requirements for reset! function.
- Rename test set from MaterialStateCache to AssemblyMaterialWorkspace
- Update field access to use get_stress/get_tangent getter functions
- Relax allocation test for reset! (not in hot path, NamedTuple overhead acceptable)
- Add missing test_helpers.jl include
Update test_kernel_functions.jl to use get_tangent getter function
instead of direct field access to material_cache.𝔻, matching the
new AssemblyMaterialWorkspace API.
Update test_cache_updates.jl to support both legacy and new
GlobalMaterialCache API with proper allocation testing.
- Rename legacy test set to indicate it uses old API
- Update field access to use get_stress/get_tangent getter functions
- Relax allocation test for legacy API (may have NamedTuple overhead)
- Add new test set for GlobalMaterialCache API
- Add zero-allocation verification using BenchmarkTools
- Test both material_cache.σ/𝔻 access patterns
Replace include statement with comment noting that test_helpers.jl is included by parent runtests.jl. This eliminates method overwrite warnings for create_test_mesh() and create_test_kernel().
The parent test suite (runtests.jl) includes test_helpers.jl once, making it available to all sub-tests.