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...
Saved in:
Published in: | Engineering with computers 2008-03, Vol.24 (1), p.1-16 |
---|---|
Main Authors: | , |
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 & 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 & Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies & 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 & aerospace journals</collection><collection>ProQuest Advanced Technologies & 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 |