Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

CALFEM Geometry Editor - Implementing an interactive geometry editor for CALFEM

Eriksson, Karl LU (2021) In TVSM-5000 VSMM05 20211
Structural Mechanics
Department of Construction Sciences
Abstract
Commercial finite element codes are designed with a wide variety of tools and options to suit the needs of many different applications. However, in a teaching setting this is not always desirable as the effort required to learn the software draws focus and time from the teaching of the theoretical concepts. Using fully developed solvers might also allow solving of exercises without fully understanding the underlying concepts as the software handles it for you. To address this, CALFEM (Computer Aided Learning of the Finite Element Method) was developed at LTH. CALFEM provides a toolbox to solve finite element problems but with a clear connection between the methods used and the governing theoretical concepts. Today, CALFEM is fully... (More)
Commercial finite element codes are designed with a wide variety of tools and options to suit the needs of many different applications. However, in a teaching setting this is not always desirable as the effort required to learn the software draws focus and time from the teaching of the theoretical concepts. Using fully developed solvers might also allow solving of exercises without fully understanding the underlying concepts as the software handles it for you. To address this, CALFEM (Computer Aided Learning of the Finite Element Method) was developed at LTH. CALFEM provides a toolbox to solve finite element problems but with a clear connection between the methods used and the governing theoretical concepts. Today, CALFEM is fully implemented in MATLAB but since a few years back a Python version is under development as well. In the finite element method a fundamental part of the problem is the geometry, which is used to generate the finite element mesh. As of now, in order to produce a geometry in CALFEM for Python, all points and connecting lines and surfaces must be manually defined in the code. This is both tedious work and limiting to a simple geometry with few points before becoming difficult to handle. Because of this, students may struggle and spend much time working with defining the geometrical points and connections correctly. To address this issue, the purpose of this dissertation has been to implement an interactive geometry editor designed to create simple geometries in an intuitive way.

The editor has been developed in Python combined with a graphical user interface designed in PyQt5. The implemented functions allow creation and editing of polygon and rectangular surfaces in a QGraphicsScene. The geometrical objects created in the QGraphicsScene can then be transformed into a CALFEM geometry object. From this stage a CALFEM mesh can be generated and exported. The main functionality of the editor is developed towards use in Python but option has been included to export mesh results to MATLAB as well. To achieve the goal of creating a simple and intuitive program the user interface was implemented using a ribbon like design to handle the controls. The functionality in the program window was based on the idea of direct manipulation. (Less)
Popular Abstract
In teaching of the Finite Element Method, a key component is the generation of a mesh which often is defined by a geometry. The CALFEM toolbox did not provide a user interface enabling quick and easy creation and editing of geometries. To address this problem, the interactive editor CALFEM Geometry Editor was developed.
Please use this url to cite or link to this publication:
author
Eriksson, Karl LU
supervisor
organization
course
VSMM05 20211
year
type
H3 - Professional qualifications (4 Years - )
subject
publication/series
TVSM-5000
report number
TVSM-5255
ISSN
0281-6679
language
English
id
9065888
alternative location
https://www.byggmek.lth.se/fileadmin/byggnadsmekanik/publications/tvsm5000/web5255.pdf
date added to LUP
2021-09-23 08:44:03
date last changed
2021-09-23 08:44:03
@misc{9065888,
  abstract     = {{Commercial finite element codes are designed with a wide variety of tools and options to suit the needs of many different applications. However, in a teaching setting this is not always desirable as the effort required to learn the software draws focus and time from the teaching of the theoretical concepts. Using fully developed solvers might also allow solving of exercises without fully understanding the underlying concepts as the software handles it for you. To address this, CALFEM (Computer Aided Learning of the Finite Element Method) was developed at LTH. CALFEM provides a toolbox to solve finite element problems but with a clear connection between the methods used and the governing theoretical concepts. Today, CALFEM is fully implemented in MATLAB but since a few years back a Python version is under development as well. In the finite element method a fundamental part of the problem is the geometry, which is used to generate the finite element mesh. As of now, in order to produce a geometry in CALFEM for Python, all points and connecting lines and surfaces must be manually defined in the code. This is both tedious work and limiting to a simple geometry with few points before becoming difficult to handle. Because of this, students may struggle and spend much time working with defining the geometrical points and connections correctly. To address this issue, the purpose of this dissertation has been to implement an interactive geometry editor designed to create simple geometries in an intuitive way.

The editor has been developed in Python combined with a graphical user interface designed in PyQt5. The implemented functions allow creation and editing of polygon and rectangular surfaces in a QGraphicsScene. The geometrical objects created in the QGraphicsScene can then be transformed into a CALFEM geometry object. From this stage a CALFEM mesh can be generated and exported. The main functionality of the editor is developed towards use in Python but option has been included to export mesh results to MATLAB as well. To achieve the goal of creating a simple and intuitive program the user interface was implemented using a ribbon like design to handle the controls. The functionality in the program window was based on the idea of direct manipulation.}},
  author       = {{Eriksson, Karl}},
  issn         = {{0281-6679}},
  language     = {{eng}},
  note         = {{Student Paper}},
  series       = {{TVSM-5000}},
  title        = {{CALFEM Geometry Editor - Implementing an interactive geometry editor for CALFEM}},
  year         = {{2021}},
}