Page MenuHomec4science

pair_neuronet.h
No OneTemporary

File Metadata

Created
Sat, Nov 9, 15:49

pair_neuronet.h

/* -*- 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.
This file is written by Till Junge <till.junge@epfl.ch>
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS
PairStyle(neuronet,PairNeuroNet)
#else
#ifndef LMP_PAIR_NEURO_NET_H
#define LMP_PAIR_NEURO_NET_H
#include "pair.h"
#include <vector>
namespace LAMMPS_NS {
class PairNeuroNet : public Pair {
public:
PairNeuroNet(class LAMMPS *);
virtual ~PairNeuroNet();
virtual void compute(int, int);
void settings(int, char **);
void coeff(int, char **);
void init_style();
double init_one(int, int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_restart_settings(FILE *);
void read_restart_settings(FILE *);
protected:
// weight parameters (indices: nb of hidden layers, layer)
// weights for one hidden layer
std::vector<double> wgt11; // row is hidden id, column is input id
std::vector<double> wgt12;
// weights for two hidden layers
std::vector<double> wgt21;
std::vector<double> wgt22;
std::vector<double> wgt23;
// size values
int nl; //number of layers
int nsp; // number of species
std::vector<int> nhl; // number of nodes per hidden layer
std::vector<int> itype; // array of symmetry function ids
// contains beginnings and ends of symmetry function id to consider for each species pair: iaddr2(i, j, k) i: 1 for start, 2 for end; j, k pair of species
std::vector<int> iaddr2; // for 2-body potential
std::vector<int> iaddr3; // for 3-body potential
// parameters of the symmetry functions
// eta = cnst(1, isf) // isf is symmetry function id
// alpha = cnst(2, isf)
std::vector<double> cnst;
// cutoff radii for 2 and 3 body potentials
double rcin, rc3;
// nb of parameters per symmetry function type
int ncnst_type[200];
// n in n-body potential per symmetry function type
int ncomb_type[200];
static const int nlmax;
static const int max_ncnst;
};
}
#endif
#endif

Event Timeline