Page MenuHomec4science

fix_tune_kspace.h
No OneTemporary

File Metadata

Created
Thu, Jul 4, 20:55

fix_tune_kspace.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.
------------------------------------------------------------------------- */
#ifdef FIX_CLASS
FixStyle(tune/kspace,FixTuneKspace)
#else
#ifndef LMP_FIX_TUNE_KSPACE_H
#define LMP_FIX_TUNE_KSPACE_H
#include <stdio.h>
#include "fix.h"
namespace LAMMPS_NS {
class FixTuneKspace : public Fix {
public:
FixTuneKspace(class LAMMPS *, int, char **);
~FixTuneKspace() {}
int setmask();
void init();
void pre_exchange();
double get_timing_info();
void store_old_kspace_settings();
void update_pair_style(char *, double);
void update_kspace_style(char *, char *);
void adjust_rcut(double);
void mnbrak();
void brent0();
void brent1();
void brent2();
private:
int nevery;
int last_step; // previous timestep when timing info was collected
double last_spcpu; // old elapsed CPU time value
int firststep; // 0 if this is the first time timing info is collected
int niter; // number of kspace switches
double ewald_time,pppm_time,msm_time;
double pair_cut_coul;
char new_acc_str[12];
char new_kspace_style[20];
char new_pair_style[20];
char base_pair_style[20];
int old_differentiation_flag;
int old_slabflag;
double old_slab_volfactor;
int niter_adjust_rcut;
double ax_brent,bx_brent,cx_brent,dx_brent;
double fa_brent,fb_brent,fc_brent,fd_brent;
double v_brent,w_brent,x_brent;
double fv_brent,fw_brent,fx_brent;
double a_brent,b_brent;
double fd2_brent;
double dxlim;
bool keep_bracketing,first_brent_pass;
bool converged,need_fd2_brent;
inline void shft3(double &a, double &b, double &c, const double d)
{
a=b;
b=c;
c=d;
}
};
}
#endif
#endif
/* ERROR/WARNING messages:
E: Illegal ... command
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Cannot use fix tune/kspace without a kspace style
Self-explanatory.
E: Cannot use fix tune/kspace without a pair style
This fix (tune/kspace) can only be used when a pair style has been specified.
E: Bad real space Coulomb cutoff in fix tune/kspace
Fix tune/kspace tried to find the optimal real space Coulomb cutoff using
the Newton-Rhaphson method, but found a non-positive or NaN cutoff
*/

Event Timeline