refactor(continuum): Remove old assemble.jl (replaced by element_based_coo.jl)

Deleted: src/domains/continuum/assemble.jl

Reason:
- Old assembly implementation with type instability issues
- Replaced by new architecture in src/assemblers/element_based_coo.jl
- New version achieves zero allocations and 500K elem/s
- Three-phase cache update pattern replaces monolithic approach

Migration:
- Old: Single file with mixed concerns
- New: Separate cache files + update functions + generic assemblers

This file is obsolete with the new cache architecture.
This commit is contained in:
Jukka Aho
2025-11-20 16:56:42 +02:00
parent 678be8011c
commit cb96612a97
-67
View File
@@ -1,67 +0,0 @@
# This file is a part of JuliaFEM.
# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md
"""
Continuum mechanics assembly examples and documentation.
This file provides documentation for the explicit kernel API workflow.
Boundary condition functions have been moved to `src/domains/common/boundary_conditions.jl`
as they are generic and work with any domain type (continuum, beams, shells, heat, etc.).
# Explicit Workflow (Recommended)
```julia
# Setup
mesh = create_cantilever_mesh(50, 10, 10)
material = LinearElastic(E=210e9, ν=0.3)
kernel = ContinuumKernel(
ContinuumFormulation{FullThreeD}(),
material,
Displacement{3}()
)
# Choose assembler explicitly
assembler = CSCAssembler() # or COOAssembler()
# Create cache (reusable!)
cache = create_cache(assembler, mesh, kernel)
# Assembly and solve
assemble!(cache, assembler, kernel, mesh)
K, f = extract_system(cache)
# Apply BCs explicitly (defined in domains/common/boundary_conditions.jl)
apply_neumann_bcs!(f, kernel, mesh, bc_neumann)
apply_dirichlet_bcs!(K, f, kernel, mesh, bc_dirichlet)
# Solve
u = K \\ f
```
# Nonlinear Loop Example
```julia
cache = create_cache(CSCAssembler(), mesh, kernel)
for iter in 1:max_iter
assemble!(cache, assembler, kernel, mesh) # Zero allocations!
K, f = extract_system(cache)
apply_neumann_bcs!(f, kernel, mesh, bc_neumann)
apply_dirichlet_bcs!(K, f, kernel, mesh, bc_dirichlet)
Δu = K \\ f
u .+= Δu
if norm(Δu) < tol
break
end
end
```
# See Also
- [`apply_neumann_bcs!`](@ref) - in `domains/common/boundary_conditions.jl`
- [`apply_dirichlet_bcs!`](@ref) - in `domains/common/boundary_conditions.jl`
- [`ContinuumKernel`](@ref) - in `domains/continuum/kernel.jl`
- [`CSCAssembler`](@ref), [`COOAssembler`](@ref) - in `assemblers/`
"""