2#ifndef STORMM_RESTRAINT_BUILDER_H
3#define STORMM_RESTRAINT_BUILDER_H
7#include "Chemistry/atommask.h"
8#include "bounded_restraint.h"
13using chemistry::AtomMask;
14using topology::AtomGraph;
15using trajectory::CoordinateFrameReader;
19constexpr double default_hb_prevention_limit = 3.1;
31 FlatBottomPlan(
double k2_in,
double k3_in,
double r2_in,
double r3_in);
32 FlatBottomPlan(
double k2_in,
double k3_in,
double r1_in,
double r2_in,
double r3_in,
33 double r4_in,
int step_in);
150std::vector<BoundedRestraint>
152 const AtomMask &mask,
double displacement_penalty,
153 double displacement_onset = 0.0,
double displacement_plateau = 16.0,
154 double proximity_penalty = 0.0,
double proximity_onset = 0.0,
155 double proximity_plateau = 0.0);
157std::vector<BoundedRestraint>
159 const std::string &mask,
double displacement_penalty,
160 double displacement_onset = 0.0,
double displacement_plateau = 16.0,
161 double proximity_penalty = 0.0,
double proximity_onset = 0.0,
162 double proximity_plateau = 0.0);
164std::vector<BoundedRestraint>
166 const std::vector<int> &masked_atoms,
double displacement_penalty,
167 double displacement_onset = 0.0,
double displacement_plateau = 16.0,
168 double proximity_penalty = 0.0,
double proximity_onset = 0.0,
169 double proximity_plateau = 0.0);
197std::vector<BoundedRestraint>
199 const AtomMask &mask,
double penalty,
double flat_bottom_half_width,
202std::vector<BoundedRestraint>
204 const std::string &mask,
double penalty,
double flat_bottom_half_width,
207std::vector<BoundedRestraint>
209 const std::vector<int> &masked_atoms,
double penalty,
210 double flat_bottom_half_width,
double cutoff);
235std::vector<BoundedRestraint>
237 const AtomMask &mask,
double penalty,
double flat_bottom_half_width = 0.0,
238 double harmonic_maximum = 16.0);
240std::vector<BoundedRestraint>
242 const std::string &mask,
double penalty,
243 double flat_bottom_half_width = 0.0,
double harmonic_maximum = 16.0);
265std::vector<BoundedRestraint>
267 const double penalty,
268 const double approach_point = default_hb_prevention_limit);
270std::vector<BoundedRestraint>
272 const double penalty,
273 const double approach_point = default_hb_prevention_limit);
An atom selection within a system. Internally, this stores a bitmask, one bit for every particle,...
Definition atommask.h:199
An object to store information about chemical motifs: participation in rings, planarity,...
Definition chemical_features.h:400
Definition bounded_restraint.h:19
A struct to hold information relating to an Amber topology. This struct's member functions are limite...
Definition atomgraph.h:50
Unguarded struct to hold elemens of a flat bottom restraint. Two such objects can hold the initial an...
Definition restraint_builder.h:24
FlatBottomPlan()
The default constructor sets stiffnesses to zero and the activation step to zero. Additional construc...
Definition restraint_builder.cpp:29
Collect C-style pointers for the elements of a read-only CoordinateFrame object.
Definition coordinateframe.h:65