GithubHelp home page GithubHelp logo

shiba-h / usermeso-2.0 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anselgitaccount/usermeso-2.0

0.0 0.0 0.0 45.12 MB

fix suggestion (for NVIDIA GPUs newer than A100)

License: GNU General Public License v3.0

Shell 0.17% C++ 87.55% Python 0.33% C 1.12% Cuda 10.73% Makefile 0.10%

usermeso-2.0's Introduction

userMESO 2.0

userMESO 2.0 is an updated version of userMESO, which is a GPU-accelerated extension package to LAMMPS.

userMESO (https://github.com/yhtang/MESOwas) was developed by Yu-Hang Tang to simulate molecular dynamics, classic dissipative particle dynamics, and smoothed particle dynamics. It integrates several algorithmic innovations that take advantage of CUDA devices:

  • An atomic-free warp-synchronous neighbor list construction algorithm;
  • A 2-level particle reordering scheme, which aligns with the cell list lattice boundaries for generating strictly monotonic neighbor list;
  • A locally transposed neighbor list;
  • Redesigned non-branching transcendental functions ($\sin$, $\cos$, pow, $\log$, $\exp$, etc.);
  • An overlapped pairwise force evaluation and halo exchange using CUDA streams for hiding the communication and the kernel launch latency;
  • Radix sorting with GPU stream support;
  • Pairwise random number generation based on per-timestep binary particle signatures and the prepriority Tiny Encryption Algorithm.

As an upgrade version, userMESO 2.0 injects new capabilities into userMESO . Now it is possible to simulate advection, diffusion, and reaction processes with dissipative particle dynamics (tDPD). Another major upgrade is the ability to simulate red blood cells. Combining tDPD and the red blood cell model, the simulation of the chemical-releasing process from the red blood cells becomes realizable.

The details regarding code implementation can be found at https://arxiv.org/abs/1611.06163

Compilation Guide

cd <working_copy>/src

make yes-molecule

make yes-user-meso

make meso ARCH=[sm_30|sm_35|sm_52|sm_60|...]

Running a simple example

Simulation of a red blood cell in fluid.

cd <working_copy>/exmaple/simple

../../src/lmp_meso -in tDPD_RBC_spec1_Single_GPU.in

Single-node benchmark

Benchmark of RBC suspension in a single node. The simulations of different system volumes are timed.

cd <working_copy>/example/single_node_benchmark

./run_file.sh

Example Simulation Visualization

Chemical-release of Red Blood Cells in a Microfluidic Device

File Description

In addition to the source files in userMESO (program summary URL: http://cpc.cs.qub.ac.uk/summaries/AETN_v1_0.html), the following source files are included in userMESO 2.0 package.

Transport dissipative particle dynamics

The files in this section are essential to the simulation of transport dissipative particle dynamics. atom_vec_tdpd_atomic_meso.cu/.h

These files contain the tdpd class declaration and implementation.

pair_tdpd_meso.cu/.h

These files compute the pairwise interactions which includes forces and concentration fluxes.

fix_nve_tdpd_meso.cu/.h

These files performs constant energy and volume integration to update position, velocity, and concentration for atoms in each timestep.

Red blood cell computation

The files in this section are solely needed to compute red blood cell dynamics. atom_vec_tdpd_rbc_meso.cu/.h

These files contain the tdpd class declaration and implementation that are specifically designed for red blood cells.

angle_area_volume_meso.cu/.h

These files compute the angle term in the red blood cell model.

bond_wlc_pow_all_visc_meso.cu/.h

These files compute the bond term in the red blood cell model.

dihedral_bend_meso.cu/.h

These files compute the dihedral term in the red blood cell model.

Auxiliary

compute_concent_tdpd_meso.ch/.h

These files sum the concentration of each species over all particles.

dump_tdpd_meso.cu/.h

These files prints the coordinates and concentrations to an output file.

fix_addconf_tdpd_meso.cu/.h

These files increases the concentration by a constant.

fix_resetconc_tdpd_meso.cu/.h

These files reset the concentration to a value.

usermeso-2.0's People

Contributors

anselgitaccount avatar shiba-h 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.