computational engineering

{{Short description|Field of algorithmic training}}

{{distinguish|Computer engineering}}

File:LEAP 71 Noyron TKL-5 Thruster.jpg

File:Kiva Simulation.jpg

Computational Engineering is an emerging discipline that deals with the development and application of computational models for engineering, known as Computational Engineering Models{{Cite web |date=2022-12-21 |title=Computational Engineering Models for the Design of Mechanical Counterpressure Spacesuits |url=https://ttu-ir.tdl.org/handle/2346/89584 |access-date=2023-06-27 |archive-url=https://web.archive.org/web/20221221013602/https://ttu-ir.tdl.org/handle/2346/89584 |archive-date=2022-12-21 |last1=MacKlin |first1=Theodore }} or CEM. Computational engineering uses computers to solve engineering design problems important to a variety of industries.{{Cite web |title=What is Computational Engineering? |url=https://www.ae.utexas.edu/undergraduate/computational-undergrad-program/what-is-computational-engineering |access-date=2023-09-20 |website=www.ae.utexas.edu}} At this time, various different approaches are summarized under the term Computational Engineering, including using computational geometry and virtual design for engineering tasks,{{Cite web |title=Research Area: Computational Engineering {{!}} Mechanical Engineering |url=https://me.stanford.edu/research-impact/research-overview/research-area-computational-engineering |access-date=2023-04-22 |website=me.stanford.edu |language=en}}{{Cite web |title=Computational engineering |url=https://www.meche.engineering.cmu.edu/research/computational.html |access-date=2023-04-22 |website=www.meche.engineering.cmu.edu |language=en}} often coupled with a simulation-driven approach{{Cite web |title=Research Area: Computational Engineering {{!}} Mechanical Engineering |url=https://me.stanford.edu/research-impact/research-overview/research-area-computational-engineering |access-date=2023-02-27 |website=me.stanford.edu |language=en}} In Computational Engineering, algorithms solve mathematical and logical models{{Cite web |author=Editorial Staff |date=2021-12-24 |title=What is Computational Engineering? • College Guidepost |url=https://collegeguidepost.com/blog/what-is-computational-engineering/ |access-date=2023-04-22 |website=College Guidepost |language=en-US}} that describe engineering challenges, sometimes coupled with some aspect of AI{{Cite web |title=What Is Computational Engineering? |url=https://www.ae.utexas.edu/undergraduate/computational-undergrad-program/what-is-computational-engineering }}

In Computational Engineering the engineer encodes their knowledge in a computer program. The result is an algorithm, the Computational Engineering Model, that can produce many different variants of engineering designs, based on varied input requirements. The results can then be analyzed through additional mathematical models to create algorithmic feedback loops.{{Cite web |author=Editorial Staff |date=2021-12-24 |title=What is Computational Engineering? • College Guidepost |url=https://collegeguidepost.com/blog/what-is-computational-engineering/ |access-date=2023-04-22 |website=College Guidepost |language=en-US}}

Simulations of physical behaviors relevant to the field, often coupled with high-performance computing, to solve complex physical problems arising in engineering analysis and design (as well as natural phenomena (computational science). It is therefore related to Computational Science and Engineering, which has been described as the "third mode of discovery" (next to theory and experimentation).{{Cite web |url=http://www.cseprograms.gatech.edu/sites/default/files/CSEHandbook-Students-v11.pdf |title=Computational Science and Engineering Program: Graduate Student Handbook |website=cseprograms.gatech.edu |date=September 2009 |access-date=2012-04-08 |archive-url=https://web.archive.org/web/20141014001918/http://www.cseprograms.gatech.edu/sites/default/files/CSEHandbook-Students-v11.pdf |archive-date=2014-10-14 |url-status=dead }}

In Computational Engineering, computer simulation provides the capability to create feedback that would be inaccessible to traditional experimentation or where carrying out traditional empirical inquiries is prohibitively expensive.

Computational Engineering should neither be confused with pure computer science, nor with computer engineering,{{Cite web |title=What is Computational Engineering? |url=https://www.ae.utexas.edu/undergraduate/computational-undergrad-program/what-is-computational-engineering |access-date=2023-09-20 |website=www.ae.utexas.edu}} although a wide domain in the former is used in Computational Engineering (e.g., certain algorithms, data structures, parallel programming, high performance computing) and some problems in the latter can be modeled and solved with Computational Engineering methods (as an application area).

Methods

Computational Engineering methods and frameworks include:

  • High performance computing and techniques to gain efficiency (through change in computer architecture, parallel algorithms etc.)
  • Modeling and simulation
  • Algorithms for solving discrete and continuous problems
  • Analysis and visualization of data
  • Mathematical foundations: Numerical and applied linear algebra, initial & boundary value problems, Fourier analysis, optimization
  • Data Science for developing methods and algorithms to handle and extract knowledge from large scientific data

With regard to computing, computer programming, algorithms, and parallel computing play a major role in Computational Engineering. The most widely used programming language in the scientific community is FORTRAN.{{Cite web|title=Why is fortran extensively used in scientific computing and not any other language?|url=https://www.researchgate.net/post/Why_is_fortran_extensively_used_in_scientific_computing_and_not_any_other_language|website=ResearchGate|language=en|access-date=2020-05-23}} Recently, C++ and C have increased in popularity over FORTRAN. Due to the wealth of legacy code in FORTRAN and its simpler syntax, the scientific computing community has been slow in completely adopting C++ as the lingua franca. Because of its very natural way of expressing mathematical computations, and its built-in visualization capacities, the proprietary language/environment MATLAB is also widely used, especially for rapid application development and model verification. Python along with external libraries (such as NumPy, SciPy, Matplotlib) has gained some popularity as a free and Copycenter alternative to MATLAB.

Open Source Movement

There are a number of Free and Open-Source Software (FOSS) tools that support Computational Engineering.

  • OpenSCAD was released in 2010 and allows the scripted generation of CAD models, which can form the basis for Computational Engineering Models.
  • [https://github.com/CadQuery/cadquery CadQuery] uses Python to generate CAD models and is based on the OpenCascade framework. It is released under the Apache 2.0 Open-Source License.
  • [https://github.com/leap71/PicoGK PicoGK]is an open-source framework for Computational Engineering which was released under the Apache 2.0 Open-Source License.

Applications

File:Elmer-pump-heatequation.png on a pump casing model using the finite element method.]]

Computational Engineering finds diverse applications, including in:

See also

References

{{reflist}}