Graphical User Interface

GGGears GUI with its Gear1 tab openedThe graphical user interface of GGGears is implemented in python using the toolkit GTK+. It is organized in tabs and is intended to be as minimal and simple as possible. There is a tab for general project data, one tab for the data of each gear included in the model, one tab for the definition of loads and boundary conditions and one tab for the previewing of the model.

The GGGears GUI:

  • involves praxis related gear data and simple mesh parameters
  • permits the definition of loads and boundary conditions in a quite simple way
  • offers a preview of 2D and 3D models, which can be helpful for verifying the input data
Geometry Generator

GGGears includes a geometry generator for cylindrical involute gears. This geometry generator module, which is called "toothprofiler" and is written in Fortran, can calculate both external and internal gearing geometries. For external gearings the simulation of the relative motion between the basic rack and the generated gear yields the form of a tooth gap defined through an involute tooth flank and a trochoidal tooth root. For internal gearings the relative motion between the generated gear and a pair gear corresponding to the shaper cutter is simulated. In the last case not only the fillet radius but also the teeth number and the tip diameter of the cutter tool have an impact on the form of the tooth root.

The toothprofiler in GGGears:

  • can calculate the tooth flank and tooth root forms of external and internal gears
  • delivers the profile coordinates in ascii format for external utilization
Mesh Generator

Image demonstrating the features of meshes created with GGGearsThe mesh generator is a very important part of GGGears. Taking advantage of the scripting language of GMSH, GGGears generates structured parametric meshes for the gear tooth profiles calculated by the geometry module. The creation of the mesh is based on the division of each half-tooth segment into sub-areas according to the two alternatives shown at the right. The numbers of nodes on the sides of those quadrilateral areas represent the mesh parameters defined by the user. The mesh generator can deliver 2D meshes as well as 3D meshes for spur or helical gears. The generated 2D meshes contain quadrilateral element (QUADS) while 3D meshes are composed of hexahedral elements (HEXAS).

The mesh generator of GGGears:

  • can deliver structured meshes of high quality with minimal user effort
  • can create meshes with variable refinement among the gear teeth
  • is appropriate for both internal and external, spur or helical gearings
Tooth Flank Modifications

Tooth flank modifications GUIGGGears can take into account the most common types of tooth flank modifications. Currently the following types are supported:

  • Tip Relief
  • Profile Crowning
  • Lead Angle
  • End Relief
  • Lead Crowning

The user has the possibility of a preview for the current values of the modification parameters.

The way that GGGears handles tooth flank modifications consists in manipulating the generated GMSH mesh. The corresponding module imports the GMSH mesh, applies any modifications to the mesh nodes lying on the tooth flanks and exports the mesh in the GETFEM++ native format, ready to be used in the FEM model.


The finite element modeling in GGGears relies on the python interface of GetFEM++, which is a generic finite element library written in C++. The definition of a problem in GetFEM++ consists in defining every term of the partial differential equations system which describes the considered problem. GetFEM++ provides so called model bricks describing equation terms which e.g. correspond to linear or non-linear elasticity, applied loads, displacement constraints and contact conditions. The fem modeler in GGGears combines these bricks in order to create a model of all gears, loads and boundary conditions defined through the user interface.

The fem modeler in GGGears:

  • can create finite element models of a theoretically unlimited number of gears and boundary conditions
  • utilizes the non-linear solver infrastructure of GetFEM++, which due to the inclusion of a line-search Newton-Raphson technique ensures a small number of iteration steps during the solution phase
  • utilizes the powerful linear solver MUMPS for the solution of the linear equations system in each iteration step, which permits the solution of very large problems of more than one million of degrees of freedom
  • prepares an output for the PARAVIEW post-processing software

Planetary System Solution viewed in PARAVIEW


Although GGGears includes no post-processing capabilities itself, it integrates very well with the excellent post-processor ParaView. After a successful simulation GGGears prepares a single *.pvsm file containing a pre-formated version of all simulation results. Through the corresponding menu the user can launch ParaView and view these results in a single step.

Simulation result viewed in PARAVIEW