mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-10-02 14:23:58 +00:00
tutorial notebook working again
This commit is contained in:
+12
-10
@@ -17,8 +17,9 @@ function calculate_lagrange_basis(P, X)
|
||||
end
|
||||
# Logging.debug("Calculating inverse of A")
|
||||
invA = inv(A)'
|
||||
basis(xi) = invA*P(xi)
|
||||
basis
|
||||
basis(xi) = (invA*P(xi))'
|
||||
dbasisdxi(xi) = (ForwardDiff.jacobian((xi) -> invA*P(xi), xi, cache=autodiffcache))'
|
||||
basis, dbasisdxi
|
||||
end
|
||||
|
||||
"""
|
||||
@@ -33,21 +34,22 @@ macro create_lagrange_element(element_name, element_description, X, P)
|
||||
eltype = esc(element_name)
|
||||
quote
|
||||
global get_element_description
|
||||
global get_number_of_basis_functions, get_element_dimension
|
||||
dim = size($X, 1)
|
||||
nbasis = size($X, 2)
|
||||
basis = calculate_lagrange_basis($P, $X)
|
||||
#global get_number_of_basis_functions, get_element_dimension
|
||||
#dim = size($X, 1)
|
||||
#nbasis = size($X, 2)
|
||||
basis, dbasisdxi = calculate_lagrange_basis($P, $X)
|
||||
type $eltype <: CG
|
||||
connectivity :: Array{Int, 1}
|
||||
basis :: Basis
|
||||
fields :: Dict{Symbol, FieldSet}
|
||||
fields :: Dict{ASCIIString, FieldSet}
|
||||
end
|
||||
function $eltype(connectivity, args...)
|
||||
$eltype(connectivity, Basis(basis), Dict())
|
||||
$eltype(connectivity, Basis(basis, dbasisdxi), Dict())
|
||||
end
|
||||
get_element_description(el::Type{$eltype}) = $element_description
|
||||
get_number_of_basis_functions(el::Type{$eltype}) = nbasis
|
||||
get_element_dimension(el::Type{$eltype}) = dim
|
||||
#get_number_of_basis_functions(el::Type{$eltype}) = nbasis
|
||||
#get_element_dimension(el::Type{$eltype}) = dim
|
||||
Base.size(el::Type{$eltype}) = Base.size($X)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user