MkniX

Nonlinear thermo-mechanical multibody systems simulation using FEM and meshfree methods

This project is maintained by daniel-iglesias

1. Overview

MkniX is a code designed for the simulation of nonlinear flexible multibody systems, including thermal effects. It is organised as a library but, as it already has all necesary I/O functions, building a binary is trivial. Several examples of applications using the MkniX library are provided in the tests/ folder. The results can be viewed in the 3D interactive GUI, MkniXPost.

2. Description

The library is divided in four modules: Systems, Core, Simulation, and Reader. Each of them has a specific functionality, as detailed in the following sections.

2.1. Systems module

Hierarchical and recursive scheme of systems and subsystems with no limit in depth. Bodies are linked by joints and are independent of each other in terms of formulation and degrees of freedom, which allows mixing rigid and flexible solid bodies with different discretizations in the same model.

2.1.1. Rigid bodies

2.1.2. Continuum bodies

2.1.3. Joints and contacts

2.1.4 Loads

2.2. Core module

Implements the continuum mechanics residual contributions for solid bodies. It also provides the generic point and node classes used by rigid bodies and joints.

2.2.1. Formulations

2.2.2. Discretization methods for continuum bodies

2.2.3. Material models for all elastic/thermoelastic formulations

2.3. Simulation module

It is the main interface of the Mknix code. The module controls the time stepping, integration method, and the convergence criteria for the nonlinear solver. Most procedures are provided by the numerical library LMX. It also owns and controls the global matrices and the top level systems.

2.3.1 Analysis types and integrators

2.3.2. Linear solvers

2.3.3. Nonlinear solvers

2.4. Reader module

Controls the input, output by bridging the Analysis’ solvers required functions with the Systems’ formulation.

2.4.1 Input readers

One input file referring to other geometry and mesh files is usually used. The file is structured in sections, each one read by independent object classes and member functions: * General class reader for Systems´ structure, materials, loads and Analysis. * Rigid body reader, including mass properties and geometry. * Flexbody reader, with formulation type, geometry (with or without mesh file), assigned material number, and discretization parameters. * Constraints reader, for joints definition between bodies.

Accepted geometry files: * Gmsh format. * Salome mesh format. * STL Cad models [in work].

2.4.2 Output writers

3. Building and testing

See README.md for a description of requirements and procedure for building the MkniX library and using it for creating binary executables.

4. License

MkniX library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Tests are distributed under GPL version 3 of the License, or (at your option) any later version.