Commit Graph

1555 Commits

Author SHA1 Message Date
Jukka Aho bb51559d92 docs(io): add I/O module documentation for mesh import/export
New 120-line documentation file describing:
- Supported mesh formats (Abaqus .inp, Code Aster .med/.rmed, Gmsh .msh)
- File organization (core readers vs legacy vendor package infrastructure)
- Design philosophy (weak dependencies, two-tier strategy)
- Future work (export formats, import enhancements, consolidation)
- Usage examples and dependency requirements

Documents the mesh I/O architecture and reader strategy.
2025-12-15 05:47:02 +02:00
Jukka Aho 71145f2ce1 docs(elements): add comprehensive elements module documentation
New 219-line documentation file explaining:
- Ciarlet's finite element triple (K, P, Σ) and computational implementation
- Element structure with type-stable @generated constructor
- Field specifications for single and multi-field elements
- DOF extraction strategies (flat and structured)
- Local-global DOF mapping for coupled multi-field assembly
- Performance notes showing zero-allocation achievement (5.5 ns)

Documents the Element{K,P,S,N} type and its zero-allocation design philosophy.
2025-12-15 05:46:24 +02:00
Jukka Aho 91e1428300 docs(src): add comprehensive source code architecture guide
New 536-line documentation file describing:
- Purpose and responsibility of each src/ subdirectory
- Module dependency order and include structure
- Directory health status with action items
- Cleanup plan for dead code and duplicates
- Design principles and future architecture roadmap

Documents all active modules (topology, basis, quadrature, mesh, materials,
assemblers, domains, solvers, physics, etc.) and identifies legacy/duplicate
code that needs cleanup.
2025-12-15 05:46:07 +02:00
Jukka Aho d2031036d9 refactor(materials): streamline perfect plasticity documentation
Removed verbose documentation sections:
- Removed extensive theory documentation (yield function, flow rule, hardening law, consistency condition)
- Removed detailed algorithm step-by-step explanations (radial return mapping)
- Removed type hierarchy, construction examples, and derived properties
- Removed performance notes and timing information
- Removed detailed function documentation with algorithm steps

Simplified docstrings to essential information about material parameters and function signatures.
2025-12-15 03:18:27 +02:00
Jukka Aho a682e964b4 refactor(materials): streamline Neo-Hookean documentation
Removed verbose documentation sections:
- Removed detailed theory explanations and strain energy formulas from module docstring
- Removed type hierarchy, properties, and construction examples
- Removed detailed function documentation with usage examples
- Removed performance notes and automatic differentiation explanations
- Removed stress conversion formulas and notes

Simplified docstrings to essential formulas (strain energy, stress computation) and function signatures.
2025-12-15 03:18:17 +02:00
Jukka Aho 8b1bc18124 refactor(materials): streamline linear elastic documentation
Removed verbose documentation sections:
- Removed detailed theory explanations and formulas from module docstring
- Removed type hierarchy and properties sections
- Removed usage examples from function docstrings
- Removed performance notes and implementation details
- Simplified docstrings to essential formulas (Hooke's law, elasticity tensor)

Kept core mathematical formulas and function signatures.
2025-12-15 03:18:07 +02:00
Jukka Aho 1a8927c8f6 refactor(materials): streamline finite strain plasticity documentation
Removed verbose documentation sections:
- Removed detailed theory references (Simo & Hughes)
- Removed algorithm step-by-step explanations
- Removed performance notes and timing information
- Removed detailed field descriptions and invariants
- Simplified docstrings to essential information about fields and function signatures

Kept core information about multiplicative decomposition and material parameters.
2025-12-15 03:17:57 +02:00
Jukka Aho a6d77d4705 refactor(materials): streamline API documentation by removing verbose sections
Removed extensive documentation from material API docstrings:
- Removed detailed interface requirements sections
- Removed type hierarchy explanations
- Removed design philosophy sections
- Removed usage examples and 'See Also' references
- Kept only essential type and function descriptions

This simplifies the API documentation while maintaining core information
about material types and their behavior traits.
2025-12-15 03:17:44 +02:00
Jukka Aho 2da5e565b8 chore: remove demos directory from main repository
Remove demos/README.md as all demos and examples have been moved
to the website repository (juliafem.github.io) where they belong
as documentation rather than core library code.

- Move all demos/ and examples/ files to juliafem.github.io
- Update STRUCTURE.md to reflect examples/ and demos/ live in website
- Remove demos/README.md from main codebase
- Keep main repository focused on library code only
2025-12-12 23:56:33 +02:00
Jukka Aho 2a1920a959 test(validation): refactor cantilever test for new DOF-based architecture
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
2025-12-12 23:50:09 +02:00
Jukka Aho 5feb8c0dfb test: add test suites for new DOF-based architecture
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
2025-12-12 23:49:41 +02:00
Jukka Aho 2dcadd85e9 test(physics): update tests for new physics category types
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
2025-12-12 23:49:05 +02:00
Jukka Aho 6d70168321 test(continuum): remove unused element creation in hex8 validation test
Remove unused Element creation since connectivity is only used for
reference and element is not actually used in the test.
2025-12-12 23:47:11 +02:00
Jukka Aho 7778ff344a test(continuum): update reset tests for AssemblyMaterialWorkspace API
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
2025-12-12 23:46:55 +02:00
Jukka Aho dedc5e093d test(continuum): update kernel tests to use get_tangent getter
Update test_kernel_functions.jl to use get_tangent getter function
instead of direct field access to material_cache.𝔻, matching the
new AssemblyMaterialWorkspace API.
2025-12-12 23:46:32 +02:00
Jukka Aho 3cb9a66b94 test(continuum): update cache tests for new material workspace 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
2025-12-12 23:45:56 +02:00
Jukka Aho d59b32fed5 refactor(physics): replace Physics struct with trait-based category types
Replace monolithic Physics struct and boundary condition types with
simpler physics category types used for trait-based dispatch.

- Remove Physics struct (Formulation, Field, Mesh, Material coupling)
- Remove DirichletBC and NeumannBC boundary condition storage types
- Remove Constraint type
- Add Elasticity{Dim} and Thermal{Dim} physics category types
- Add required_field_type trait function for physics-to-field mapping
- Simplify to type tags for material trait dispatch
- Support compile-time field type inference from physics
- Align with new architecture: physics types are dispatch tags, not problem containers
2025-12-12 23:45:16 +02:00
Jukka Aho ddb00eda0c fix(physics): update deformation_gradient to use coords field
Update compute_deformation_gradient to use coords field instead of ξ
field from QuadraturePoint, matching the API change.
2025-12-12 23:44:48 +02:00
Jukka Aho 04b7eff2a2 refactor(materials): migrate PerfectPlasticity to compositional state design
Replace monolithic PlasticityState struct with compositional NamedTuple
state system and add new material trait system support.

- Remove PlasticityState struct (now using NamedTuple composition)
- Add supported_physics trait (Elasticity{3})
- Add required_state_variables trait (PlasticStrain, Backstress, EquivalentPlasticStrain)
- Change compute_stress to use NamedTuple for state_old and state_new
- Use get() with defaults for state extraction (handles empty initial state)
- Update state creation to use NamedTuple syntax (ε_p, α, κ)
- Remove state_type trait (replaced by required_state_variables)
2025-12-12 23:44:26 +02:00
Jukka Aho 6f0dd71d2e refactor(materials): update LinearElastic for new trait system and compositional state
Update LinearElastic to support new material trait system and
compositional state design with NamedTuple instead of Nothing.

- Add supported_physics trait (Elasticity{3})
- Add required_state_variables trait (empty tuple for stateless)
- Change state_old parameter to Union{Nothing,NamedTuple}
- Return NamedTuple() instead of nothing for state update
- Support compositional state system in compute_stress
2025-12-12 23:43:51 +02:00
Jukka Aho 87d79f15b1 docs(materials): update docstrings for AssemblyMaterialWorkspace API
Update AbstractMaterialState and EmptyState docstrings to reference
new AssemblyMaterialWorkspace and GlobalMaterialCache instead of
old MaterialStateCache API.
2025-12-12 23:42:02 +02:00
Jukka Aho fd4dc1cb28 fix(geometry): update jacobian docstring to use coords field
Update documentation example to use coords field instead of ξ field
from QuadraturePoint, matching the API change.
2025-12-12 23:41:34 +02:00
Jukka Aho 92b3df4526 feature(fields): add quantity_type trait and optimize get_dof_mapping!
Add quantity type extraction trait for field types and optimize DOF
mapping function for zero-allocation performance.

- Add quantity_type trait function for field types
- Implement quantity_type for Displacement, Temperature, DisplacementRotation
- Add @inline to get_dof_mapping! for better inlining
- Optimize get_dof_mapping! loop to use indexed access instead of iterator
- Avoid iterator allocation in DOF mapping computation
2025-12-12 23:41:16 +02:00
Jukka Aho 8f9f701b39 refactor(api): update main module file for DOF-based architecture
Update JuliaFEM.jl to reflect major architectural changes: DOF system,
material workspace API, and microkernel architecture.

- Add DOF system includes (dofs.jl, dof_manager.jl, dof_connectivity.jl)
- Add material state variables and traits includes
- Add GlobalMaterialCache API exports
- Add DOF-based assembler includes and exports
- Add microkernel and formulation exports (evaluate, field_type_for_dispatch)
- Update MaterialStateCache → AssemblyMaterialWorkspace exports
- Add LocalField and strain extraction exports
- Add element interpolation and DOF extraction includes
- Update readers → io directory includes
- Remove/comment legacy includes (boundary_conditions.jl, assemble_v2.jl, etc.)
- Add DOF system exports (DOFSet, @DOFSet, DOFManager, etc.)
- Add element accessor exports (element_id, element_dofs, field_dof_range)
- Update physics exports (Elasticity, Thermal, required_field_type)
- Add material state variable exports (PlasticStrain, Backstress, etc.)
- Comment out contact problems (uses old Element API)
- Update documentation comments for new architecture
2025-12-12 23:40:44 +02:00
Jukka Aho 4968acd069 refactor(elements): redesign Element type to Ciarlet's triple (K,P,Σ) with DOF-based API
Major architectural refactoring: replace old field-based element system
with modern DOF-based design following Ciarlet's finite element triple.

- Redesign Element from Element{N,NIP,F,B} to Element{K,P,S,N}
- Replace connectivity with dof_indices (flat tuple of global DOF indices)
- Remove all old field system (sfields, dfields, fields, update_field!, etc.)
- Remove old constructors and compatibility shims
- Add compile-time DOF computation via @generated ndofs(K, S)
- Add field_dof_range for compile-time local DOF range computation
- Add local_to_global_map for type-stable DOF mapping
- Add topology_type, basis_type, dof_type query functions
- Add element_id, element_dofs, n_element_dofs, nnodes accessors
- Remove 593 lines of legacy code (963 → 370 lines)
- Simplify API: elements now store DOF indices, not node connectivity
- Support multi-field elements via DOFSet specifications
- Zero-allocation design with compile-time type information
2025-12-12 23:40:15 +02:00
Jukka Aho 47f207bced refactor(domains): migrate update_material_cache! to AssemblyMaterialWorkspace and add GlobalMaterialCache API
Major refactoring: migrate material cache updates to new workspace API
and add support for GlobalMaterialCache alongside legacy API.

- Change all material_cache to material_workspace parameter names
- Remove M<:AbstractMaterialState type constraints from functions
- Change state handling from EmptyState() to NamedTuple()
- Change material_cache.σ/𝔻/states to material_workspace.fields/states
- Add new overloads for GlobalMaterialCache API (NEW API)
- Add zero-allocation optimizations using getfield and pre-allocated NamedTuples
- Add backward compatibility handling for legacy state types
- Update all function signatures and docstrings
- Add imports for GlobalMaterialCache and helper functions
- Add StatelessConstantTangent overload with pre-allocated NamedTuples
- Add StatelessStrainDependent and StatefulStrainDependent overloads for GlobalMaterialCache
- Keep legacy API overloads for Matrix{<:AbstractMaterialState}
2025-12-12 23:38:47 +02:00
Jukka Aho fb770644c4 refactor(domains): optimize update_geometry_cache! for zero-allocation
Optimize update_geometry_cache! to eliminate iterator allocations and
update to use coords field.

- Add @inline to update_geometry_cache! for better inlining
- Change enumerate loop to indexed loop to avoid iterator allocation
- Add @inbounds annotation for bounds-check elimination
- Change ip.ξ to ip.coords to use new QuadraturePoint API
2025-12-12 23:36:21 +02:00
Jukka Aho 00448c8c52 refactor(domains): optimize update_element_cache! for zero-allocation
Optimize update_element_cache! to eliminate iterator and view allocations.

- Add @inline to update_element_cache! for better inlining
- Change enumerate loop to indexed loop to avoid iterator allocation
- Add @inbounds annotations for bounds-check elimination
- Remove @view allocation by passing array directly to get_dof_mapping!
2025-12-12 23:35:56 +02:00
Jukka Aho 9b6e3a5803 fix(domains): use coords field instead of ξ in kinematics
Update kinematics to use coords field from QuadraturePoint instead
of deprecated ξ field.

- Change ip.ξ to ip.coords in compute_deformation_gradient
2025-12-12 23:35:26 +02:00
Jukka Aho ece0428a33 refactor(domains): add atomic stiffness computation and microkernel interface
Refactor continuum kernel to add atomic scalar computation and microkernel
interface while maintaining backward compatibility.

- Add compute_stiffness_value for atomic scalar K[k,l][α,β] computation
- Add compute_stiffness_block for D×D block building using atomic kernel
- Refactor compute_block_at_point to use compute_stiffness_block internally
- Add evaluate function for microkernel interface with field coupling dispatch
- Add basevec import for unit vector construction
- Add conditional imports for evaluate and get_tangent
- Update documentation to reflect new atomic operation structure
2025-12-12 23:34:58 +02:00
Jukka Aho 7a580e604d fix(backend): use coords field instead of ξ in CPU backend
Update CPU backend to use coords field from QuadraturePoint instead
of deprecated ξ field.

- Change ip.ξ to ip.coords in compute_element_stiffness
2025-12-12 23:33:47 +02:00
Jukka Aho bab3f6906c refactor(assemblers): replace MaterialStateCache with AssemblyMaterialWorkspace
Major refactoring: replace material state cache with compositional
workspace using NamedTuple fields for better flexibility and zero-allocation.

- Rename MaterialStateCache to AssemblyMaterialWorkspace
- Change from M<:AbstractMaterialState to FieldType, StateType parameters
- Use AoS pattern: fields::Vector{FieldType} instead of separate σ, 𝔻 vectors
- Add zero-allocation field access via @generated functions
- Add extract_tangent! for type-stable zero-allocation tangent extraction
- Add get_tangent_vector, get_stress_vector helper functions
- Add @field_vector macro for compile-time field access
- Add get_stress, get_tangent, get_field accessor functions
- Update reset! to use create_zero_field and create_zero_state
- Update create_material_cache to use trait system for type inference
- Add backward compatibility alias create_assembly_workspace
- Add extensive documentation for zero-allocation usage patterns
2025-12-12 23:31:35 +02:00
Jukka Aho 4385564778 refactor(assemblers): update kernel interface for new API and zero-allocation
Update kernel interface to use new material workspace API and improve
zero-allocation performance.

- Change ip.ξ to ip.coords in compute_element_stiffness!
- Add @inline to get_dof_mapping! for better inlining
- Optimize get_dof_mapping! to use indexed access instead of iteration
- Remove compute_node_contribution! function (unused)
- Update docstrings to use material_workspace instead of material_cache
- Update compute_all_blocks! example to use get_tangent_vector
- Add FIXME comment about removing B matrix computation functions
2025-12-12 23:30:57 +02:00
Jukka Aho 1f6ec9e7fe fix(assemblers): use coords field instead of ξ in geometry cache
Update geometry cache to use coords field from QuadraturePoint
instead of deprecated ξ field.

- Change ip.ξ to ip.coords in create_geometry_cache function
- Update both gradient computation and detJ*w computation
2025-12-12 23:30:00 +02:00
Jukka Aho 73fdcae019 refactor(assemblers): remove NodeCache and simplify integration points API
Remove unused NodeCache code and simplify integration points call in
element cache creation.

- Remove NodeCache struct and create_node_cache function
- Simplify integration_points call to use auto-selected quadrature
- Remove integration_scheme parameter from create_element_cache
2025-12-12 23:29:29 +02:00
Jukka Aho 9ee84e7480 refactor(assemblers): migrate to AssemblyMaterialWorkspace and add GlobalMaterialCache API
Refactor element-based COO assembler to use new material workspace API
and add support for GlobalMaterialCache alongside legacy API.

- Add new assemble_element! overload using GlobalMaterialCache (NEW API)
- Add new assemble! overload using GlobalMaterialCache (NEW API)
- Update legacy assemble_element! to use material_workspace and
  𝔻_vec_buffer parameter
- Update legacy assemble! to use material_workspace and 𝔻_vec_buffer
- Change counter from Ref{Int} to Int for zero-allocation access
- Use extract_tangent! with pre-allocated buffer for zero-allocation
  tangent extraction
- Add imports for GlobalMaterialCache and tangent extraction functions
- Update all function signatures and docstrings to reflect new API
2025-12-12 23:29:02 +02:00
Jukka Aho 94a88721a5 refactor(assemblers): update COOCache for new material workspace API
Refactor COOCache to use AssemblyMaterialWorkspace and improve
zero-allocation performance.

- Add FieldType and StateType type parameters to COOCache struct
- Change material_cache to material_workspace field name
- Change counter from Ref{Int} to Int for zero-allocation access
- Add 𝔻_vec_buffer for pre-allocated tangent vector extraction
- Update constructor to infer FieldType and StateType from workspace
- Update reset! and extract_system to use direct counter access
- Add Tensors import and AssemblyMaterialWorkspace import
2025-12-12 23:28:33 +02:00
Jukka Aho c5a1202c1d chore(assemblers): comment out missing nodal_cache.jl include
Comment out include for nodal_cache.jl as the file does not exist yet.

- Comment out include("nodal_cache.jl") with TODO note
2025-12-12 23:27:50 +02:00
Jukka Aho 259276a06e feature(assemblers): add DOFBasedCOOAssembler and refactor material cache
Add new DOF-by-DOF assembler and refactor material state cache type
parameters for better flexibility.

- Add DOFBasedCOOAssembler struct with comprehensive documentation
- Change AbstractMaterialStateCache from M<:AbstractMaterialState to
  FieldType, StateType parameters
- Update material cache docstring to reflect new type structure
- Clarify purpose as per-element workspace vs persistent storage
2025-12-12 23:27:28 +02:00
Jukka Aho c9dfcddd8d chore(api): remove include for deleted topology.jl
Remove include statement for topology.jl which was deleted after
its content was moved to topology/api.jl.

- Remove include("topology/topology.jl") line
2025-12-12 23:26:55 +02:00
Jukka Aho 3f36111bba chore: remove Manifest.toml from repository
Remove Manifest.toml from version control as it is a generated file
that should not be tracked.

- Remove Manifest.toml from git tracking
2025-12-12 23:26:31 +02:00
Jukka Aho 2d1ba0a0a1 refactor(quadrature): simplify documentation and remove legacy code
Major cleanup of quadrature module: simplify docstrings to minimal
code-focused style, remove all legacy symbol-based API, and fix Vec
constructor syntax throughout.

Documentation simplification:
- Remove all examples from docstrings
- Simplify file-level docstrings to one-line descriptions
- Remove verbose explanations, accuracy details, references, and
  "See also" sections
- Keep only essential information about types and functions

Legacy code removal:
- Remove all legacy symbol-based API (Val{:GLTRI*}, Val{:GLTET*},
  Val{:GLPYR*}, Val{:GLWED*}, Val{:GLSEG*}, Val{:GLQUAD*},
  Val{:GLHEX*})
- Remove get_order() functions for legacy symbols
- Remove _legacy_tensor_product helper function
- Remove legacy symbol generation code from gl_tensor_product.jl

gauss.jl refactoring:
- Remove old Gauss{N} type and AbstractIntegration hierarchy
- Remove get_rule_name() function and all rule name mappings
  (hundreds of lines for segments, triangles, quads, tets, hexes,
  wedges, pyramids)
- Remove IntegrationPointNEW alias
- Replace with simple integration_points() function using new API
- Change npoints() signature to take only topology parameter

api.jl improvements:
- Uncomment and fix _infer_basis_order implementations
- Add proper type constraints (<:) for all topology types
- Add Triangle{10} case for cubic triangles
- Add _quadrature_topology_type mapping functions for all topologies
- Enable topology-only dispatch for default_quadrature

Vec constructor fixes:
- Fix all Vec{D} constructor calls to use tuple syntax
- Change Vec{2}(x, y) to Vec{2}((x, y))
- Change Vec{3}(x, y, z) to Vec{3}((x, y, z))
- Applied consistently across all quadrature rule files
2025-12-12 23:22:29 +02:00
Jukka Aho 02b41db2e4 chore(docs): add .gitignore for docs directory
Add .gitignore to ignore Manifest.toml in docs directory

- Ignore Manifest.toml (generated file, should not be committed)
2025-12-12 23:05:47 +02:00
Jukka Aho 2b24cbadba docs(index): update documentation landing page
Modernize index page with comprehensive overview and quick start
guide. Replace simple contents page with informative landing page.

- Add overview section describing JuliaFEM.jl
- Add key features section highlighting capabilities
- Add installation instructions
- Add quick start example code
- Update contributing section with GitHub link
- Add license information
- Remove old contents listing
2025-12-12 23:04:39 +02:00
Jukka Aho 108c881687 docs(api): reorganize API documentation structure
Reorganize API documentation with organized sections for better
navigation and discoverability.

- Add structured sections: Elements, Physics, Fields, Formulations,
  Materials, Mesh, Topology, Basis Functions, DOF System, Solvers
- Include key types and functions in each section
- Change title from "API documentation" to "API Reference"
- Keep index at the end for complete reference
2025-12-12 23:04:14 +02:00
Jukka Aho 7125a617f8 refactor(docs): simplify make.jl to modern Documenter.jl build
Simplify documentation build script to generate API docs only.
Remove legacy code for generating examples, packages, and guides.

- Replace complex build system with simple Documenter.jl setup
- Generate markdown output for Quarto integration
- Build directly to juliafem.github.io/api/ directory
- Remove functions: copy_docs, add_page!, generate_* functions
- Use DocumenterMarkdown format instead of HTML
2025-12-12 23:03:50 +02:00
Jukka Aho c7b0283822 chore(docs): add JuliaFEM dependency to Project.toml
Add JuliaFEM package as dependency for documentation build

- Add JuliaFEM to [deps] section
- Add relative path source for JuliaFEM in [sources]
2025-12-12 23:03:21 +02:00
Jukka Aho 038222ce98 chore: remove docs files moved to website repository
Remove documentation files from docs/ directory as they have
been moved to juliafem.github.io/ according to the website
structure. Manual documentation now lives in the website
repository directly.

Removed files:
- docs/book/adr-004-integration-points-api.md
- docs/book/adr-005-element-integration-point-indices.md
- docs/book/deformation_gradient_implementation.md
- docs/book/design/backend_transparent_architecture.md
- docs/book/design/gmres_algorithm_gpu.md
- docs/book/design/matrix_free_dirichlet_bc.md
- docs/book/element_assembly_implementation.md
- docs/book/linear_elastic_implementation.md
- docs/book/migration-guide-basis-api.md
- docs/book/neo_hookean_implementation.md
- docs/book/perfect_plasticity_implementation.md
2025-12-12 22:59:15 +02:00
Jukka Aho ff3c26d2c3 chore: remove obsolete and legacy files
Major cleanup: remove obsolete files that have been replaced or
moved to new locations. Files removed include legacy assembly
implementations, old API files, and deprecated test files.

Removed files:

Assemblers and assembly:
- src/assemblers/nodal_based.jl
- src/assemblers/nodal_cache.jl
- src/assemblers/node_based_coo.jl
- src/assembly/assembly.jl
- src/assembly/element_structures.jl
- src/assembly/framework.jl
- src/assembly/nodal_structures.jl
- src/assembly/problems.jl
- src/element_assembly_structures.jl
- src/nodal_assembly_structures.jl

Legacy API and structure files:
- src/beams/api.jl
- src/formulations/api.jl
- src/gpu_elasticity.jl
- src/io.jl
- src/materials_plasticity.jl
- src/postprocess_utils.jl
- src/preprocess.jl
- src/quadrature.jl
- src/readers.jl
- src/shells/api.jl
- src/trusses/api.jl

Elements and domains:
- src/domains/continuum/assemble_v2.jl
- src/elements/integrate.jl

Quadrature legacy files:
- src/quadrature/gauss_points.jl
- src/quadrature/integration.jl

Test files:
- test/runtests_new.jl
- test/runtests.jl.old
- test/test_problems_elasticity_assemble_3d_seg3.jl
2025-12-12 22:45:49 +02:00
Jukka Aho cba8d19c1c chore: remove src/readers directory
Remove src/readers directory as files have been moved to src/io/

Removed files:
- src/readers/abaqus_download.jl
- src/readers/AbaqusReader.jl
- src/readers/AsterReader.jl
- src/readers/create_surface_elements.jl
- src/readers/keyword_register.jl
- src/readers/parse_mesh.jl
- src/readers/parse_model.jl
- src/readers/read_aster_mesh.jl
- src/readers/read_aster_results.jl
2025-12-12 22:41:39 +02:00