Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F91200230
pair_coul_streitz.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Nov 8, 22:09
Size
2 KB
Mime Type
text/x-c
Expires
Sun, Nov 10, 22:09 (1 d, 19 h)
Engine
blob
Format
Raw Data
Handle
22216595
Attached To
rLAMMPS lammps
pair_coul_streitz.h
View Options
/* ----------------------------------------------------------------------
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.
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS
PairStyle(coul/streitz,PairCoulStreitz)
#else
#ifndef LMP_PAIR_COUL_Streitz_H
#define LMP_PAIR_COUL_Streitz_H
#include "pair.h"
namespace LAMMPS_NS {
class PairCoulStreitz : public Pair {
public:
PairCoulStreitz(class LAMMPS *);
virtual ~PairCoulStreitz();
virtual void compute(int, int);
void settings(int, char **);
void coeff(int, char **);
void init_style();
double init_one(int, int);
double memory_usage();
virtual void *extract(const char *, int &);
protected:
struct Param {
double chi, eta, gamma, zeta, zcore;
int ielement;
};
int nmax;
int nelements; // # of unique elements
char **elements; // names of unique elements
int *elem2param; // mapping from element triplets to parameters
int *map; // mapping from atom types to elements
int nparams; // # of stored parameter sets
int maxparam; // max # of parameter sets
double precision;
Param *params; // parameter set for an I-J-K interaction
// Kspace parameters
int kspacetype;
double cut_coul, cut_coulsq;
double *cut_respa;
double **scale;
// Wolf
double g_wolf, woself, dwoself;
// Ewald
double g_ewald;
// QEq
double *qeq_x, *qeq_j, *qeq_g, *qeq_z, *qeq_c;
void allocate();
virtual void read_file(char *);
void setup();
double self(Param *, double);
void coulomb_integral_wolf(double, double, double, double &, double &,
double &, double &);
void wolf_sum(double, double, double, double, double, double, double,
double, double &, double &);
void coulomb_integral_ewald(double, double, double, double &, double &,
double &, double &);
void ewald_sum(double, double, double, double, double, double, double,
double, double &, double &, double);
};
}
#endif
#endif
/* ERROR/WARNING messages:
*/
Event Timeline
Log In to Comment