mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-17 17:22:10 +00:00
7b6fcfdaf5
- Create src/basis/ directory structure - Copy all FEMBasis.jl source files verbatim: - abstract.jl: AbstractBasis type definition and interface - create_basis.jl: Metaprogramming for basis generation - lagrange_*.jl: All Lagrange element bases (Seg, Quad, Tri, Tet, Hex, Wedge, Pyr) - nurbs*.jl: NURBS basis functions - math.jl: jacobian, grad, interpolate functions - subs.jl, vandermonde.jl: Symbolic/mathematical utilities Strategy: Copy first, integrate later (safest approach) Next: Integrate into src/JuliaFEM.jl module
43 lines
887 B
Julia
43 lines
887 B
Julia
# This file is a part of JuliaFEM.
|
|
# License is MIT: see https://github.com/JuliaFEM/FEMBasis.jl/blob/master/LICENSE
|
|
|
|
code = create_basis_and_eval(
|
|
:Tri3,
|
|
"3 node linear triangle element",
|
|
[
|
|
(0.0, 0.0), # N1
|
|
(1.0, 0.0), # N2
|
|
(0.0, 1.0), # N3
|
|
],
|
|
:(1 + u + v),
|
|
)
|
|
|
|
code = create_basis_and_eval(
|
|
:Tri6,
|
|
"6 node quadratic triangle element",
|
|
[
|
|
(0.0, 0.0), # N1
|
|
(1.0, 0.0), # N2
|
|
(0.0, 1.0), # N3
|
|
(0.5, 0.0), # N4
|
|
(0.5, 0.5), # N5
|
|
(0.0, 0.5), # N6
|
|
],
|
|
:(1 + u + v + u^2 + u*v + v^2),
|
|
)
|
|
|
|
code = create_basis_and_eval(
|
|
:Tri7,
|
|
"7 node quadratic triangle element (has middle node)",
|
|
[
|
|
(0.0, 0.0), # N1
|
|
(1.0, 0.0), # N2
|
|
(0.0, 1.0), # N3
|
|
(0.5, 0.0), # N4
|
|
(0.5, 0.5), # N5
|
|
(0.0, 0.5), # N6
|
|
(1/3, 1/3), # N7
|
|
],
|
|
:(1 + u + v + u^2 + u*v + v^2 + u^2*v^2),
|
|
)
|