tutorial notebook working again

This commit is contained in:
Jukka Aho
2015-10-27 06:37:58 +02:00
parent 1844530303
commit aba63bb44c
15 changed files with 862 additions and 1305 deletions
+12 -10
View File
@@ -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