{"id":"https://openalex.org/W3164663286","doi":"https://doi.org/10.1109/mcse.2021.3085102","title":"Code Generation for Productive, Portable, and Scalable Finite Element Simulation in Firedrake","display_name":"Code Generation for Productive, Portable, and Scalable Finite Element Simulation in Firedrake","publication_year":2021,"publication_date":"2021-06-08","ids":{"openalex":"https://openalex.org/W3164663286","doi":"https://doi.org/10.1109/mcse.2021.3085102","mag":"3164663286"},"language":"en","primary_location":{"id":"doi:10.1109/mcse.2021.3085102","is_oa":false,"landing_page_url":"https://doi.org/10.1109/mcse.2021.3085102","pdf_url":null,"source":{"id":"https://openalex.org/S107923245","display_name":"Computing in Science & Engineering","issn_l":"1521-9615","issn":["1521-9615","1558-366X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320061","host_organization_name":"AIP Publishing","host_organization_lineage":["https://openalex.org/P4310320061","https://openalex.org/P4310320257"],"host_organization_lineage_names":["AIP Publishing","American Institute of Physics"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Computing in Science &amp; Engineering","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://hdl.handle.net/10044/1/89116","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5090050729","display_name":"Jack Betteridge","orcid":"https://orcid.org/0000-0002-3919-8603"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Jack D. Betteridge","raw_affiliation_strings":["Imperial College London, London, U.K"],"raw_orcid":"https://orcid.org/0000-0002-3919-8603","affiliations":[{"raw_affiliation_string":"Imperial College London, London, U.K","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102855060","display_name":"Patrick E. Farrell","orcid":"https://orcid.org/0000-0002-1241-7060"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Patrick E. Farrell","raw_affiliation_strings":["University of Oxford, Oxford, U.K"],"raw_orcid":"https://orcid.org/0000-0002-1241-7060","affiliations":[{"raw_affiliation_string":"University of Oxford, Oxford, U.K","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5046769638","display_name":"David A. Ham","orcid":"https://orcid.org/0000-0001-9545-9110"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"David A. Ham","raw_affiliation_strings":["Imperial College London, London, U.K"],"raw_orcid":"https://orcid.org/0000-0001-9545-9110","affiliations":[{"raw_affiliation_string":"Imperial College London, London, U.K","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5090050729"],"corresponding_institution_ids":["https://openalex.org/I47508984"],"apc_list":null,"apc_paid":null,"fwci":0.8412,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.79295384,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"23","issue":"4","first_page":"8","last_page":"17"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10481","display_name":"Computer Graphics and Visualization Techniques","score":0.9950000047683716,"subfield":{"id":"https://openalex.org/subfields/1704","display_name":"Computer Graphics and Computer-Aided Design"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10481","display_name":"Computer Graphics and Visualization Techniques","score":0.9950000047683716,"subfield":{"id":"https://openalex.org/subfields/1704","display_name":"Computer Graphics and Computer-Aided Design"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9858999848365784,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10173","display_name":"Computational Fluid Dynamics and Aerodynamics","score":0.982699990272522,"subfield":{"id":"https://openalex.org/subfields/2206","display_name":"Computational Mechanics"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8504619598388672},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.844696044921875},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.8203399181365967},{"id":"https://openalex.org/keywords/supercomputer","display_name":"Supercomputer","score":0.7753944396972656},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.5574639439582825},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5389485955238342},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5149691700935364},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4954935312271118},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.48802319169044495},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.45636695623397827},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.43330761790275574},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.4140457510948181},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3927914500236511},{"id":"https://openalex.org/keywords/computer-engineering","display_name":"Computer engineering","score":0.3615851104259491},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2783608138561249},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.19614937901496887},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.11194568872451782}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8504619598388672},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.844696044921875},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.8203399181365967},{"id":"https://openalex.org/C83283714","wikidata":"https://www.wikidata.org/wiki/Q121117","display_name":"Supercomputer","level":2,"score":0.7753944396972656},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.5574639439582825},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5389485955238342},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5149691700935364},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4954935312271118},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.48802319169044495},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.45636695623397827},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.43330761790275574},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.4140457510948181},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3927914500236511},{"id":"https://openalex.org/C113775141","wikidata":"https://www.wikidata.org/wiki/Q428691","display_name":"Computer engineering","level":1,"score":0.3615851104259491},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2783608138561249},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.19614937901496887},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.11194568872451782},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/mcse.2021.3085102","is_oa":false,"landing_page_url":"https://doi.org/10.1109/mcse.2021.3085102","pdf_url":null,"source":{"id":"https://openalex.org/S107923245","display_name":"Computing in Science & Engineering","issn_l":"1521-9615","issn":["1521-9615","1558-366X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320061","host_organization_name":"AIP Publishing","host_organization_lineage":["https://openalex.org/P4310320061","https://openalex.org/P4310320257"],"host_organization_lineage_names":["AIP Publishing","American Institute of Physics"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Computing in Science &amp; Engineering","raw_type":"journal-article"},{"id":"pmh:oai:spiral.imperial.ac.uk:10044/1/89116","is_oa":true,"landing_page_url":"http://hdl.handle.net/10044/1/89116","pdf_url":"http://hdl.handle.net/10044/1/89116","source":{"id":"https://openalex.org/S4306401396","display_name":"Spiral (Imperial College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I47508984","host_organization_name":"Imperial College London","host_organization_lineage":["https://openalex.org/I47508984"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"17","raw_type":"Journal Article"},{"id":"pmh:oai:ora.ox.ac.uk:uuid:eefd42d7-3489-4d38-a0b7-19d2e6d342b2","is_oa":false,"landing_page_url":"https://ora.ox.ac.uk/objects/uuid:eefd42d7-3489-4d38-a0b7-19d2e6d342b2","pdf_url":null,"source":{"id":"https://openalex.org/S4306402636","display_name":"Oxford University Research Archive (ORA) (University of Oxford)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I40120149","host_organization_name":"University of Oxford","host_organization_lineage":["https://openalex.org/I40120149"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Symplectic Elements","raw_type":"Journal article"}],"best_oa_location":{"id":"pmh:oai:spiral.imperial.ac.uk:10044/1/89116","is_oa":true,"landing_page_url":"http://hdl.handle.net/10044/1/89116","pdf_url":"http://hdl.handle.net/10044/1/89116","source":{"id":"https://openalex.org/S4306401396","display_name":"Spiral (Imperial College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I47508984","host_organization_name":"Imperial College London","host_organization_lineage":["https://openalex.org/I47508984"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"17","raw_type":"Journal Article"},"sustainable_development_goals":[{"score":0.4099999964237213,"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure"}],"awards":[{"id":"https://openalex.org/G3131607356","display_name":"GW4 Tier 2 HPC Centre for Advanced Architectures","funder_award_id":"EP/P020224/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3708552165","display_name":"Gen X: ExCALIBUR working group on Exascale continuum mechanics through code generation.","funder_award_id":"EP/V001493/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3957501995","display_name":null,"funder_award_id":"EP/R029423/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5783490283","display_name":null,"funder_award_id":"EP/P020224/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320314731","display_name":"UK Research and Innovation","ror":"https://ror.org/001aqnf71"},{"id":"https://openalex.org/F4320320331","display_name":"Met Office","ror":"https://ror.org/01ch2yn61"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3164663286.pdf","grobid_xml":"https://content.openalex.org/works/W3164663286.grobid-xml"},"referenced_works_count":19,"referenced_works":["https://openalex.org/W73123583","https://openalex.org/W90568776","https://openalex.org/W2107979247","https://openalex.org/W2168522485","https://openalex.org/W2342281373","https://openalex.org/W2416275548","https://openalex.org/W2744050773","https://openalex.org/W2895332762","https://openalex.org/W2995403156","https://openalex.org/W3043048973","https://openalex.org/W3102568135","https://openalex.org/W3104566386","https://openalex.org/W3121682852","https://openalex.org/W3126661955","https://openalex.org/W3139199651","https://openalex.org/W3158687439","https://openalex.org/W4245654886","https://openalex.org/W6600252484","https://openalex.org/W6929368371"],"related_works":["https://openalex.org/W2789551765","https://openalex.org/W3122369893","https://openalex.org/W2407476586","https://openalex.org/W2807521955","https://openalex.org/W2750654225","https://openalex.org/W1545080775","https://openalex.org/W2033235985","https://openalex.org/W2763289028","https://openalex.org/W2031796104","https://openalex.org/W4213113901"],"abstract_inverted_index":{"Creating":[0],"scalable,":[1],"high-performance":[2,58],"PDE-based":[3],"simulations":[4,59],"requires":[5],"an":[6,53],"appropriate":[7],"combination":[8,16],"of":[9,64],"models,":[10],"discretizations,":[11],"and":[12,21,38],"solvers.":[13],"The":[14],"required":[15],"changes":[17,80,94],"with":[18,22,98],"the":[19,23,87],"application":[20],"available":[24],"hardware,":[25],"yet":[26],"software":[27],"development":[28,100],"time":[29],"is":[30],"a":[31,48],"severely":[32],"limited":[33],"resource":[34],"for":[35,56],"most":[36],"scientists":[37],"engineers.":[39],"Here":[40],"we":[41],"demonstrate":[42,68],"that":[43,69,86],"generating":[44],"simulation":[45],"code":[46,88],"from":[47,60,71],"high-level":[49],"Python":[50],"interface":[51],"provides":[52],"effective":[54],"mechanism":[55],"creating":[57],"very":[61],"few":[62],"lines":[63],"user":[65],"code.":[66],"We":[67],"moving":[70],"one":[72],"supercomputer":[73],"to":[74,81,95],"another":[75],"can":[76],"require":[77],"significant":[78],"algorithmic":[79,93],"achieve":[82],"scalable":[83],"performance,":[84],"but":[85],"generation":[89],"approach":[90],"enables":[91],"these":[92],"be":[96],"achieved":[97],"minimal":[99],"effort.":[101]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
