Skip to content

slitvinov/lammps-sph-multiphase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Installation

For the general installation instruction please refer to the documentation of LAMMPS and to SPH-USER package:

Installation examples

Ubuntu 12.04.5 LTS (Precise Pangolin)

  • Install libraries
sudo apt-get install git
sudo apt-get install openmpi-dev
sudo apt-get install openmpi-bin
sudo apt-get install libjpeg-dev
  • Clone the repository
git clone https://github.com/slitvinov/lammps-sph-multiphase.git lammps-sph
  • Build the package
cd lammps-sph/src
make yes-USER-SPH
make linux CC=mpicc LINK=mpicc CCFLAGS='-O2 -g' FFT_LIB=-lm

Ubuntu 14.04.1 LTS (Trusty Tahr)

  • Install libraries
sudo apt-get install git
sudo apt-get install g++
sudo apt-get install openmpi-bin
sudo apt-get install libopenmpi-dev
  • Install libjpeg from source
wget https://www.ijg.org/files/
tar zxvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=${HOME}/prefix-jpeg-9a
make install
cd ..
  • Clone the repository
git clone https://github.com/slitvinov/lammps-sph-multiphase.git lammps-sph
  • Build the package
cd lammps-sph/src
make yes-USER-SPH
make linux CC=mpic++ LINK=mpic++ CCFLAGS="-O2 -g -I${HOME}/prefix-jpeg-9a/include" FFT_LIB=-lm LINKFLAGS="-O -L${HOME}/prefix-jpeg-9a/lib" MPI_LIB=

CentOS Linux 6.5

  • Install libraries
sudo yum install git
sudo yum install mpich2-devel
sudo yum install gcc-c++
sudo yum install libjpeg-devel
  • Clone the repository
git clone https://github.com/slitvinov/lammps-sph-multiphase.git lammps-sph
  • Build the package
cd lammps-sph/src
make yes-USER-SPH
make linux CC=mpicc LINK=mpicc CCFLAGS='-O2 -g' FFT_LIB=-lm MPI_LIB=

Debian Wheezy 7.5 x64

  • Install libraries
sudo apt-get install mpich2
sudo apt-get install libjpeg8-dev
  • Clone the repository
git clone https://github.com/slitvinov/lammps-sph-multiphase.git lammps-sph
  • Build the package
cd lammps-sph/src
make yes-USER-SPH
make linux CC=mpicc LINK=mpicc CCFLAGS='-O2 -g' FFT_LIB=-lm MPI_LIB=

Installation using src/Make.py

cd    src
mkdir -p MAKE/MINE
python Make.py -o linux  -v -p user-sph  -cc mpi -fft none -jpg no -a file mpi

Implementation

We add the following extension to USER-SPH package:

atom_style meso/multiphase

This is data structures which provides

  • position
  • velocity
  • extrapolated velocity (vest)
  • forces
  • SPH density (rho)
  • time derivative of SPH density (drho)
  • internal energy per particle (e)
  • time derivative of internal energy per particle (de)
  • color gradient vector (colorgradient)
  • per-particle heat capacity (cv)

This data structure can be activated by

atom_style meso/multiphase

pair_sph_colorgradient

A pair_style to calculate a color gradient

pair_style         sph/colorgradient
pair_coeff         I J     ${h} ${alpha}

Here, I and J are the types of SPH particles for which a color gradient is calculated, alpha is a surface tension coefficient, h is a cutoff.

pair_sph_surfacetension

A pair_style to calculate surface tension

pair_coeff         I J     sph/surfacetension ${h}

Here, I and J are the types of SPH particles for which a surface tension is calculated, h is a cutoff. Note that surface tension coefficient is included into color gradient.

pair_sph_heatconduction_phasechange