Giter VIP home page Giter VIP logo

zhencang / kratos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kratosmultiphysics/kratos

0.0 0.0 0.0 751.06 MB

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.

Home Page: http://www.cimne.com/kratos/

License: Other

CMake 0.22% Python 5.65% C++ 50.84% Shell 0.06% Visual Basic 0.29% Tcl 0.36% Batchfile 0.01% Gnuplot 0.01% C 6.17% Makefile 0.09% Fortran 1.41% PHP 0.01% HTML 3.30% CSS 0.01% SourcePawn 0.01% MATLAB 0.02% Assembly 0.10% Objective-C++ 31.43% Mathematica 0.01% Cuda 0.05%

kratos's Introduction

Overview

Kratos is a framework for building multi-disciplinary finite element programs. It provides several tools for fast implementation of finite element applications. CFD, CSD, Thermally Coupled Problems, Particles, ...

What is Kratos?

Kratos is a framework for building multi-disciplinary finite element programs. It provides several tools for easy implementation of finite element applications and a common platform providing effortless interaction between them. Kratos has an innovative variable base interface designed to be used at different levels of abstraction and implemented to be very clear and extendible. It also provides an efficient yet flexible data structure which can be used to store any type of data in a type-safe manner. The Python scripting language is used to define the main procedure of Kratos which significantly improves the flexibility of the framework in time of use.

The kernel and application approach is used to reduce the possible conflicts arising between developers of different fields. Also layers are designed to reflect the working space of different people, considering their programming knowledge.

Kratos is Parallelized for Shared Memory Machines (SMMs) and Distributed Memory Machines (DMMs). In the same way it provides tools for its applications to adapt easily their algorithms to these architectures. Its scalability has been verified up to thousands of cores.

If you have not visited the general CIMNE Kratos Website, you can do it to have an overview of the Kratos capabilities.

Who may use Kratos?

Some potential users of Kratos are:

  • Finite Element Developers: These developers are considered to be more expert in FEM, from the physical and mathematical points of view, than C++ programming. For this reason, Kratos provides their requirements without involving them in advanced programming concepts.

  • Application Developers: These users are less interested in finite element programming and their programming knowledge may vary from very expert to higher than basic. They may use not only Kratos itself but also any other applications provided by finite element developers, or other application developers. Developers of optimization programs or design tools are the typical users of this kind.

  • Package Users Engineers: and designers are other users of Kratos. They use the complete package of Kratos and its applications to model and solve their problem without getting involved in internal programming of this package. For these users Kratos has to provide a flexible external interface to enable them use different features of Kratos without changing its implementation.

#Who is Kratos?

The Kratos structure, due to its multi disciplinary nature, has to support the wide variety of algorithms involved in different areas. That's the principal reason that explain the variety of people, mostly engineers, composing the Kratos Community.

#Keywords

Free Multi-physic Finite Element Method C++ Open Source Code

Kratos is MULTI-PHYSIC. One of the main topics in engineering nowadays is the combination of different analysis (thermal, fluid dynamic, structural) with optimising methods in one global software package with just one user interface and, even more, the possibility to extend the implemented solution to new problems.

Kratos is FINITE ELEMENT METHOD (FEM) based. Many problems in engineering and applied science are governed by Partial Differential Equations (PDE), easily handled by computer thanks to numerical methods. The FEM is one of the most powerful, flexible and versatile existing methods.

Kratos is OBJECT ORIENTED. An integration of disciplines, in the physical as well as in the mathematical sense, suggests the use of the modern object oriented philosophy from the computational point of view. The modular design, hierarchy and abstraction of these approaches fits to the generality, flexibility and reusability required for the current and future challenges in numerical methods.

Kratos is OPEN SOURCE. The main code and program structure is available and aimed to grow with the need of any user willing to expand it. The BSD (Berkeley Software Distribution) licence allows to use and distribute the existing code without any restriction, but with the possibility to develop new parts of the code on an open or close basis depending on the developers.

Kratos is FREE because is devoted mainly to developers, researchers and students and, therefore, is the most fruitful way to share knowledge and built a robust numerical methods laboratory adapted to their users' needs. Free because you have the freedom to modify and distribute the software. The one thing you're not able to do with free software is take away other people's freedom. Please, read the license for more detailed information.

kratos's People

Contributors

adrmelendo avatar afranci avatar andreaswinterstein avatar antonialarese avatar dbaumgaertner avatar escolano avatar farrufat-cimne avatar guillermocasas avatar iiaconeta avatar ipouplana avatar jcotela avatar jginternational avatar jmora-git avatar joaquinirazabal avatar josep-m-carbonell avatar juliobarna avatar lluis-mv avatar lorenzogracia avatar loumalouomega avatar maceligueta avatar pablobecker avatar philbucher avatar pooyan-dadvand avatar riccardorossi avatar roigcarlo avatar rubenzorrilla avatar ryzhakov82 avatar salvalatorre avatar soudah avatar zaghistefano avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.