GithubHelp home page GithubHelp logo

chenxizhaotum / sphinxsys-learning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xiangyu-hu/sphinxsys

1.0 0.0 0.0 253.24 MB

SPHinXsys (pronunciation: s'finksis) is an acronym from Smoothed Particle Hydrodynamics for industrial compleX systems. It provides C++ APIs for physical accurate simulation and aims to model coupled industrial dynamic systems including fluid, solid, multi-body dynamics and beyond with SPH (smoothed particle hydrodynamics), a meshless computational

Home Page: https://xiangyu-hu.github.io/SPHinXsys/

License: Apache License 2.0

C++ 89.63% Python 2.57% C 1.54% HTML 0.01% PostScript 2.54% CMake 3.56% Batchfile 0.02% Dockerfile 0.14%

sphinxsys-learning's Introduction

SPHinXsys Logo SPHinXsys

Notice on repository transfer to SPHinXsys team

In order to promoting open-source democratization, this repository will be transferred to the SPHinXsys team in the next few weeks. After the transfer, the decision-making process for SPHinXsys will be made by a number of project leaders from different institutions.

Project Status
License Linux Windows macOS ci workflow

Project Communication
Twitter YouTube Bilibili

Description

SPHinXsys (pronunciation: s'fink-sis) is an acronym from Smoothed Particle Hydrodynamics for industrial compleX systems. The multi-physics library uses SPH (smoothed particle hydrodynamics) as the underlying numerical method for both particle-based and mesh-based discretization. Due to the unified computational framework, SPHinXsys is able to carry out simulation and optimization at the same time. For more information on the SPHinXsys project, please check the project website: https://www.sphinxsys.org.

Examples at a glance

Using SPHinXsys library, straightforward and fast multi-physics modeling can be achieved. Here, we present several short examples in flow, solid dynamics, fluid structure interactions (FSI) and dynamic solid contact.

Fully compatible to classical FVM method

Through the unified computational framework in SPHinXsys, the algorithms for particle methods are full compatible to those in the classical finite volume method (FVM). The following gives an example of the flow around cylinder problem solved by FVM in SPHinXsys.

Note that the code for FVM algorithm is exact the same one for particle interaction in SPHinXsys. The only difference is that SPHinXsys reads a predefined mesh, other than generate particles, before the computation.

Target-driven optimization

The unique target-driven optimization is able to achieve the optimization target and physical solution all-in-once, which is able to accelerate optimization process greatly. The following gives an example of optimizing the conductivity distribution for a thermal domain problem targeting minimum average temperature.

Note that the physical solution of the thermal domain (right) and the optimal distribution of conductivity (left) are obtained at the same time when optimization is finished. Also note that the entire optimization process is very fast and only several times slower than that for a single physical solution with given conductivity distribution.

Python interface

While SPHinXsys is written in C++, it provides a python interface for users to write python scripts to control the simulation, including carry out regression tests for continuous integration (CI) and other tasks. One example is given below for the dambreak case. Please check the source code of 2D Dambreak case with python interface for the usage.

Heterogenous computing

Recently, we have a preview release for the heterogeneous computing version of SPHinXsys. By using SYCL, a royalty-free open standard developed by the Khronos Group that allows developers to program heterogeneous architectures in standard C++, SPHinXsys is able to utilize the power of GPU. Please check the Preview Release and the SYCL branch for details.

Publications

Main publication on the library:

  1. C. Zhang, M. Rezavand, Y. Zhu, Y. Yu, D. Wu, W. Zhang, J. Wang, X. Hu, "SPHinXsys: an open-source multi-physics and multi-resolution library based on smoothed particle hydrodynamics", Computer Physics Communications, 267, 108066, 2021.
    Main Publication

The numerical methods and computational algorithms in SPHinXsys are based on the following publications.

Software Architecture

SPHinXsys is cross-platform can be compiled and used in Windows, Linux and McOS systems.

Installation, tutorial and documentation

For installation, program manual and tutorials, please check https://www.sphinxsys.org/html/sphinx_index.html. Please check the documentation of the code at https://xiangyu-hu.github.io/SPHinXsys/. For a Docker image, check https://hub.docker.com/r/toshev/sphinxsys.

Get involved to SPHinXsys

Thank you for using and supporting our open-source project! We value all feedback and strive to improve our codebase continuously.

As the code is on git-hub, you can register an account there (if you do not have a github account yet) and fork out the SPHinXsys repository. You can work on the forked repository and add new features, and then commit them. You can also initiate a pull request to the main repository, so that your new features can be merged into it.

To ensure efficient and effective development, we prioritize addressing issues and pull requests from those who actively contribute to the project. Your contributions, whether through code, documentation, or other means, help us maintain and enhance the project for everyone. We encourage all users to consider contributing in any way they can. Together, we can build a better, more robust software.

You are also welcomed to join the main repository as a collaborator, by which you are able to branch directly in the main repository, and review the pull request.

If you have any further question, you are also welcomed to contact [email protected].

sphinxsys-learning's People

Contributors

alundilong avatar antonov548 avatar arturtoshev avatar bencevirtonomy avatar bo-zhang1995 avatar chenxizhaotum avatar chingenlin71 avatar chuvirtonomy avatar dongwutum avatar drchizhang avatar durganshu avatar fabienpean-virtonomy avatar franguuuu avatar johnvirtonomy avatar lisu-lisa avatar maiyetum95 avatar mrezavandvirtonomy avatar ncsalis avatar schrodingersalphago avatar shuaihao-zhang avatar shuoguozhangtum avatar spadaxsys-dev avatar sphyaru avatar weiyivirtonomy avatar xiangyu-hu avatar xiaojingtang1234 avatar yashmandaokar avatar yuanjiajy avatar yyc84 avatar zhentongwang avatar

Stargazers

 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.