So, if we introduce "local buffer", containing workspace/memory for assembling one element without any additional memory allocations, we could go back to assemble one element at a time.
It would be cool if we can make dispatching work so that we can override or extend assembling of a single element if we have some special case we need to take care of. Would it work if we have something like:
function assemble_stiffness_matrix!(problem, assembly, other_stuff, Val{:E1})
# my special assembly procedure
end
where :E1 is the name of the element.
We also should construct everything such that we can assemble mass matrix, stiffness matrix, force vector and so on separately or all together.
So, if we introduce "local buffer", containing workspace/memory for assembling one element without any additional memory allocations, we could go back to assemble one element at a time.
It would be cool if we can make dispatching work so that we can override or extend assembling of a single element if we have some special case we need to take care of. Would it work if we have something like:
where
:E1
is the name of the element.We also should construct everything such that we can assemble mass matrix, stiffness matrix, force vector and so on separately or all together.