Ignore:
Timestamp:
Jul 23, 2009, 11:23:59 AM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
59a745
Parents:
09f4dc (diff), 14178b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'Thermostat'

Conflicts:

.gitignore
Makefile.am
molecuilder/src/analyzer.cpp
molecuilder/src/builder.cpp
molecuilder/src/config.cpp
molecuilder/src/moleculelist.cpp
molecuilder/src/molecules.cpp
molecuilder/src/molecules.hpp

  • config::SaveMPQC() has different call parameters
  • analyzer and joiner had conflicts due to Chi and ChiPAS values
  • molecule::VerletForceIntegration() is slightly different too, but Thermostat supposedly is old version
File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/molecules.hpp

    r09f4dc r3b470f  
    1010
    1111// GSL headers
     12#include <gsl/gsl_eigen.h>
     13#include <gsl/gsl_heapsort.h>
     14#include <gsl/gsl_linalg.h>
     15#include <gsl/gsl_matrix.h>
    1216#include <gsl/gsl_multimin.h>
    1317#include <gsl/gsl_vector.h>
    14 #include <gsl/gsl_matrix.h>
    15 #include <gsl/gsl_eigen.h>
    16 #include <gsl/gsl_heapsort.h>
     18#include <gsl/gsl_randist.h>
    1719
    1820// STL headers
     
    152154};
    153155
    154 ostream & operator << (ostream &ost, atom &a);
     156ostream & operator << (ostream &ost, const atom &a);
    155157
    156158/** Bonds between atoms.
     
    191193};
    192194
    193 ostream & operator << (ostream &ost, bond &b);
     195
     196ostream & operator << (ostream &ost, const bond &b);
    194197
    195198class MoleculeLeafClass;
     199
     200
     201#define MaxThermostats 6      //!< maximum number of thermostat entries in Ions#ThermostatNames and Ions#ThermostatImplemented
     202enum thermostats { None, Woodcock, Gaussian, Langevin, Berendsen, NoseHoover };   //!< Thermostat names for output
     203
    196204
    197205/** The complete molecule.
     
    259267        void PrincipalAxisSystem(ofstream *out, bool DoRotate);
    260268        double VolumeOfConvexEnvelope(ofstream *out, bool IsAngstroem);
    261         bool VerletForceIntegration(char *file, double delta_t, bool IsAngstroem);
    262 
     269       
     270  bool VerletForceIntegration(ofstream *out, char *file, config &configuration);
     271  void Thermostats(config &configuration, double ActualTemp, int Thermostat);
     272
     273  double ConstrainedPotential(ofstream *out, atom **permutation, int start, int end, double *constants, bool IsAngstroem);
     274  double MinimiseConstrainedPotential(ofstream *out, atom **&permutation, int startstep, int endstep, bool IsAngstroem);
     275  void EvaluateConstrainedForces(ofstream *out, int startstep, int endstep, atom **PermutationMap, ForceMatrix *Force);
     276  bool LinearInterpolationBetweenConfiguration(ofstream *out, int startstep, int endstep, const char *prefix, config &configuration);
     277       
    263278  bool CheckBounds(const Vector *x) const;
    264279  void GetAlignvector(struct lsq_params * par) const;
     
    339354  bool AddHydrogenCorrection(ofstream *out, char *path);
    340355  bool StoreForcesFile(ofstream *out, char *path, int *SortIndex);
    341   bool OutputConfigForListOfFragments(ofstream *out, config *configuration, int *SortIndex);
     356  bool OutputConfigForListOfFragments(ofstream *out, const char *fragmentprefix, config *configuration, int *SortIndex, bool DoPeriodic, bool DoCentering);
    342357  void Output(ofstream *out);
    343358
     
    389404    string basis;
    390405
     406    int DoConstrainedMD;
     407    int MaxOuterStep;
     408    int Thermostat;
     409    int *ThermostatImplemented;
     410    char **ThermostatNames;
     411    double TempFrequency;
     412    double alpha;
     413    double HooverMass;
     414    double TargetTemp;
     415    int ScaleTempStep;
     416   
    391417    private:
    392418    char *mainname;
     
    409435    int Seed;
    410436
    411     int MaxOuterStep;
    412437    int OutVisStep;
    413438    int OutSrcStep;
    414     double TargetTemp;
    415     int ScaleTempStep;
    416439    int MaxPsiStep;
    417440    double EpsWannier;
     
    460483  char *GetDefaultPath() const;
    461484  void SetDefaultPath(const char *path);
     485  void InitThermostats(ifstream *source);
    462486};
    463487
Note: See TracChangeset for help on using the changeset viewer.