35 void force(
long N,
const double *R,
const int *atomicNrs,
double *F,
36 double *U,
double *variance,
const double *fullbox)
override;
60 std::array<double, 3>
rc_;
62 void calc_force(
long N,
double *R,
const int *atomicNrs,
double *F,
double *U,
64 void new_celllist(
long N,
const double *box,
long *num_axis,
65 long *cell_length,
long *celllist_new,
long num_cells,
68 long *cell_length,
long *celllist_new,
71 long *cell_length,
long *celllist_old,
double *Rnew);
int update_cell_list(long N, long num_cells, long *num_axis, long *cell_length, long *celllist_old, double *Rnew)
std::vector< long > neigh_list_
void cell_to_neighbor(long N, long num_of_cells, long *num_axis, long *cell_length, long *celllist_new, long *neigh_list)
void calc_force(long N, double *R, const int *atomicNrs, double *F, double *U, const double *box)
element_parameters get_element_parameters(int atomic_number)
std::vector< long > celllist_old_
void new_celllist(long N, const double *box, long *num_axis, long *cell_length, long *celllist_new, long num_cells, double *Rnew)
std::array< double, 3 > rc_
EAM(const eonc::Parameters ¶ms)
static double embedding_force(const double *func_coeff, double rho)
bool isSharedInstanceThreadSafe() const noexcept override
Cell lists live on the instance; two threads cannot share one EAM.
void force(long N, const double *R, const int *atomicNrs, double *F, double *U, double *variance, const double *fullbox) override
static const element_parameters el_params[]
static double embedding_function(const double *func_coeff, double rho)
std::vector< long > celllist_new_
Potential(PotType a_ptype)
Production default: construction-scope registry, else PotRegistry::get().
RAII resource manager for the ARTn C library with global synchronization.
const double func_coeff[9]