back to home

KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.

1,234 stars
286 forks
661 issues
C++PythonC

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing KratosMultiphysics/Kratos in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/KratosMultiphysics/Kratos)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

[![License][license-image]][license] [![C++][c++-image]][c++standard] [![DOI][DOI-image]][DOI] [![GitHub stars][stars-image]][stars] [![Twitter][twitter-image]][twitter] [![Youtube][youtube-image]][youtube] [![Release][release-image]][releases] [release-image]: https://img.shields.io/badge/release-10.4.0-green.svg?style=flat [releases]: https://github.com/KratosMultiphysics/Kratos/releases [license-image]: https://img.shields.io/badge/license-BSD-green.svg?style=flat [license]: https://github.com/KratosMultiphysics/Kratos/blob/master/kratos/license.txt [c++-image]: https://img.shields.io/badge/C++-20-blue.svg?style=flat&logo=c%2B%2B [c++standard]: https://isocpp.org/std/the-standard [Nightly-Build]: https://github.com/KratosMultiphysics/Kratos/workflows/Nightly%20Build/badge.svg [Nightly-link]: https://github.com/KratosMultiphysics/Kratos/actions?query=workflow%3A%22Nightly+Build%22 [DOI-image]: https://zenodo.org/badge/DOI/10.5281/zenodo.3234644.svg [DOI]: https://doi.org/10.5281/zenodo.3234644 [stars-image]: https://img.shields.io/github/stars/KratosMultiphysics/Kratos?label=Stars&logo=github [stars]: https://github.com/KratosMultiphysics/Kratos/stargazers [twitter-image]: https://img.shields.io/twitter/follow/kratosmultiphys.svg?label=Follow&style=social [twitter]: https://twitter.com/kratosmultiphys [youtube-image]: https://badges.aleen42.com/src/youtube.svg [youtube]:https://www.youtube.com/@kratosmultiphysics3578 _KRATOS Multiphysics_ ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface. More in Overview **Kratos** is **free** under BSD-4 license and can be used even in commercial software as it is. Many of its main applications are also free and BSD-4 licensed but each derived application can have its own proprietary license. Main Features **Kratos** is __multiplatform__ and available for __Windows, Linux__ (several distros) and __macOS__. **Kratos** is __OpenMP__ and __MPI__ parallel and scalable up to thousands of cores. **Kratos** provides a core which defines the common framework and several application which work like plug-ins that can be extended in diverse fields. Its main applications are: • DEM for cohesive and non cohesive spheric and non spheric particles simulation • Fluid Dynamics Provides 2D and 3D incompressible fluids formulation • Fluid Structure Interaction for solution of different FSI problems • Structural Mechanics Providing solution for solid, shell and beam structures with linear and nonlinear, static and dynamic behavior • Contact Structural Mechanics For contact problems used along the Structural Mechanics application Some main modules are: • Linear Solvers • Trilinos • Metis • Meshing Documentation Here you can find the basic documentation of the project: Getting Started • Getting Kratos (Last compiled Release) • Kratos from : Just simply type on terminal • Kratos for GiD) • Compiling Kratos • See INSTALL.md Tutorials • Running an example from GiD • Kratos input files and I/O • Data management • Solving strategies • Manipulating solution values • Multiphysics More documentation Documentation Examples of use Kratos has been used for simulation of many different problems in a wide variety of disciplines ranging from wind over singular building to granular domain dynamics. Some examples and validation benchmarks simulated by Kratos can be found here Barcelona Wind Simulation Contributors Organizations contributing to Kratos: International Center for Numerical Methods in Engineering Chair of Structural Analysis Technical University of Munich Altair Engineering Deltares Institute of Structural Analysis Technische Universität Braunschweig University of Padova, Italy Our Users Some users of the technologies developed in Kratos are: Airbus Defence and Space Stress Methods & Optimisation Department Siemens AG Corporate Technology ONERA, The French Aerospace Lab Applied Aerodynamics Department 🤗 Looking forward to seeing your logo here! Special Thanks To In Kratos Core: • Boost for uBLAS • pybind11 for exposing C++ to python • GidPost) providing output to GiD • AMGCL for its highly scalable multigrid solver • JSON JSON for Modern C++ • ZLib The compression library • Google Test for unit testing C++ code • Google Benchmark for microbenchmarking and performance testing In applications: • Eigen For linear solvers used in the LinearSolversApplication • Trilinos for MPI linear algebra and solvers used in TrilinosApplication • METIS for partitioning in MetisApplication • CoSimIO for performing coupled simulations with external solvers within the CoSimulationApplication. The CoSimIO in Kratos uses the following libraries: • Boost for the • filesystem Header-only single-file std::filesystem compatible helper library, based on the C++17 specs • asio for socket based interprocess communication How to cite Kratos? Please, use the following references when citing Kratos in your work. • Dadvand, P., Rossi, R. & Oñate, E. An Object-oriented Environment for Developing Finite Element Codes for Multi-disciplinary Applications. Arch Computat Methods Eng 17, 253–297 (2010). https://doi.org/10.1007/s11831-010-9045-2 • Dadvand, P., Rossi, R., Gil, M., Martorell, X., Cotela, J., Juanpere, E., Idelsohn, S., Oñate, E. (2013). Migration of a generic multi-physics framework to HPC environments. Computers & Fluids. 80. 301–309. 10.1016/j.compfluid.2012.02.004. • Vicente Mataix Ferrándiz, Philipp Bucher, Rubén Zorrilla, Suneth Warnakulasuriya, Alejandro Cornejo, Riccardo Rossi, Carlos Roig, jcotela, Josep Maria, tteschemacher, Miguel Masó, Guillermo Casas, Marc Núñez, Pooyan Dadvand, Salva Latorre, Ignasi De Pouplana, Joaquín Irazábal González, AFranci, Ferran Arrufat, riccardotosi, Aditya Ghantasala, Klaus Sautter, Peter Wilson, dbaumgaertner, Bodhinanda Chandra, Armin Geiser, Mát…