Files
lammps/src/atom_masks.h
2020-09-29 08:06:41 -06:00

108 lines
2.9 KiB
C++

/* -*- c++ -*- ----------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#ifndef LMP_ATOM_MASK_H
#define LMP_ATOM_MASK_H
// per-atom data masks
#define EMPTY_MASK 0x00000000
#define ALL_MASK 0xffffffff
#define SAMETAG_MASK 0x40000000
#define EXTENDED_MASK 0x80000000
// standard
#define X_MASK 0x00000001
#define V_MASK 0x00000002
#define F_MASK 0x00000004
#define TAG_MASK 0x00000008
#define TYPE_MASK 0x00000010
#define MASK_MASK 0x00000020
#define IMAGE_MASK 0x00000040
#define Q_MASK 0x00000080
#define MOLECULE_MASK 0x00000100
#define RMASS_MASK 0x00000200
#define BOND_MASK 0x00000400
#define ANGLE_MASK 0x00000800
#define DIHEDRAL_MASK 0x00001000
#define IMPROPER_MASK 0x00002000
#define SPECIAL_MASK 0x00004000
#define MAP_MASK 0x00008000
#define ENERGY_MASK 0x00010000
#define VIRIAL_MASK 0x00020000
// SPIN
#define SP_MASK 0x00000001
#define FM_MASK 0x00000002
#define FML_MASK 0x00000004
// DPD
#define DPDRHO_MASK 0x00040000
#define DPDTHETA_MASK 0x00080000
#define UCOND_MASK 0x00100000
#define UMECH_MASK 0x00200000
#define UCHEM_MASK 0x00400000
#define UCG_MASK 0x00800000
#define UCGNEW_MASK 0x01000000
#define DUCHEM_MASK 0x02000000
#define DVECTOR_MASK 0x04000000
// granular
#define RADIUS_MASK 0x00100000
#define DENSITY_MASK 0x00200000
#define OMEGA_MASK 0x00400000
#define TORQUE_MASK 0x00800000
#define ANGMOM_MASK 0x01000000
#define GRANULAR_MASK 0x01f00000
// peridynamics
#define VFRAC_MASK 0x00000001
#define S0_MASK 0x00000002
#define X0_MASK 0x00000004
#define PERI_MASK 0x00000007
#define ELLIPSOID_MASK 0x00000008
#define LINE_MASK 0x00000010
#define TRI_MASK 0x00000020
// electron
#define SPIN_MASK 0x00000100
#define ERADIUS_MASK 0x00000200
#define ERVEL_MASK 0x00000400
#define ERFORCE_MASK 0x00000800
#define ERVELFORCE_MASK 0x00001000
#define CS_MASK 0x00002000
#define CSFORCE_MASK 0x00004000
#define VFORCE_MASK 0x00008000
#define ELECTRON_MASK 0x0000ff00
// SPH
#define ETAG_MASK 0x00010000
#define RHO_MASK 0x00020000
#define DRHO_MASK 0x00040000
#define E_MASK 0x00080000
#define DE_MASK 0x00100000
#define VEST_MASK 0x00200000
#define CV_MASK 0x00400000
#endif