Loading…

Generic programming techniques for parallelizing and extending procedural finite element programs

We outline an approach for extending procedural finite-element software components using generic programming. A layer of generic software components consisting of C++ containers and algorithms is used for parallelization of the finite-element solver and for solver coupling in multi-physics applicati...

Full description

Saved in:
Bibliographic Details
Published in:Engineering with computers 2008-03, Vol.24 (1), p.1-16
Main Authors: Cirak, Fehmi, Cummings, Julian C.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203
cites cdi_FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203
container_end_page 16
container_issue 1
container_start_page 1
container_title Engineering with computers
container_volume 24
creator Cirak, Fehmi
Cummings, Julian C.
description We outline an approach for extending procedural finite-element software components using generic programming. A layer of generic software components consisting of C++ containers and algorithms is used for parallelization of the finite-element solver and for solver coupling in multi-physics applications. The advantages of generic programming in connection with finite-element codes are discussed and compared with those of object-oriented programming. The use of the proposed generic programming techniques is demonstrated in a tutorial fashion through basic illustrative examples as well as code excerpts from a large-scale finite-element program for serial and parallel computing platforms.
doi_str_mv 10.1007/s00366-007-0058-x
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_919941154</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2418625421</sourcerecordid><originalsourceid>FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203</originalsourceid><addsrcrecordid>eNp1kE9LxDAQxYMouK5-AG_Fi6dq_ic9yqKrsOBl7yFtp2uWNl2TFlY_vSlVBMHDMBPm916Gh9A1wXcEY3UfMWZS5mlMJXR-PEELwpnIhZTsFC0wUWkjpTpHFzHuMSYM42KB7Bo8BFdlh9Dvgu0653fZANWbd-8jxKzpQ3awwbYttO5zWlpfZ3AcwNfTK8kqqMcEZI3zboAMWujADz-G8RKdNbaNcPXdl2j79LhdPeeb1_XL6mGTV4yrIWe6KUqry8oqLIXmJbc1B8ugqEELbq3AoBpGGVGspoxRyqUqsWyAUksxW6Lb2Tb9O10-mM7FCtrWeujHaApSFJwQwRN584fc92Pw6TajNWGaE8ESRGaoCn2MARpzCK6z4cMQbKbEzZy4mcYpcXNMGjprYmL9DsKv8f-iL0-1hZY</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>881384153</pqid></control><display><type>article</type><title>Generic programming techniques for parallelizing and extending procedural finite element programs</title><source>Springer Link</source><creator>Cirak, Fehmi ; Cummings, Julian C.</creator><creatorcontrib>Cirak, Fehmi ; Cummings, Julian C.</creatorcontrib><description>We outline an approach for extending procedural finite-element software components using generic programming. A layer of generic software components consisting of C++ containers and algorithms is used for parallelization of the finite-element solver and for solver coupling in multi-physics applications. The advantages of generic programming in connection with finite-element codes are discussed and compared with those of object-oriented programming. The use of the proposed generic programming techniques is demonstrated in a tutorial fashion through basic illustrative examples as well as code excerpts from a large-scale finite-element program for serial and parallel computing platforms.</description><identifier>ISSN: 0177-0667</identifier><identifier>EISSN: 1435-5663</identifier><identifier>DOI: 10.1007/s00366-007-0058-x</identifier><language>eng</language><publisher>London: Springer-Verlag</publisher><subject>CAE) and Design ; Calculus of Variations and Optimal Control; Optimization ; Classical Mechanics ; Computation ; Computer programs ; Computer Science ; Computer-Aided Engineering (CAD ; Control ; Finite element analysis ; Math. Applications in Chemistry ; Mathematical analysis ; Mathematical and Computational Engineering ; Original Article ; Parallel processing ; Programming ; Serials ; Software ; Solvers ; Studies ; Systems Theory</subject><ispartof>Engineering with computers, 2008-03, Vol.24 (1), p.1-16</ispartof><rights>Springer-Verlag London Limited 2007</rights><rights>Springer-Verlag London Limited 2008</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203</citedby><cites>FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Cirak, Fehmi</creatorcontrib><creatorcontrib>Cummings, Julian C.</creatorcontrib><title>Generic programming techniques for parallelizing and extending procedural finite element programs</title><title>Engineering with computers</title><addtitle>Engineering with Computers</addtitle><description>We outline an approach for extending procedural finite-element software components using generic programming. A layer of generic software components consisting of C++ containers and algorithms is used for parallelization of the finite-element solver and for solver coupling in multi-physics applications. The advantages of generic programming in connection with finite-element codes are discussed and compared with those of object-oriented programming. The use of the proposed generic programming techniques is demonstrated in a tutorial fashion through basic illustrative examples as well as code excerpts from a large-scale finite-element program for serial and parallel computing platforms.</description><subject>CAE) and Design</subject><subject>Calculus of Variations and Optimal Control; Optimization</subject><subject>Classical Mechanics</subject><subject>Computation</subject><subject>Computer programs</subject><subject>Computer Science</subject><subject>Computer-Aided Engineering (CAD</subject><subject>Control</subject><subject>Finite element analysis</subject><subject>Math. Applications in Chemistry</subject><subject>Mathematical analysis</subject><subject>Mathematical and Computational Engineering</subject><subject>Original Article</subject><subject>Parallel processing</subject><subject>Programming</subject><subject>Serials</subject><subject>Software</subject><subject>Solvers</subject><subject>Studies</subject><subject>Systems Theory</subject><issn>0177-0667</issn><issn>1435-5663</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2008</creationdate><recordtype>article</recordtype><recordid>eNp1kE9LxDAQxYMouK5-AG_Fi6dq_ic9yqKrsOBl7yFtp2uWNl2TFlY_vSlVBMHDMBPm916Gh9A1wXcEY3UfMWZS5mlMJXR-PEELwpnIhZTsFC0wUWkjpTpHFzHuMSYM42KB7Bo8BFdlh9Dvgu0653fZANWbd-8jxKzpQ3awwbYttO5zWlpfZ3AcwNfTK8kqqMcEZI3zboAMWujADz-G8RKdNbaNcPXdl2j79LhdPeeb1_XL6mGTV4yrIWe6KUqry8oqLIXmJbc1B8ugqEELbq3AoBpGGVGspoxRyqUqsWyAUksxW6Lb2Tb9O10-mM7FCtrWeujHaApSFJwQwRN584fc92Pw6TajNWGaE8ESRGaoCn2MARpzCK6z4cMQbKbEzZy4mcYpcXNMGjprYmL9DsKv8f-iL0-1hZY</recordid><startdate>20080301</startdate><enddate>20080301</enddate><creator>Cirak, Fehmi</creator><creator>Cummings, Julian C.</creator><general>Springer-Verlag</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7TB</scope><scope>7XB</scope><scope>8AL</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>FR3</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>KR7</scope><scope>L6V</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>M7S</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope></search><sort><creationdate>20080301</creationdate><title>Generic programming techniques for parallelizing and extending procedural finite element programs</title><author>Cirak, Fehmi ; Cummings, Julian C.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2008</creationdate><topic>CAE) and Design</topic><topic>Calculus of Variations and Optimal Control; Optimization</topic><topic>Classical Mechanics</topic><topic>Computation</topic><topic>Computer programs</topic><topic>Computer Science</topic><topic>Computer-Aided Engineering (CAD</topic><topic>Control</topic><topic>Finite element analysis</topic><topic>Math. Applications in Chemistry</topic><topic>Mathematical analysis</topic><topic>Mathematical and Computational Engineering</topic><topic>Original Article</topic><topic>Parallel processing</topic><topic>Programming</topic><topic>Serials</topic><topic>Software</topic><topic>Solvers</topic><topic>Studies</topic><topic>Systems Theory</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Cirak, Fehmi</creatorcontrib><creatorcontrib>Cummings, Julian C.</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>Mechanical &amp; Transportation Engineering Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies &amp; Aerospace Database‎ (1962 - current)</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>Engineering Research Database</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer science database</collection><collection>Civil Engineering Abstracts</collection><collection>ProQuest Engineering Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>Engineering Database</collection><collection>ProQuest advanced technologies &amp; aerospace journals</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering collection</collection><collection>ProQuest Central Basic</collection><jtitle>Engineering with computers</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Cirak, Fehmi</au><au>Cummings, Julian C.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Generic programming techniques for parallelizing and extending procedural finite element programs</atitle><jtitle>Engineering with computers</jtitle><stitle>Engineering with Computers</stitle><date>2008-03-01</date><risdate>2008</risdate><volume>24</volume><issue>1</issue><spage>1</spage><epage>16</epage><pages>1-16</pages><issn>0177-0667</issn><eissn>1435-5663</eissn><abstract>We outline an approach for extending procedural finite-element software components using generic programming. A layer of generic software components consisting of C++ containers and algorithms is used for parallelization of the finite-element solver and for solver coupling in multi-physics applications. The advantages of generic programming in connection with finite-element codes are discussed and compared with those of object-oriented programming. The use of the proposed generic programming techniques is demonstrated in a tutorial fashion through basic illustrative examples as well as code excerpts from a large-scale finite-element program for serial and parallel computing platforms.</abstract><cop>London</cop><pub>Springer-Verlag</pub><doi>10.1007/s00366-007-0058-x</doi><tpages>16</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0177-0667
ispartof Engineering with computers, 2008-03, Vol.24 (1), p.1-16
issn 0177-0667
1435-5663
language eng
recordid cdi_proquest_miscellaneous_919941154
source Springer Link
subjects CAE) and Design
Calculus of Variations and Optimal Control
Optimization
Classical Mechanics
Computation
Computer programs
Computer Science
Computer-Aided Engineering (CAD
Control
Finite element analysis
Math. Applications in Chemistry
Mathematical analysis
Mathematical and Computational Engineering
Original Article
Parallel processing
Programming
Serials
Software
Solvers
Studies
Systems Theory
title Generic programming techniques for parallelizing and extending procedural finite element programs
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-01T11%3A26%3A07IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Generic%20programming%20techniques%20for%20parallelizing%20and%20extending%20procedural%20finite%20element%20programs&rft.jtitle=Engineering%20with%20computers&rft.au=Cirak,%20Fehmi&rft.date=2008-03-01&rft.volume=24&rft.issue=1&rft.spage=1&rft.epage=16&rft.pages=1-16&rft.issn=0177-0667&rft.eissn=1435-5663&rft_id=info:doi/10.1007/s00366-007-0058-x&rft_dat=%3Cproquest_cross%3E2418625421%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c347t-38f9ba8bca706584b4ad4ea3e9de854aa50e7f323173d23322467b06fe22a203%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=881384153&rft_id=info:pmid/&rfr_iscdi=true