SSAGES  0.1
A MetaDynamics Package
Classes | Typedefs | Enumerations | Functions
SSAGES Namespace Reference

Classes

class  ABF
 Adaptive Biasing Force Algorithm. More...
 
class  AlphaRMSDCV
 Collective variable to measure alpha helix secondary structure. More...
 
class  AngleCV
 Collective variable to calculate angle. More...
 
class  ANN
 
class  AntiBetaRMSDCV
 Collective variable to measure antiparallel beta secondary structure. More...
 
class  BasisEvaluator
 
class  BasisFunction
 
struct  BasisLUT
 Look-up table for basis functions. More...
 
class  BFS
 Basis Function Sampling Algorithm. More...
 
class  BoxVolumeCV
 Collective variable on the volume of a box. More...
 
class  BuildException
 Exception to be thrown when building the Driver fails. More...
 
class  Chebyshev
 
class  CollectiveVariable
 Abstract class for a collective variable. More...
 
class  Constraint
 Interface for Constraint implementations. More...
 
class  COPSS
 Wrapper class for COPSS simulations. More...
 
class  COPSSImage
 Image method. More...
 
class  CVManager
 Collective variable manager. More...
 
class  DirectForwardFlux
 ForwardFlux sampling method. More...
 
class  ElasticBand
 Multi-walker Elastic Band. More...
 
class  EventListener
 Base abstract class for listening in to events fired by "Hook". More...
 
class  FiniteTempString
 Finite Temperature Spring Method. More...
 
class  ForwardFlux
 ForwardFlux sampling method. More...
 
class  Fourier
 
class  GaussianPK
 Gaussian Function. More...
 
class  Grid
 Basic Grid. More...
 
class  GridBase
 Base class for Grids. More...
 
class  GyrationTensorCV
 Collective variable on components of the gyration tensor. More...
 
struct  Hill
 Multidimensional hill. More...
 
class  Histogram
 Basic Histogram. More...
 
class  Hook
 Base class for hooks into the simultion engines. More...
 
class  IncludePlugin
 Class for JSON loader include plugin. More...
 
class  JSONLoader
 Class for loading JSON content from files. More...
 
class  JSONLoaderPlugin
 Abstract class for JSON loader plugins. More...
 
class  Legendre
 
class  Logger
 Base class for logging SSAGES data. More...
 
struct  Map
 Map for histogram and coefficients. More...
 
class  Meta
 "Vanilla" multi-dimensional Metadynamics. More...
 
class  Method
 Interface for Method implementations. More...
 
class  MockCV
 Mock collective variable for testing purposes. More...
 
class  PairwiseCV
 Generalized collective variable based on pairwise properties of atoms. More...
 
class  PairwiseKernel
 Pairwise kernel base class. More...
 
class  ParallelBetaRMSDCV
 Collective variable to measure parallel beta sheet secondary structure. More...
 
class  ParticleCoordinateCV
 Collective variable on a particle coordinate. More...
 
class  ParticlePositionCV
 Collective variable on an particle position. More...
 
class  ParticleSeparationCV
 Collective variable on the distance between two particles' centers of mass. More...
 
class  RationalSwitchPK
 Rational Switching Function. More...
 
class  ReadBackbone
 Utility class to read protein backbone atoms from a reference file. More...
 
class  ReadFile
 Utility class to read file. More...
 
class  ResourceHandler
 Class that handles SSAGES resources for a simulation. More...
 
class  RMSDCV
 Collective variable to calculate root mean square displacement. More...
 
class  RouseModeCV
 Collective variable is a Rouse mode for a polymer chain comprised of N particle groups. More...
 
class  Snapshot
 Class containing a snapshot of the current simulation in time. More...
 
class  StringMethod
 String base class for FTS, Swarm, and elastic band. More...
 
class  Swarm
 Swarm of Trajectories String Method. More...
 
class  TorsionalCV
 Collective variable on the torsion angles. More...
 
class  Umbrella
 Umbrella sampling method. More...
 

Typedefs

using ConstraintList = std::vector< Constraint * >
 List of Constraints.
 
using Vector = Eigen::VectorXd
 Arbitrary length vector.
 
using Vector3 = Eigen::Vector3d
 Three-dimensional vector.
 
using Bool3 = Eigen::Matrix< bool, 3, 1 >
 Three-dimensional boolean.
 
using Integer3 = Eigen::Vector3i
 Three-dimensional integer vector.
 
using Matrix3 = Eigen::Matrix3d
 3x3 matrix.
 
using Matrix3N = Eigen::MatrixX3d
 nx3 matrix.
 
using Label = std::vector< int >
 List of integers.
 
using CVList = std::vector< CollectiveVariable * >
 List of Collective Variables.
 

Enumerations

enum  GyrationTensor {
  Rg = 0, principal1 = 1, principal2 = 2, principal3 = 3,
  asphericity = 4, acylindricity = 5, shapeaniso = 6
}
 
enum  Dimension { x = 0, y = 1, z = 2 }
 Enum for dimension.
 

Functions

void PrintBoldNotice (const std::string &notice, int msgw)
 Print out Notice in bold text. More...
 
int DumpErrorsToConsole (const std::vector< std::string > &msgs, int notw)
 Print a list of errors. More...
 
void DumpNoticesToConsole (const std::vector< std::string > &msgs, std::string prefix, int notw)
 Print a list of notices. More...
 
std::string GetFileContents (const char *filename)
 Read contents from a file. More...
 
std::string GetFilePath (const std::string &str)
 Gets file path from filename. More...
 
double gaussian (double dx, double sigma)
 Evlauate Gaussian. Helper function. More...
 
double gaussianDerv (double dx, double sigma)
 Evaluate Gaussian derivative. Helper function. More...
 
double roundf (double x)
 Quick helper function to round a double.
 

Detailed Description

The global namespace for all SSAGES classes and functions.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Jiyuan Li jyli@.nosp@m.uchi.nosp@m.cago..nosp@m.edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2017 Ashley Guo azguo.nosp@m.@uch.nosp@m.icago.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Yamil Colon yamil.nosp@m.colo.nosp@m.n2015.nosp@m.@u.n.nosp@m.orthw.nosp@m.este.nosp@m.rn.ed.nosp@m.u Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Emre Sevgen sesev.nosp@m.gen@.nosp@m.uchic.nosp@m.ago..nosp@m.edu Yamil Colon yamil.nosp@m.colo.nosp@m.n2015.nosp@m.@u.n.nosp@m.orthw.nosp@m.este.nosp@m.rn.ed.nosp@m.u

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2017 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2017 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu Michael Quevillon mquev.nosp@m.ill@.nosp@m.nd.ed.nosp@m.u

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2017 Michael Webb xmweb.nosp@m.b@gm.nosp@m.ail.c.nosp@m.om

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Emre Sevgen sesev.nosp@m.gen@.nosp@m.uchic.nosp@m.ago..nosp@m.edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file has been obtained from SAPHRON - Statistical Applied PHysics through Random On-the-fly Numerics https://github.com/hsidky/SAPHRON

Copyright 2017 Hythem Sidky

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016-2017 Julian Helfferich julia.nosp@m.n.he.nosp@m.lffer.nosp@m.ich@.nosp@m.gmail.nosp@m..com

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2017 Julian Helfferich julia.nosp@m.n.he.nosp@m.lffer.nosp@m.ich@.nosp@m.gmail.nosp@m..com

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file has been adapted from SAPHRON - Statistical Applied PHysics through Random On-the-fly Numerics https://github.com/hsidky/SAPHRON

Copyright 2016 Hythem Sidky

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Emre Sevgen sesev.nosp@m.gen@.nosp@m.uchic.nosp@m.ago..nosp@m.edu Joshua Moller jmoll.nosp@m.er@u.nosp@m.chica.nosp@m.go.e.nosp@m.du Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Joshua Moller jmoll.nosp@m.er@u.nosp@m.chica.nosp@m.go.e.nosp@m.du 2017 Julian Helfferich julia.nosp@m.n.he.nosp@m.lffer.nosp@m.ich@.nosp@m.gmail.nosp@m..com

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu Joshua Lequieu lequi.nosp@m.eu@u.nosp@m.chica.nosp@m.go.e.nosp@m.du Hadi Ramezani-Dakhel ramez.nosp@m.ani@.nosp@m.uchic.nosp@m.ago..nosp@m.edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Joshua Lequieu lequi.nosp@m.eu@u.nosp@m.chica.nosp@m.go.e.nosp@m.du Hadi Ramezani-Dakhel ramez.nosp@m.ani@.nosp@m.uchic.nosp@m.ago..nosp@m.edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Jonathan K. Whitmer jwhit.nosp@m.me1@.nosp@m.nd.ed.nosp@m.u

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ashley Guo azguo.nosp@m.@uch.nosp@m.icago.nosp@m..edu Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu Jonathan K. Whitmer jwhit.nosp@m.me1@.nosp@m.nd.ed.nosp@m.u Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om Ashley Guo azguo.nosp@m.@uch.nosp@m.icago.nosp@m..edu Cody Bezik bezik.nosp@m.@uch.nosp@m.icago.nosp@m..edu

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2017 Hythem Sidky hsidk.nosp@m.y@nd.nosp@m..edu Ben Sikora bsiko.nosp@m.ra90.nosp@m.6@gma.nosp@m.il.c.nosp@m.om

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

This file is part of SSAGES - Suite for Advanced Generalized Ensemble Simulations

Copyright 2016 Yamil Colon yamil.nosp@m.colo.nosp@m.n2015.nosp@m.@u.n.nosp@m.orthw.nosp@m.este.nosp@m.rn.ed.nosp@m.u

SSAGES is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SSAGES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SSAGES. If not, see http://www.gnu.org/licenses/.

Function Documentation

int SSAGES::DumpErrorsToConsole ( const std::vector< std::string > &  msgs,
int  notw 
)
inline

Print a list of errors.

Parameters
msgsList of error messages.
notwWidth of the messages.
Returns
-1 always.

Write a list of error messages to the console.

Definition at line 94 of file DriverException.h.

95  {
96  std::cout << std::setw(notw) << std::right << "\033[1;31mError(s)! See below.\033[0m\n";
97  for(auto& msg : msgs)
98  std::cout << " * " << msg << "\n";
99  return -1;
100  }
void SSAGES::DumpNoticesToConsole ( const std::vector< std::string > &  msgs,
std::string  prefix,
int  notw 
)
inline

Print a list of notices.

Parameters
msgsList of messages.
prefixPrefix to prepend to each message.
notwWidth of the messages.

Definition at line 108 of file DriverException.h.

109  {
110  std::cout << std::setw(notw) << std::right << "\033[32mOK!\033[0m\n";
111  if(msgs.size() == 0)
112  return;
113 
114  for(auto& msg : msgs)
115  std::cout << prefix << " * " << msg << "\n";
116  }
double SSAGES::gaussian ( double  dx,
double  sigma 
)

Evlauate Gaussian. Helper function.

Parameters
dxx-value.
sigmaWidth of Gaussian
Returns
Value at x of Gaussian with center at zero and width sigma.

Definition at line 42 of file Meta.cpp.

References gaussian().

Referenced by SSAGES::Meta::AddHill(), SSAGES::Meta::CalcBiasForce(), and gaussian().

43  {
44  double arg = (dx * dx) / (2. * sigma * sigma);
45  return exp(-arg);
46  }

Here is the call graph for this function:

Here is the caller graph for this function:

double SSAGES::gaussianDerv ( double  dx,
double  sigma 
)

Evaluate Gaussian derivative. Helper function.

Parameters
dxValue of x.
sigmaWidth of Gaussian.
Returns
Derivative at x of Gaussian with center at zero and width sigma.

Definition at line 54 of file Meta.cpp.

References gaussianDerv().

Referenced by SSAGES::Meta::AddHill(), SSAGES::Meta::CalcBiasForce(), and gaussianDerv().

55  {
56  double arg = (dx * dx) / (2. * sigma * sigma);
57  double pre = - dx / (sigma * sigma);
58  return pre * exp(-arg);
59  }

Here is the call graph for this function:

Here is the caller graph for this function:

std::string SSAGES::GetFileContents ( const char *  filename)
inline

Read contents from a file.

Parameters
filenameName of the file to read from.
Returns
String containing the contents of the file.

Retrieves the contents of a file and returns them in a string. Throws exception on failure.

Definition at line 47 of file FileContents.h.

Referenced by SSAGES::IncludePlugin::ApplyFilter(), and SSAGES::JSONLoader::LoadFile().

48  {
49  std::FILE *fp = std::fopen(filename, "rb");
50  if (fp)
51  {
52  std::string contents;
53  std::fseek(fp, 0, SEEK_END);
54  contents.resize(std::ftell(fp));
55  std::rewind(fp);
56 
57  // Stupid GCC bug. We do this to hide warnings.
58  if(!std::fread(&contents[0], 1, contents.size(), fp))
59  std::fclose(fp);
60  else
61  std::fclose(fp);
62 
63  return(contents);
64  }
65  throw(errno);
66  }

Here is the caller graph for this function:

std::string SSAGES::GetFilePath ( const std::string &  str)
inline

Gets file path from filename.

Parameters
strString containing the absolute filename.
Returns
String containing only the directory path.

Definition at line 73 of file FileContents.h.

Referenced by SSAGES::JSONLoader::LoadFile().

74  {
75  size_t found;
76  found = str.find_last_of("/\\");
77  if(found == str.npos)
78  return "./";
79  return str.substr(0, found);
80  }

Here is the caller graph for this function:

void SSAGES::PrintBoldNotice ( const std::string &  notice,
int  msgw 
)
inline

Print out Notice in bold text.

Parameters
noticeText to be written to console.
msgwWidth of the message.

Definition at line 81 of file DriverException.h.

82  {
83  std::cout << std::setw(msgw + 8) << std::left << "\033[1m" + notice + "\033[0m";
84  }