Features
The 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

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

The 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 halftooth segment into subareas 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 
GGGears 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 nonlinear 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 nonlinear solver infrastructure of GetFEM++, which due to the inclusion of a linesearch NewtonRaphson 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 postprocessing software




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







