Apply override to Angle classes

This commit is contained in:
Richard Berger
2022-01-20 17:53:38 -05:00
parent d4ec931991
commit 4e89488f27
44 changed files with 225 additions and 226 deletions

View File

@ -27,15 +27,15 @@ namespace LAMMPS_NS {
class AngleSDK : public Angle {
public:
AngleSDK(class LAMMPS *);
virtual ~AngleSDK();
virtual void compute(int, int);
void coeff(int, char **);
void init_style();
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleSDK() override;
void compute(int, int) override;
void coeff(int, char **) override;
void init_style() override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *theta0;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleClass2 : public Angle {
public:
AngleClass2(class LAMMPS *);
virtual ~AngleClass2();
virtual void compute(int, int);
virtual void coeff(int, char **);
double equilibrium_angle(int);
virtual void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleClass2() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *theta0, *k2, *k3, *k4;

View File

@ -27,15 +27,15 @@ namespace LAMMPS_NS {
class AngleDipole : public Angle {
public:
AngleDipole(class LAMMPS *);
virtual ~AngleDipole();
virtual void compute(int, int);
virtual void init_style();
virtual void coeff(int, char **);
virtual double equilibrium_angle(int);
virtual void write_restart(FILE *);
virtual void read_restart(FILE *);
virtual void write_data(FILE *);
virtual double single(int, int, int, int);
~AngleDipole() override;
void compute(int, int) override;
void init_style() override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *gamma0;

View File

@ -27,8 +27,8 @@ namespace LAMMPS_NS {
class AngleCosineDelta : public AngleCosineSquared {
public:
AngleCosineDelta(class LAMMPS *);
virtual void compute(int, int);
double single(int, int, int, int);
void compute(int, int) override;
double single(int, int, int, int) override;
};
} // namespace LAMMPS_NS

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCosinePeriodic : public Angle {
public:
AngleCosinePeriodic(class LAMMPS *);
virtual ~AngleCosinePeriodic();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCosinePeriodic() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCosineShift : public Angle {
public:
AngleCosineShift(class LAMMPS *);
virtual ~AngleCosineShift();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCosineShift() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCosineShiftExp : public Angle {
public:
AngleCosineShiftExp(class LAMMPS *);
virtual ~AngleCosineShiftExp();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCosineShiftExp() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
bool *doExpansion;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleFourier : public Angle {
public:
AngleFourier(class LAMMPS *);
virtual ~AngleFourier();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
virtual double single(int, int, int, int);
~AngleFourier() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *C0, *C1, *C2;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleFourierSimple : public Angle {
public:
AngleFourierSimple(class LAMMPS *);
virtual ~AngleFourierSimple();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
virtual double single(int, int, int, int);
~AngleFourierSimple() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *C, *N;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleGaussian : public Angle {
public:
AngleGaussian(class LAMMPS *);
virtual ~AngleGaussian();
virtual void compute(int, int);
virtual void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
virtual void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleGaussian() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
int *nterms;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleQuartic : public Angle {
public:
AngleQuartic(class LAMMPS *);
virtual ~AngleQuartic();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleQuartic() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k2, *k3, *k4, *theta0;

View File

@ -33,9 +33,9 @@ namespace LAMMPS_NS {
class AngleCharmmIntel : public AngleCharmm {
public:
AngleCharmmIntel(class LAMMPS *);
virtual ~AngleCharmmIntel();
virtual void compute(int, int);
virtual void init_style();
~AngleCharmmIntel() override;
void compute(int, int) override;
void init_style() override;
protected:
FixIntel *fix;

View File

@ -33,9 +33,9 @@ namespace LAMMPS_NS {
class AngleHarmonicIntel : public AngleHarmonic {
public:
AngleHarmonicIntel(class LAMMPS *);
virtual ~AngleHarmonicIntel();
virtual void compute(int, int);
virtual void init_style();
~AngleHarmonicIntel() override;
void compute(int, int) override;
void init_style() override;
protected:
FixIntel *fix;

View File

@ -38,10 +38,10 @@ class AngleCharmmKokkos : public AngleCharmm {
typedef EV_FLOAT value_type;
AngleCharmmKokkos(class LAMMPS *);
virtual ~AngleCharmmKokkos();
void compute(int, int);
void coeff(int, char **);
void read_restart(FILE *);
~AngleCharmmKokkos() override;
void compute(int, int) override;
void coeff(int, char **) override;
void read_restart(FILE *) override;
template<int NEWTON_BOND, int EVFLAG>
KOKKOS_INLINE_FUNCTION
@ -82,7 +82,7 @@ class AngleCharmmKokkos : public AngleCharmm {
typename AT::t_ffloat_1d d_k_ub;
typename AT::t_ffloat_1d d_r_ub;
void allocate();
void allocate() override;
};
}

View File

@ -40,10 +40,10 @@ class AngleClass2Kokkos : public AngleClass2 {
typedef EV_FLOAT value_type;
AngleClass2Kokkos(class LAMMPS *);
virtual ~AngleClass2Kokkos();
void compute(int, int);
void coeff(int, char **);
void read_restart(FILE *);
~AngleClass2Kokkos() override;
void compute(int, int) override;
void coeff(int, char **) override;
void read_restart(FILE *) override;
template<int NEWTON_BOND, int EVFLAG>
KOKKOS_INLINE_FUNCTION

View File

@ -39,10 +39,10 @@ class AngleCosineKokkos : public AngleCosine {
typedef EV_FLOAT value_type;
AngleCosineKokkos(class LAMMPS *);
virtual ~AngleCosineKokkos();
void compute(int, int);
void coeff(int, char **);
void read_restart(FILE *);
~AngleCosineKokkos() override;
void compute(int, int) override;
void coeff(int, char **) override;
void read_restart(FILE *) override;
template<int NEWTON_BOND, int EVFLAG>
KOKKOS_INLINE_FUNCTION
@ -78,7 +78,7 @@ class AngleCosineKokkos : public AngleCosine {
typename ArrayTypes<DeviceType>::tdual_ffloat_1d k_k;
typename ArrayTypes<DeviceType>::t_ffloat_1d d_k;
void allocate();
void allocate() override;
};
}

View File

@ -39,10 +39,10 @@ class AngleHarmonicKokkos : public AngleHarmonic {
typedef EV_FLOAT value_type;
AngleHarmonicKokkos(class LAMMPS *);
virtual ~AngleHarmonicKokkos();
void compute(int, int);
void coeff(int, char **);
void read_restart(FILE *);
~AngleHarmonicKokkos() override;
void compute(int, int) override;
void coeff(int, char **) override;
void read_restart(FILE *) override;
template<int NEWTON_BOND, int EVFLAG>
KOKKOS_INLINE_FUNCTION
@ -81,7 +81,7 @@ class AngleHarmonicKokkos : public AngleHarmonic {
typename ArrayTypes<DeviceType>::t_ffloat_1d d_k;
typename ArrayTypes<DeviceType>::t_ffloat_1d d_theta0;
void allocate();
void allocate() override;
};
}

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleClass2P6 : public Angle {
public:
AngleClass2P6(class LAMMPS *);
virtual ~AngleClass2P6();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleClass2P6() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *theta0, *k2, *k3, *k4, *k5, *k6;

View File

@ -27,15 +27,15 @@ namespace LAMMPS_NS {
class AngleCosineBuck6d : public Angle {
public:
AngleCosineBuck6d(class LAMMPS *);
virtual ~AngleCosineBuck6d();
virtual void compute(int, int);
void coeff(int, char **);
void init_style();
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCosineBuck6d() override;
void compute(int, int) override;
void coeff(int, char **) override;
void init_style() override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *th0;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCharmm : public Angle {
public:
AngleCharmm(class LAMMPS *);
virtual ~AngleCharmm();
virtual void compute(int, int);
virtual void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
virtual void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCharmm() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *theta0, *k_ub, *r_ub;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCosine : public Angle {
public:
AngleCosine(class LAMMPS *);
virtual ~AngleCosine();
virtual void compute(int, int);
virtual void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
virtual void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCosine() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCosineSquared : public Angle {
public:
AngleCosineSquared(class LAMMPS *);
virtual ~AngleCosineSquared();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
virtual double single(int, int, int, int);
~AngleCosineSquared() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *theta0;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleHarmonic : public Angle {
public:
AngleHarmonic(class LAMMPS *);
virtual ~AngleHarmonic();
virtual void compute(int, int);
virtual void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
virtual void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleHarmonic() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *k, *theta0;

View File

@ -27,16 +27,16 @@ namespace LAMMPS_NS {
class AngleTable : public Angle {
public:
AngleTable(class LAMMPS *);
virtual ~AngleTable();
virtual void compute(int, int);
void settings(int, char **);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_restart_settings(FILE *);
void read_restart_settings(FILE *);
double single(int, int, int, int);
~AngleTable() override;
void compute(int, int) override;
void settings(int, char **) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_restart_settings(FILE *) override;
void read_restart_settings(FILE *) override;
double single(int, int, int, int) override;
protected:
int tabstyle, tablength;

View File

@ -33,7 +33,7 @@ class AngleCharmmOMP : public AngleCharmm, public ThrOMP {
public:
AngleCharmmOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleClass2OMP : public AngleClass2, public ThrOMP {
public:
AngleClass2OMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleCosineDeltaOMP : public AngleCosineDelta, public ThrOMP {
public:
AngleCosineDeltaOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleCosineOMP : public AngleCosine, public ThrOMP {
public:
AngleCosineOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleCosinePeriodicOMP : public AngleCosinePeriodic, public ThrOMP {
public:
AngleCosinePeriodicOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleCosineShiftExpOMP : public AngleCosineShiftExp, public ThrOMP {
public:
AngleCosineShiftExpOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleCosineShiftOMP : public AngleCosineShift, public ThrOMP {
public:
AngleCosineShiftOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleCosineSquaredOMP : public AngleCosineSquared, public ThrOMP {
public:
AngleCosineSquaredOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleDipoleOMP : public AngleDipole, public ThrOMP {
public:
AngleDipoleOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EFLAG> void eval(int ifrom, int ito, ThrData *const thr);

View File

@ -33,7 +33,7 @@ class AngleFourierOMP : public AngleFourier, public ThrOMP {
public:
AngleFourierOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleFourierSimpleOMP : public AngleFourierSimple, public ThrOMP {
public:
AngleFourierSimpleOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleHarmonicOMP : public AngleHarmonic, public ThrOMP {
public:
AngleHarmonicOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleQuarticOMP : public AngleQuartic, public ThrOMP {
public:
AngleQuarticOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleSDKOMP : public AngleSDK, public ThrOMP {
public:
AngleSDKOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -33,7 +33,7 @@ class AngleTableOMP : public AngleTable, public ThrOMP {
public:
AngleTableOMP(class LAMMPS *lmp);
virtual void compute(int, int);
void compute(int, int) override;
private:
template <int EVFLAG, int EFLAG, int NEWTON_BOND>

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleCross : public Angle {
public:
AngleCross(class LAMMPS *);
virtual ~AngleCross();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleCross() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *kss, *kbs0, *kbs1, *r00, *r01, *theta0;

View File

@ -27,14 +27,14 @@ namespace LAMMPS_NS {
class AngleMM3 : public Angle {
public:
AngleMM3(class LAMMPS *);
virtual ~AngleMM3();
virtual void compute(int, int);
void coeff(int, char **);
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
~AngleMM3() override;
void compute(int, int) override;
void coeff(int, char **) override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int) override;
protected:
double *theta0, *k2;

View File

@ -27,15 +27,14 @@ namespace LAMMPS_NS {
class AngleDeprecated : public Angle {
public:
AngleDeprecated(class LAMMPS *lmp) : Angle(lmp) {}
virtual ~AngleDeprecated() {}
virtual void compute(int, int) {}
virtual void settings(int, char **);
virtual void coeff(int, char **) {}
virtual double equilibrium_angle(int) { return 0.0; }
virtual void write_restart(FILE *) {}
virtual void read_restart(FILE *) {}
virtual double single(int, int, int, int) { return 0.0; }
void compute(int, int) override {}
void settings(int, char **) override;
void coeff(int, char **) override {}
double equilibrium_angle(int) override { return 0.0; }
void write_restart(FILE *) override {}
void read_restart(FILE *) override {}
double single(int, int, int, int) override { return 0.0; }
};
} // namespace LAMMPS_NS

View File

@ -31,16 +31,16 @@ class AngleHybrid : public Angle {
char **keywords; // keyword for each Angle style
AngleHybrid(class LAMMPS *);
~AngleHybrid();
void compute(int, int);
void settings(int, char **);
void coeff(int, char **);
void init_style();
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
double single(int, int, int, int);
double memory_usage();
~AngleHybrid() override;
void compute(int, int) override;
void settings(int, char **) override;
void coeff(int, char **) override;
void init_style() override;
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
double single(int, int, int, int) override;
double memory_usage() override;
private:
int *map; // which style each angle type points to

View File

@ -27,17 +27,17 @@ namespace LAMMPS_NS {
class AngleZero : public Angle {
public:
AngleZero(class LAMMPS *);
virtual ~AngleZero();
virtual void compute(int, int);
virtual void coeff(int, char **);
virtual void settings(int, char **);
~AngleZero() override;
void compute(int, int) override;
void coeff(int, char **) override;
void settings(int, char **) override;
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double equilibrium_angle(int) override;
void write_restart(FILE *) override;
void read_restart(FILE *) override;
void write_data(FILE *) override;
double single(int, int, int, int);
double single(int, int, int, int) override;
protected:
double *theta0;