/* ---------------------------------------------------------------------- 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. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Energy flux (It's not a heat flux!) J^{beta} = sum_i e_i*(v_i)^{beta} + sum_{i>j} (x_i-x_j)^{beta}*sum_{alpha} (F^{alpha}_{ij}*(v_i+v_j)^{alpha}) where i,j - atomic indexes, {alpha},{beta}={x,y,z} ------------------------------------------------------------------------- */ #ifndef COMPUTE_HF_H #define COMPUTE_HF_H #include "compute.h" namespace LAMMPS_NS { class ComputeHF : public Compute { public: ComputeHF(class LAMMPS *, int, char **); ~ComputeHF(); void init(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); void init_list(int, class NeighList *); double memory_usage(); double compute_scalar(); void compute_vector(); private: int nmax; double *ene; int pairflag,bondflag,angleflag,dihedralflag,improperflag; double **cutsq; class Pair *pair; class NeighList *list; void heatflux(); }; } #endif