Skip to content

KMYsqHRK/MPS-Basic

 
 

Repository files navigation

MPS-Basic

Documentation Badge

Modernized Moving Particle Semi-implicit/Simulation method code written in C++.

Note

See Documentation for more information

Requirements

Execution

  • Git
  • cmake (newer than 3.9)
  • C++ 17 compiler
  • OpenMP 5.0 and above (optional)

Development

  • Doxygen and Graphviz (optional, for building documents)

Dependencies

Execution

Build

  1. Generate build system
    cmake -S . -B build
  2. Execute build
    cmake --build build

Execution

Windows

  1. Create output directory if not exist
    New-Item -ItemType Directory -Path result/dambreak -Force
  2. Remove old output files if exist
    Remove-Item -Path $outputDir/* -Force -Recurse
  3. Run simulation
    ./build/mps.exe --setting input/dambreak/settings.yml --output result/dambreak 2> result/dambreak/error.log | Tee-Object -FilePath "result/dambreak/console.log"

Linux/Mac

  1. Create output directory if not exist
    mkdir -p result/dambreak/
  2. Remove old output files if exist
    rm -rf result/dambreak/*
  3. Run simulation
    ./build/mps --setting input/dambreak/settings.yml --output result/dambreak 2> result/dambreak/error.log | tee result/dambreak/console.log

Checking Results

Result files will be written in result/dambreak/vtu/***.vtu. Open these files in ParaView to see the result.

Build documents

Note

Install dependencies as shown above for the first build

git submodule update --init doxygen-awesome-css
doxygen Doxyfile
  • You can see the documents in doxygen/html/index.html.
  • If you want PDF files, you can use make command in the doxygen/latex directory (LaTeX is required).

Support

Please ask the authors if you have any questions.

Contributing

Read CONTRIBUTING.md for details.

License

MIT License

Project status

This project is under development.

About

Modernized Moving Particle Semi-implicit/Simulation method code written in C++.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.8%
  • CMake 5.1%
  • Shell 1.2%
  • Other 1.9%