#ifdef FIX_CLASS
FixStyle(atc,FixATC)
#else
#ifndef FIX_ATC_H
#define FIX_ATC_H
#include "fix.h"
#include "pointers.h"
namespace ATC {
class ATC_Method;
}
namespace LAMMPS_NS {
class NeighList;
class FixATC : public Fix {
public:
FixATC(class LAMMPS *, int, char **);
~FixATC();
void init();
void init_list(int id, NeighList *ptr) ;
void setup(int vflag);
void min_setup(int vflag);
int setmask();
void initial_integrate(int vflag);
void post_integrate();
void final_integrate();
void end_of_step();
void setup_pre_exchange();
void pre_exchange();
void min_pre_exchange();
double memory_usage();
void grow_arrays(int);
void copy_arrays(int, int, int);
int pack_exchange(int, double *);
int unpack_exchange(int, double *);
int pack_forward_comm(int , int *, double *, int, int *);
void unpack_forward_comm(int, int, double *);
void pre_neighbor();
void setup_pre_neighbor();
void pre_force(int vflag);
void post_force(int vflag);
void post_run();
void min_pre_force(int vflag);
void min_post_force(int vflag);
int modify_param(int narg, char** arg);
int pack_restart(int, double *);
void unpack_restart(int, int);
int size_restart(int);
int maxsize_restart();
void write_restart(FILE *);
void restart(char *);
const ATC::ATC_Method* atc() { return atc_; }
protected:
LAMMPS * lammps_;
virtual double compute_scalar() ;
virtual double compute_vector(int n) ;
virtual double compute_array(int irow, int icol) ;
double dtv,dtf;
ATC::ATC_Method *atc_;
};
}
#endif
#endif