Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F81494164
bond.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, Sep 6, 09:02
Size
2 KB
Mime Type
text/x-c
Expires
Sun, Sep 8, 09:02 (2 d)
Engine
blob
Format
Raw Data
Handle
20584827
Attached To
rLAMMPS lammps
bond.h
View Options
/* -*- 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_BOND_H
#define LMP_BOND_H
#include <stdio.h>
#include "pointers.h"
namespace LAMMPS_NS {
class Bond : protected Pointers {
friend class ThrOMP;
friend class FixOMP;
public:
int allocated;
int *setflag;
int writedata; // 1 if writes coeffs to data file
double energy; // accumulated energies
double virial[6]; // accumulated virial
double *eatom,**vatom; // accumulated per-atom energy/virial
int reinitflag; // 1 if compatible with fix adapt and alike
// KOKKOS host/device flag and data masks
ExecutionSpace execution_space;
unsigned int datamask_read,datamask_modify;
int copymode;
Bond(class LAMMPS *);
virtual ~Bond();
virtual void init();
virtual void init_style() {}
virtual void compute(int, int) = 0;
virtual void settings(int, char **) {}
virtual void coeff(int, char **) = 0;
virtual double equilibrium_distance(int) = 0;
virtual void write_restart(FILE *) = 0;
virtual void read_restart(FILE *) = 0;
virtual void write_data(FILE *) {}
virtual double single(int, double, int, int, double &) = 0;
virtual double memory_usage();
virtual void *extract(char *, int &) {return NULL;}
virtual void reinit();
void write_file(int, char**);
protected:
int suffix_flag; // suffix compatibility flag
int evflag;
int eflag_either,eflag_global,eflag_atom;
int vflag_either,vflag_global,vflag_atom;
int maxeatom,maxvatom;
void ev_setup(int, int, int alloc = 1);
void ev_tally(int, int, int, int, double, double, double, double, double);
};
}
#endif
/* ERROR/WARNING messages:
E: Bond coeffs are not set
No bond coefficients have been assigned in the data file or via the
bond_coeff command.
E: All bond coeffs are not set
All bond coefficients must be set in the data file or by the
bond_coeff command before running a simulation.
*/
Event Timeline
Log In to Comment