Authors
ANTTI Hannukainen, MIKA Juntunen
Publication date
2012
Journal
Preprint, Aalto University, http://users. tkk. fi/~ mojuntun/preprints/matvecSISC. pdf
Description
This article demonstrates how to implement the finite element assembly efficiently in interpreted languages. We provide two approaches: the first is to vectorize the longest loop and the second is to decouple the integration from the geometry mapping. Vectorization is always necessary in interpreted languages in which long loops are inefficient but decoupling the integration is necessary only if the method requires a large number of integration points eg in 3D or for high order elements. We develop a syntax for the vectorization that easily transforms into source code. This syntax also shows how to construct the mappings needed when the integration is decoupled. Furthermore, this syntax automates the constructions for virtually any affine mapping, also for, eg, Piola mappings needed for H (div) and H (curl) elements.
Scholar articles
A Hannukainen, M Juntunen - Preprint, Aalto University, http://users. tkk. fi/~ mojuntun …, 2012