Coder Social home page Coder Social logo

hijiker / hamers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mlwong/hamers

0.0 2.0 0.0 21.65 MB

Hydrodynamics Adaptive Mesh Refinement Simulator

Home Page: https://fpal.stanford.edu/hamers

License: GNU Lesser General Public License v3.0

CMake 0.21% C++ 99.21% Fortran 0.38% M4 0.19% Shell 0.01%

hamers's Introduction

HAMeRS: Hydrodynamics Adaptive Mesh Refinement Simulator

Build Status

HAMeRS is a compressible Navier-Stokes/Euler solver with the patch-based adaptive mesh refinement (AMR) technique. The parallelization of the code and all the construction, management and storage of cells are facilitated by the Structured Adaptive Mesh Refinement Application Infrastructure (SAMRAI) from the Lawrence Livermore National Laboratory (LLNL).

The code consists of various explicit high-order finite difference shock-capturing WCNS's (Weighted Compact Nonlinear Schemes) for capturing shock waves, material interfaces, and turbulent features. The AMR algorithm implemented is based on the one developed by Berger et al.

How do I get set up?

Git is used for the version control of the code. To install Git on Debian-based distribution like Ubuntu, try apt-get:

sudo apt-get install git-all

To compile the code, in general all you need is to use CMake. For example, after cloning the repository with git clone:

cd HAMeRS
mkdir build
cd build
cmake ..
make

To run the code, you need to provide the input file:

src/exec/main <input filename>

To restart a simulation, you need to provide restart directory and restore number in addition to the input file:

src/exec/main <input filename> <restart dir> <restore number>

To run the code in parallel, you need MPI. You can try mpirun:

mpirun -np <number of processors> src/exec/main <input filename>

What libraries do I need?

HAMeRS relies on HDF5, Boost and SAMRAI. Before installing HAMeRS, it is required to set up the environmental variables for CMake to look for the locations of the libraries.

To set up HDF5:

export HDF5_ROOT=<path to the directory of HDF5>

To set up Boost:

export BOOST_ROOT=<path to the directory of Boost>

To set up SAMRAI:

export SAMRAI_ROOT=<path to the directory of SAMRAI>

HAMeRS has already been successfully tested with HDF5-1.8, Boost-1.60 and SAMRAI-3.11.2.

How do I change the problem?

To change the problem that you want to run for an application, e.g. the Euler application, just simply link the corresponding initial conditions cpp symlink (EulerInitialConditions.cpp in src/apps/Euler) to the actual problem file using ln -sf <absolute path to .cpp file containing problem's initial conditions> EulerInitialConditions.cpp. If the problem has special boundary conditions, the user can supply the boundary conditions with ln -sf <absolute path to .cpp file containing problem's user-coded boundary conditions> EulerSpecialBoundaryConditions.cpp. There are some initial conditions and boundary conditions files from different example problems in the problems folder.

Who do I talk to?

The code is managed by Man-Long Wong ([email protected]) of the Flow Physics and Aeroacoustics Laboratory (FPAL) at the Department of Aeronautics and Astronautics of Stanford University.

Copyright

HAMeRS is licensed under a GNU Lesser General Public License v3.0.

hamers's People

Contributors

mlwong avatar

Watchers

 avatar  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.