<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="client.xsl" type="text/xsl"?>
<article article-type="other">
<front>
<journal-meta>
<journal-id/>
<issn/>
<banner>
<href>banner.jpg</href>
<size width="100%"/>
</banner>
</journal-meta>
<article-meta><doi>382</doi>
<title-group>
<article-title>An Efficient Implementation of a Multi-Frontal Solution Scheme for Substructure Based Finite Element Structural Analysis Software</article-title>
</title-group>

<author>P. Deepak<sup>a</sup>, P. V. Anil Kumar, T. Sundararajan and P. Balachadran  </author>

<aff>Structural Analysis and Testing Group, Structures Entity, Vikram Sarabhai Space Centre (VSSC), Indian Space Research Organisation (ISRO) </aff>

<email><a href="mailto:p_deepak@vssc.gov.in "><sup>a</sup>p_deepak@vssc.gov.in </a></email>

</article-meta></front>
<body>
<abstract>
<title>ABSTRACT</title>
<p>The solution of linear system of equation is the compute intensive part of any finite element analysis software. The Finite Element Analysis for Structures (FEAST) is an in-house developed software package for the analysis of launch vehicle structures. Its solver is designed based on domain decomposition technique (Substructure) and implemented by multi-threaded programming to exploit the parallelism of today's multi-core systems. The substructure computation introduced parallelism in the condensation process at domain level. However, the increased number of interface variables, become a bottleneck when applied for large order problems. The method of solving interface variables in serial fashion with fully assembled stiffness matrices resulted in performance and memory related issues. This paper discusses the implementation details of a multi-frontal solution scheme for the substructure interface variables. The implementation is based on an assembly tree data structure, utilizing element connectivity and multi-threaded partial factorization of independent frontal matrices. All the algebraic operations are performed on dense frontal matrices using efficient BLAS/LAPACK kernels. A node blocking technique is used to perform update matrix assembly operations on dense matrix blocks instead of individual matrix entries, which is very efficient for large frontal matrices. To reduce the active memory requirement, a matrix data structure supporting blocked data has been implemented for update matrix stack during the factorization process. The block size can be adjusted based on available system memory and ensures scalability across multiple system configurations. The FEAST software with multi-threaded frontal solver is executed for large order FE models on multi-core system architectures. A performance comparison with different number of substructures (with varying number of interface variables) is also presented in the paper.  </p>
<p><i>Keywords: </i>Multi-threading, Multi-frontal, Node blocking, Multi-core systems. </p>
</abstract>
<fpdf>
<href>pdflogo.jpg</href>
<hpdf>382</hpdf>
</fpdf>
</body>
</article>
