Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F85882460
min_cg.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
Wed, Oct 2, 18:23
Size
1 KB
Mime Type
text/x-c
Expires
Fri, Oct 4, 18:23 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
21286999
Attached To
rLAMMPS lammps
min_cg.h
View Options
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
www.cs.sandia.gov/~sjplimp/lammps.html
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
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 MIN_CG_H
#define MIN_CG_H
#include "min.h"
class MinCG : public Min {
public:
MinCG() {}
virtual ~MinCG() {}
void init();
void run();
virtual void iterate(int);
protected:
int virial_thermo; // what vflag should be on thermo steps (1,2)
int pairflag,torqueflag,granflag;
int neigh_every,neigh_delay,neigh_dist_check; // copies of reneigh criteria
int maxpair; // copies of Update quantities
double **f_pair;
int ifix_minimize; // fix that stores gradient vecs
double ecurrent; // current potential energy
double mindist,maxdist; // min/max dist for any coord delta in line search
int ndof; // # of degrees-of-freedom on this proc
double *g,*h; // local portion of gradient, searchdir vectors
typedef int (MinCG::*FnPtr)(int, double *, double *, double,
double, double, double &, int &);
FnPtr linemin; // ptr to linemin functions
int linemin_scan(int, double *, double *, double,
double, double, double &, int &);
int linemin_secant(int, double *, double *, double,
double, double, double &, int &);
void setup();
void setup_vectors();
void eng_force(int *, double **, double **, double *);
void force_clear(int);
};
#endif
Event Timeline
Log In to Comment