ArticleslgStudy

computer science

GetFEM++

GetFEM++ is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand GetFEM++ rather than just read about it. In short: GetFEM++ is a generic finite element C++ library with interfaces for Python, Matlab and Scilab. It aims at providing finite element methods and elementary matrix computations for solving linear and non-linear problems numerically.

GetFEM++ — main illustration
GetFEM++ — illustration

Key takeaways

  • GetFEM++ belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect GetFEM++ to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of GetFEM++ from memory before moving on to harder problems.

Reference excerpt

GetFEM++ is a generic finite element C++ library with interfaces for Python, Matlab and Scilab. It aims at providing finite element methods and elementary matrix computations for solving linear and non-linear problems numerically. Its flexibility in choosing among different finite element approximations and numerical integration methods is one of its distinguishing characteristics.

License GetFEM++ is released under the GNU Lesser General Public License, version 3 or later, along with the GCC Runtime Library Exception, version 3.1 or later.

Components Gmm++ is a generic matrix template library included in GetFEM++, providing tools for elementary computations with dense and sparse matrices. Among the capabilities implemented in Gmm++ there is also an interface to the popular direct solver for sparse systems of linear equations MUMPS. Mesh objects in GetFEM++ contain information about the geometric transformation and connectivity of mesh elements as well as methods for accessing user defined mesh regions. Finite element methods can be defined per mesh or per element and they include a wide range of options like classical Lagrange elements Pk and Qk of arbitrary dimension and degree k, Hermite and Argyris elements, discontinuous Pk and Qk elements, vectorial and hierarchical basis elements as well as XFEM elements. Integration methods can be defined per mesh or per element as well. The possible options include exact and approximated methods. Combining so called brick objects, is the standard way of representing mathematical equations in GetFEM++. Such predefined bricks corresponding to common equation terms like elasticity, Helmholtz, Dirichlet condition and Neumann source terms are included in the software. Among other there is also a number of elaborated bricks related to contact mechanics, corresponding to different formulations of contact with or without friction. The assembling procedures included in GetFEM++ aim at efficiently calculating the contribution of each brick to the global tangent matrix and right hand side term of the linearized system of equations.

Input/Output GetFEM++ can read meshes provided in the native formats of software like Gmsh, GiD and Ansys. It can export results in the legacy POS file format of Gmsh, the OpenDX file format and the legacy VTK file format.

Awards In 2007, GetFEM++ received the second prize in the category of scientific software in the Les Trophées du Libre contest.

Literature CFD Parallel Simulation Using Getfem++ and Mumps

References

External links Official website

Illustrations

GetFEM++ illustration

Worked examples

Example 1 — a first encounter with GetFEM++

Start with the simplest possible case. Write down what GetFEM++ claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to GetFEM++ before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about GetFEM++ ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of GetFEM++

In research
GetFEM++ appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses GetFEM++ in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
GetFEM++ is common in secondary-school and first-year university syllabi. It links to neighbouring topics C++ numerical libraries, Finite element software, Finite element software for Linux, so understanding it makes those chapters shorter.
In everyday life
Look for GetFEM++ outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “GetFEM++” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study GetFEM++ in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what GetFEM++ means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain GetFEM++ out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is GetFEM++ in simple terms?

GetFEM++ is a generic finite element C++ library with interfaces for Python, Matlab and Scilab. It aims at providing finite element methods and elementary matrix computations for solving linear and non-linear problems numerically.

Why does GetFEM++ matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study GetFEM++?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on GetFEM++.

Tags

  • C++ numerical libraries
  • Finite element software
  • Finite element software for Linux
  • Free simulation software
  • Numerical analysis
  • Scientific simulation software
  • Software using the GNU Lesser General Public License

Keep exploring