![]() |
Rosetta Core
2014.16.56682
|
Class definition for Etable. More...
#include <Etable.hh>
Public Member Functions | |
| virtual | ~Etable () |
| Automatically generated virtual destructor for class deriving directly from ReferenceCount. More... | |
| Etable (chemical::AtomTypeSetCAP atom_set_in, EtableOptions const &options, std::string const alternate_parameter_set="") | |
| constructor More... | |
| Size | n_atomtypes () const |
| ObjexxFCL::FArray3D< Real > const & | ljatr () const |
| const access to the arrays More... | |
| ObjexxFCL::FArray3D< Real > const & | ljrep () const |
| ObjexxFCL::FArray3D< Real > const & | solv1 () const |
| ObjexxFCL::FArray3D< Real > const & | solv2 () const |
| ObjexxFCL::FArray3D< Real > const & | dljatr () const |
| const access to the deriv arrays More... | |
| ObjexxFCL::FArray3D< Real > const & | dljrep () const |
| ObjexxFCL::FArray3D< Real > const & | dsolv1 () const |
| return the solvation derivative table for the desolvation of atom1 by atom2 More... | |
| ObjexxFCL::FArray3D< Real > const & | dsolv () const |
| return the solvation derivative table that combines atom1 and atom2's desolvations More... | |
| Real | max_dis () const |
| Real | get_safe_max_dis2 () const |
| int | get_bins_per_A2 () const |
| chemical::AtomTypeSetCAP | atom_set () const |
| Real | hydrogen_interaction_cutoff2 () const |
| Real | max_heavy_heavy_cutoff () const |
| Real | max_heavy_hydrogen_cutoff () const |
| Real | max_hydrogen_hydrogen_cutoff () const |
| Real | nblist_dis2_cutoff_XX () const |
| The distance cutoff beyond which any pair of heavy-atoms is guaranteed to have an interaction energy of zero. This function is used by the NeighborList. More... | |
| Real | nblist_dis2_cutoff_XH () const |
| The distance cutoff beyond which a hydrogen/heavy-atom pair is guaranteed to have an interaction energy of zero. This function is used by the NeighborList. More... | |
| Real | nblist_dis2_cutoff_HH () const |
| The distance cutoff beyond which any hydrogen/hydrogen pair is guaranteed to have an interaction energy of zero. This function is used by the NeighborList. More... | |
| Real | max_non_hydrogen_lj_radius () const |
| Returns the maximum lj radius for any non-hydrogen atom as defined by the atom-type-set used to create this Etable. More... | |
| Real | max_hydrogen_lj_radius () const |
| Returns the maximum lj radius for any hydrogen atom as defined by the input atom-type-set used to create this Etable. More... | |
| Real | lj_radius (int const i) const |
| Return the Lennard-Jones radius for an atom. More... | |
| Real | lj_wdepth (int const i) const |
| Return the Lennard-Jones well depth for an atom. More... | |
| Real | lk_dgfree (int const i) const |
| Return the Lazardis Karplus DGFree value for an atom. More... | |
| Real | lk_volume (int const i) const |
| Return the Lazaridis Karplus volume for an atom. More... | |
| Real | lk_lambda (int const i) const |
| Return the Lazaridis Karplus "lambda" value (correlation distance) for an atom. More... | |
| Real | lk_inv_lambda2 (int const i) const |
| Real | fasol_cubic_poly_far_xlo () const |
| Real | fasol_cubic_poly_far_xhi () const |
| void | interpolated_analytic_etable_evaluation (conformation::Atom const &at1, conformation::Atom const &at2, Real &lj_atrE, Real &lj_repE, Real &fa_solE, Real &d2) const |
| Use the analytic_etable_evaluation function to evaluate the energy of two atoms, but evaluate the function at the old grid points and then interpolate between them the way the existing etable does (in square distance space). Useful for comparing the original etable evaluation with the analytic evaluation. More... | |
| void | analytic_etable_evaluation (conformation::Atom const &at1, conformation::Atom const &at2, Real &lj_atrE, Real &lj_repE, Real &fa_solE, Real &d2) const |
| Use an analytic functional form of the etable to evaluate an atom-pair energy without reading from the enormous and uncachable tables. More... | |
| void | analytic_lk_energy (conformation::Atom const &at1, conformation::Atom const &at2, Real &fa_solE1, Real &fa_solE2) const |
| Use an analytic functional form of the etable to evaluate only the LK atom-pair energy computing the desolvation of atom1 by atom2 separately from the desolvation of atom2 by atom1. More... | |
| void | analytic_etable_derivatives (conformation::Atom const &at1, conformation::Atom const &at2, Real &dljatrE_ddis, Real &dljrepE_ddis, Real &dfasolE_ddis, Real &inv_d) const |
| Analytically evaluate the energy derivatives for a pair of atoms. More... | |
| void | analytic_lk_derivatives (conformation::Atom const &at1, conformation::Atom const &at2, Real &dfasolE1_ddis, Real &dfasolE2_ddis, Real &inv_d) const |
| Analytically evaluate the LK solvation derivatives for a pair of atoms, separately computing the derivative for atom2's desolvation of atom1 (dfasolE1_ddis) and atom1's desolvation of atom2 (dfasolE2_ddis). More... | |
| EtableParamsOnePair const & | analytic_params_for_pair (Size atype1, Size atype2) const |
| Real | get_lj_hbond_OH_donor_dis () const |
| Real | get_lj_hbond_hdis () const |
Static Public Member Functions | |
| static CubicPolynomial | cubic_polynomial_from_spline (Real xlo, Real xhi, SplineParameters const &sp) |
| static Real | eval_cubic_polynomial (Real const x, CubicPolynomial const &sp) |
| static Real | cubic_polynomial_deriv (Real const x, CubicPolynomial const &cp) |
Private Member Functions | |
| void | dimension_etable_arrays () |
| Use an analytic functional form of the etable to evaluate an atom-pair energy without reading from the enormous and uncachable tables. This version is reserved for interactions with hydrogens (hydorgen/hydrogen and hydrogen heavyatom) More... | |
| void | initialize_from_input_atomset (chemical::AtomTypeSetCAP atom_set_in) |
| void | calculate_nblist_distance_thresholds (EtableOptions const &options) |
| void | read_alternate_parameter_set (chemical::AtomTypeSetCAP atom_set_in, std::string const alternate_parameter_set) |
| void | calculate_hydrogen_atom_reach () |
| void | initialize_carbontypes_to_linearize_fasol () |
| Real | analytic_ljrep_linearized (Real const dis, EtableParamsOnePair const &p) const |
| Real | analytic_lj_generic_form (Real const dis2, Real const inv_dis2, EtableParamsOnePair const &p) const |
| Real | analytic_ljatr_cubic_poly_ramp_to_zero (Real const dis, EtableParamsOnePair const &p) const |
| Real | analytic_ljatr_cubic_poly_ramp_to_zero_deriv (Real const dis, EtableParamsOnePair const &p) const |
| void | analytic_lk_evaluation (int const atype1, int const atype2, EtableParamsOnePair const &p, Real const dis, Real const inv_dis2, Real &fa_solE) const |
| Evaluate the mututal desolvation energy as atom 1 and atom 2 approach. Combine the desolvation of atom 1 by atom 2 into the same value as the desolvation of atom 2 by atom 1. More... | |
| void | analytic_lk_evaluation_individual (int const atype1, int const atype2, EtableParamsOnePair const &p, Real const dis, Real const inv_dis2, Real &fa_solE1, Real &fa_solE2) const |
| Evaluate the LK solvation energy for a pair of atoms individually; fa_solE1 returns the desolvation of atom 1 by atom 2 and fa_solE2 returns the desolvation of atom 2 by atom 1. More... | |
| void | output_etable (ObjexxFCL::FArray3D< Real > &etable, std::string label, std::ostream &out) |
| output an etable data file in the same format used in input_etable More... | |
| void | input_etable (ObjexxFCL::FArray3D< Real > &etable, const std::string label, std::istream &in) |
| read in etable from a datafile More... | |
| EtableParamsOnePair & | analytic_params_for_pair (Size atype1, Size atype2) |
| chemical::AtomType const & | atom_type (int const type) |
| void | make_pairenergy_table () |
| calculate fast lookup arrays for vdw and solvation energy More... | |
| int | calculate_normal_disbins () const |
| void | damp_long_range (int const normal_disbins, ObjexxFCL::FArray1A< Real > ljatr, ObjexxFCL::FArray1A< Real > dljatr, ObjexxFCL::FArray1A< Real > ljrep, ObjexxFCL::FArray1A< Real > dljrep, ObjexxFCL::FArray1A< Real > fasol1, ObjexxFCL::FArray1A< Real > fasol2, ObjexxFCL::FArray1A< Real > dfasol, ObjexxFCL::FArray1A< Real > dfasol1) |
| void | modify_pot_one_pair (Size atype1, Size atype2, ObjexxFCL::FArray1A< Real > ljatr, ObjexxFCL::FArray1A< Real > dljatr, ObjexxFCL::FArray1A< Real > ljrep, ObjexxFCL::FArray1A< Real > dljrep, ObjexxFCL::FArray1A< Real > fasol1, ObjexxFCL::FArray1A< Real > fasol2, ObjexxFCL::FArray1A< Real > dfasol, ObjexxFCL::FArray1A< Real > dfasol1) |
| modify Etable to better treat 0-0, C-C, and H-H interactions More... | |
| void | assign_parameters_to_full_etables (Size atype1, Size atype2, ObjexxFCL::FArray1A< Real > ljatr, ObjexxFCL::FArray1A< Real > dljatr, ObjexxFCL::FArray1A< Real > ljrep, ObjexxFCL::FArray1A< Real > dljrep, ObjexxFCL::FArray1A< Real > fasol1, ObjexxFCL::FArray1A< Real > fasol2, ObjexxFCL::FArray1A< Real > dfasol, ObjexxFCL::FArray1A< Real > dfasol1) |
| void | smooth_etables_one_pair (Size atype1, Size atype2, ObjexxFCL::FArray1A< Real > ljatr, ObjexxFCL::FArray1A< Real > dljatr, ObjexxFCL::FArray1A< Real > ljrep, ObjexxFCL::FArray1A< Real > dljrep, ObjexxFCL::FArray1A< Real > fasol1, ObjexxFCL::FArray1A< Real > fasol2, ObjexxFCL::FArray1A< Real > dfasol, ObjexxFCL::FArray1A< Real > dfasol1) |
| void | zero_hydrogen_and_water_ljatr_one_pair (Size atype1, Size atype2, ObjexxFCL::FArray1A< Real > ljrep, ObjexxFCL::FArray1A< Real > ljatr, ObjexxFCL::FArray1A< Real > dljatr, ObjexxFCL::FArray1A< Real > fasol1, ObjexxFCL::FArray1A< Real > fasol2, ObjexxFCL::FArray1A< Real > dfasol, ObjexxFCL::FArray1A< Real > dfasol1) |
| void | precalc_etable_coefficients (ObjexxFCL::FArray2< Real > &lj_sigma, ObjexxFCL::FArray2< Real > &lj_r6_coeff, ObjexxFCL::FArray2< Real > &lj_r12_coeff, ObjexxFCL::FArray2< Real > &lj_switch_intercept, ObjexxFCL::FArray2< Real > &lj_switch_slope, ObjexxFCL::FArray1< Real > &lk_inv_lambda2, ObjexxFCL::FArray2< Real > &lk_coeff, ObjexxFCL::FArray2< Real > &lk_min_dis2sigma_value) |
| precalculate non-distance dependent coefficients of energy functions More... | |
| void | calc_etable_value (Real dis2, int atype1, int atype2, Real &atrE, Real &d_atrE, Real &repE, Real &d_repE, Real &solvE1, Real &solvE2, Real &dsolvE1, Real &dsolvE2) const |
| calc all etable values given a distance and atom-type pair More... | |
| void | lk_solv_energy_and_deriv (int atype1, int atype2, Real dis, Real &solvE1, Real &solvE2, Real &dsolvE1, Real &dsolvE2) const |
| Analyticaly calculate the Lazaridis-Karplus solvation energy and derivatives for a pair of atoms at a given distance. More... | |
Class definition for Etable.
|
virtual |
Automatically generated virtual destructor for class deriving directly from ReferenceCount.
Auto-generated virtual destructor
| core::scoring::etable::Etable::Etable | ( | chemical::AtomTypeSetCAP | atom_set_in, |
| EtableOptions const & | options, | ||
| std::string const | alternate_parameter_set = "" |
||
| ) |
constructor
Note from rhiju & andrew leaver-day: we should get rid of command-line option calls here in favor of setting options from EtableOptions object. Would allow user to have multiple etables around!
References analytic_etable_evaluation, calculate_hydrogen_atom_reach(), calculate_nblist_distance_thresholds(), chemical, dimension_etable_arrays(), epsilon, fa_Hatr, initialize_carbontypes_to_linearize_fasol(), initialize_from_input_atomset(), lj_hbond_hdis, lj_hbond_OH_donor_dis, make_pairenergy_table(), option, read_alternate_parameter_set(), and score.
|
inline |
Analytically evaluate the energy derivatives for a pair of atoms.
References analytic_ljatr_cubic_poly_ramp_to_zero_deriv(), analytic_params_for_pair(), cubic_polynomial_deriv(), numeric::xyzVector< class >::distance_squared(), epsilon, fasol_cubic_poly_far_xhi_, fasol_cubic_poly_far_xlo_, lj_radius(), lk_inv_lambda2_, max_dis2, min_dis2, core::conformation::Atom::type(), and core::conformation::Atom::xyz().
Referenced by core::scoring::etable::AnalyticEtableEvaluator::eval_dE_dR_over_r().
|
inline |
Use an analytic functional form of the etable to evaluate an atom-pair energy without reading from the enormous and uncachable tables.
References analytic_lj_generic_form(), analytic_ljatr_cubic_poly_ramp_to_zero(), analytic_ljrep_linearized(), analytic_lk_evaluation(), analytic_params_for_pair(), numeric::xyzVector< class >::distance_squared(), epsilon, core::scoring::etable::ExtraQuadraticRepulsion::extrapolated_slope, max_dis2, min_dis2, core::conformation::Atom::type(), and core::conformation::Atom::xyz().
Referenced by core::scoring::etable::AnalyticEtableEvaluator::atom_pair_energy(), and interpolated_analytic_etable_evaluation().
|
inlineprivate |
: evaluate the standard Lennard-Jones 6-12 functional form. Only call this function if the square distance is in the range sqrt( p.ljrep_linear_ramp_d2_cutoff ) < dis < p.ljatr_cubic_poly_xhi
References ASSERT_ONLY, core::scoring::etable::EtableParamsOnePair::lj_r12_coeff, core::scoring::etable::EtableParamsOnePair::lj_r6_coeff, core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xhi, and core::scoring::etable::EtableParamsOnePair::ljrep_linear_ramp_d2_cutoff.
Referenced by analytic_etable_evaluation().
|
inlineprivate |
: evaluate the attractive component of the LJ term as it ramps to zero. Only call this function if the square distance is in the range p.ljatr_cubic_poly_xlo < dis < p.ljatr_cubic_poly_xhi
References eval_cubic_polynomial(), core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_parameters, core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xhi, and core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xlo.
Referenced by analytic_etable_evaluation().
|
inlineprivate |
: evaluate the derivative for the attractive component of the LJ term as it ramps to zero. Only call this function if the square distance is in the range p.ljatr_cubic_poly_xlo < dis < p.ljatr_cubic_poly_xhi
References cubic_polynomial_deriv(), core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_parameters, core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xhi, and core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xlo.
Referenced by analytic_etable_derivatives().
|
inlineprivate |
only to be called when the distance, dis, is less than the switch-point for the lj_switch_dis2sigma value.
References core::scoring::etable::EtableParamsOnePair::lj_switch_intercept, core::scoring::etable::EtableParamsOnePair::lj_switch_slope, and core::scoring::etable::EtableParamsOnePair::ljrep_linear_ramp_d2_cutoff.
Referenced by analytic_etable_evaluation().
|
inline |
Analytically evaluate the LK solvation derivatives for a pair of atoms, separately computing the derivative for atom2's desolvation of atom1 (dfasolE1_ddis) and atom1's desolvation of atom2 (dfasolE2_ddis).
References analytic_params_for_pair(), cubic_polynomial_deriv(), numeric::xyzVector< class >::distance_squared(), epsilon, fasol_cubic_poly_far_xhi_, fasol_cubic_poly_far_xlo_, lj_radius(), lk_inv_lambda2_, max_dis2, min_dis2, core::conformation::Atom::type(), and core::conformation::Atom::xyz().
Referenced by core::scoring::etable::AnalyticEtableEvaluator::atom_pair_lk_energy_and_deriv_v(), and core::scoring::etable::AnalyticEtableEvaluator::atom_pair_lk_energy_and_deriv_v_efficient().
|
inline |
Use an analytic functional form of the etable to evaluate only the LK atom-pair energy computing the desolvation of atom1 by atom2 separately from the desolvation of atom2 by atom1.
References analytic_lk_evaluation_individual(), analytic_params_for_pair(), numeric::xyzVector< class >::distance_squared(), epsilon, max_dis2, min_dis2, core::conformation::Atom::type(), and core::conformation::Atom::xyz().
Referenced by core::scoring::etable::AnalyticEtableEvaluator::atom_pair_lk_energy_and_deriv_v(), and core::scoring::etable::AnalyticEtableEvaluator::atom_pair_lk_energy_and_deriv_v_efficient().
|
inlineprivate |
Evaluate the mututal desolvation energy as atom 1 and atom 2 approach. Combine the desolvation of atom 1 by atom 2 into the same value as the desolvation of atom 2 by atom 1.
Note that atype1 must be less than or equal to atype2; the EtableParamsOnePair are stored only once for atom types i and j.
References eval_cubic_polynomial(), core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_end, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_flat, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_start, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_far, fasol_cubic_poly_far_xhi_, fasol_cubic_poly_far_xlo_, core::scoring::etable::EtableParamsOnePair::fasol_final_weight, lj_radius(), core::scoring::etable::EtableParamsOnePair::lk_coeff1, core::scoring::etable::EtableParamsOnePair::lk_coeff2, and lk_inv_lambda2_.
Referenced by analytic_etable_evaluation().
|
inlineprivate |
Evaluate the LK solvation energy for a pair of atoms individually; fa_solE1 returns the desolvation of atom 1 by atom 2 and fa_solE2 returns the desolvation of atom 2 by atom 1.
The etable parameters are stored such that the atom type of atom 1 is less than or equal to the atom type of atom 2, so that the caller of this function will need to keep track of which atom is which.
References eval_cubic_polynomial(), core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly1_close, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly1_close_flat, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly1_far, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly2_close, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly2_close_flat, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly2_far, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_end, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_start, fasol_cubic_poly_far_xhi_, fasol_cubic_poly_far_xlo_, core::scoring::etable::EtableParamsOnePair::fasol_final_weight, lj_radius(), core::scoring::etable::EtableParamsOnePair::lk_coeff1, core::scoring::etable::EtableParamsOnePair::lk_coeff2, and lk_inv_lambda2_.
Referenced by analytic_lk_energy().
|
inline |
|
inlineprivate |
References analytic_parameters, and n_atomtypes_.
|
private |
|
inline |
References atom_set_.
Referenced by core::scoring::etable::CoarseEtableEnergy::CoarseEtableEnergy(), core::scoring::methods::LK_BallEnergy::setup_d2_bounds(), core::scoring::rna::RNA_FullAtomVDW_BasePhosphate::setup_for_derivatives(), core::scoring::rna::RNA_FullAtomVDW_BasePhosphate::setup_for_scoring(), core::scoring::etable::TableLookupEtableEnergy::setup_for_scoring_(), and core::scoring::etable::AnalyticEtableEnergy::setup_for_scoring_().
|
inlineprivate |
References atom_set_.
Referenced by make_pairenergy_table(), precalc_etable_coefficients(), and zero_hydrogen_and_water_ljatr_one_pair().
|
private |
calc all etable values given a distance and atom-type pair
calc_etable_value
given a pair of atom types and the squared inter-atomic separation distance (and a whole bunch of pre-computed coeffecients), this returns the value of the lennard-jones and lk solvation potentials and their derivatives w.r.t. the separation distance
| [in] | dis2 | - in - atomic separation distance squared |
| [in] | atype1 | - in - chemical type of atom 1 |
| [in] | atype2 | - in - chemical type of atom 2 |
| [out] | atrE | - out - atractive lj energy |
| [out] | d_atrE | - out - d(atrE)/d(dis) |
| [out] | repE | - out - repulsive lj energy |
| [out] | d_repE | - out - d(repE)/d(dis) |
| [out] | solvE1 | - out - lk solvation energy |
| [out] | solvE2 | - out - lk solvation energy |
| [out] | dsolvE | - out - d(solvE1+solvE2)/d(dis) |
| [in] | lj_sigma | - in - for atomtypes i and j: (radius_i+radius_j) |
| [in] | lj_r6_coeff | - in - precalced coefficient on the (1/dis)**6 term in lj |
| [in] | lj_r12_coeff | - in - precalced coefficient on the (1/dis)**12 term in lj |
| [in] | lj_switch_intercept | - in - for close contacts calculate lj from a line with this intercept |
| [in] | lj_switch_slope | - in - for close contacts calculate lj from a line with this slope |
| [in] | lk_inv_lambda2 | - in - surprise! it's the 1/(lambda)**2 term in the lk equation |
| [in] | lk_coeff | - in - precalculation of all non-distance dependent terms outside of the exponential in the lk equation |
| [in] | lk_min_dis2sigma_value | - in - below the min dis2sigma ratio for lk, this value is assigned to the solvation |
pdbstatistics_pack.h etable.h
References epsilon, lj_r12_coeff_, lj_r6_coeff_, lj_sigma_, lj_switch_dis2sigma, lj_switch_intercept_, lj_switch_slope_, lk_min_dis2sigma, lk_min_dis2sigma_value_, lk_solv_energy_and_deriv(), max_dis2, and min_dis2.
Referenced by make_pairenergy_table().
|
private |
References score::fa_Hatr, hydrogen_interaction_cutoff2_, max_dis_, max_hydrogen_lj_radius_, max_non_hydrogen_lj_radius_, and basic::options::option.
Referenced by Etable().
|
private |
References score::fa_Hatr, core::scoring::etable::EtableOptions::max_dis, max_dis_, max_heavy_hydrogen_cutoff_, max_hydrogen_hydrogen_cutoff_, max_hydrogen_lj_radius_, max_non_hydrogen_lj_radius_, nblist_dis2_cutoff_HH_, nblist_dis2_cutoff_XH_, nblist_dis2_cutoff_XX_, and option.
Referenced by Etable().
|
private |
References add_long_range_damping, bins_per_A2, etable_disbins, long_range_damping_length, max_dis2, and max_dis_.
Referenced by make_pairenergy_table().
|
inlinestatic |
References core::scoring::etable::CubicPolynomial::c1, core::scoring::etable::CubicPolynomial::c2, and core::scoring::etable::CubicPolynomial::c3.
Referenced by analytic_etable_derivatives(), analytic_ljatr_cubic_poly_ramp_to_zero_deriv(), analytic_lk_derivatives(), and core::scoring::etable::coulomb::Coulomb::eval_dfa_elecE_dr_over_r().
|
static |
References core::pack::dunbrack::c, core::scoring::etable::CubicPolynomial::c0, core::scoring::etable::CubicPolynomial::c1, core::scoring::etable::CubicPolynomial::c2, core::scoring::etable::CubicPolynomial::c3, cp, core::scoring::etable::SplineParameters::y2hi, core::scoring::etable::SplineParameters::y2lo, core::scoring::etable::SplineParameters::yhi, and core::scoring::etable::SplineParameters::ylo.
Referenced by core::scoring::etable::coulomb::Coulomb::initialize(), and smooth_etables_one_pair().
|
private |
References bins_per_A2, dljatr(), dljrep(), etable_disbins, ljatr(), ljrep(), long_range_damping_length, and max_dis_.
Referenced by make_pairenergy_table().
|
private |
Use an analytic functional form of the etable to evaluate an atom-pair energy without reading from the enormous and uncachable tables. This version is reserved for interactions with hydrogens (hydorgen/hydrogen and hydrogen heavyatom)
References analytic_parameters, dljatr_, dljrep_, dsolv1_, dsolv_, etable_disbins, lj_r12_coeff_, lj_r6_coeff_, lj_radius_, lj_sigma_, lj_switch_intercept_, lj_switch_slope_, lj_wdepth_, ljatr_, ljrep_, lk_coeff_, lk_dgfree_, lk_inv_lambda2_, lk_lambda_, lk_min_dis2sigma_value_, lk_volume_, n_atomtypes_, slim_, solv1_, and solv2_.
Referenced by Etable().
|
inline |
const access to the deriv arrays
References dljatr_.
Referenced by assign_parameters_to_full_etables(), damp_long_range(), make_pairenergy_table(), modify_pot_one_pair(), smooth_etables_one_pair(), and zero_hydrogen_and_water_ljatr_one_pair().
|
inline |
References dljrep_.
Referenced by assign_parameters_to_full_etables(), damp_long_range(), make_pairenergy_table(), modify_pot_one_pair(), and smooth_etables_one_pair().
|
inline |
return the solvation derivative table that combines atom1 and atom2's desolvations
References dsolv_.
|
inline |
return the solvation derivative table for the desolvation of atom1 by atom2
References dsolv1_.
|
inlinestatic |
References core::scoring::etable::CubicPolynomial::c0, core::scoring::etable::CubicPolynomial::c1, core::scoring::etable::CubicPolynomial::c2, and core::scoring::etable::CubicPolynomial::c3.
Referenced by analytic_ljatr_cubic_poly_ramp_to_zero(), analytic_lk_evaluation(), analytic_lk_evaluation_individual(), and core::scoring::etable::coulomb::Coulomb::eval_atom_atom_fa_elecE().
|
inline |
References fasol_cubic_poly_far_xhi_.
|
inline |
References fasol_cubic_poly_far_xlo_.
|
inline |
References bins_per_A2.
|
inline |
References lj_hbond_hdis.
|
inline |
References lj_hbond_OH_donor_dis.
|
inline |
References safe_max_dis2.
|
inline |
References hydrogen_interaction_cutoff2_.
|
private |
References atom_set_, and carbon_types.
Referenced by Etable().
|
private |
References atom_set_, lj_radius_, lj_wdepth_, lk_dgfree_, lk_lambda_, lk_volume_, max_hydrogen_lj_radius_, max_non_hydrogen_lj_radius_, n_atomtypes_, score::no_lk_polar_desolvation, and option.
Referenced by Etable().
|
private |
read in etable from a datafile
input_etable
References bin, etable_disbins, core::scoring::TR, and utility_exit_with_message.
Referenced by make_pairenergy_table().
| void core::scoring::etable::Etable::interpolated_analytic_etable_evaluation | ( | conformation::Atom const & | at1, |
| conformation::Atom const & | at2, | ||
| core::Real & | lj_atrE, | ||
| core::Real & | lj_repE, | ||
| core::Real & | fa_solE, | ||
| Real & | d2 | ||
| ) | const |
Use the analytic_etable_evaluation function to evaluate the energy of two atoms, but evaluate the function at the old grid points and then interpolate between them the way the existing etable does (in square distance space). Useful for comparing the original etable evaluation with the analytic evaluation.
References analytic_etable_evaluation(), bins_per_A2, numeric::xyzVector< class >::distance_squared(), and core::conformation::Atom::xyz().
Return the Lennard-Jones radius for an atom.
References lj_radius_.
Referenced by analytic_etable_derivatives(), analytic_lk_derivatives(), analytic_lk_evaluation(), analytic_lk_evaluation_individual(), lk_solv_energy_and_deriv(), and precalc_etable_coefficients().
Return the Lennard-Jones well depth for an atom.
References lj_wdepth_.
Referenced by precalc_etable_coefficients().
|
inline |
const access to the arrays
References ljatr_.
Referenced by assign_parameters_to_full_etables(), damp_long_range(), make_pairenergy_table(), modify_pot_one_pair(), smooth_etables_one_pair(), and zero_hydrogen_and_water_ljatr_one_pair().
|
inline |
References ljrep_.
Referenced by assign_parameters_to_full_etables(), damp_long_range(), make_pairenergy_table(), modify_pot_one_pair(), smooth_etables_one_pair(), and zero_hydrogen_and_water_ljatr_one_pair().
Return the Lazardis Karplus DGFree value for an atom.
References lk_dgfree_.
Referenced by precalc_etable_coefficients().
References lk_inv_lambda2_.
Referenced by core::scoring::etable::MembEtable::make_pairenergy_table(), and precalc_etable_coefficients().
Return the Lazaridis Karplus "lambda" value (correlation distance) for an atom.
References lk_lambda_.
Referenced by precalc_etable_coefficients().
|
private |
Analyticaly calculate the Lazaridis-Karplus solvation energy and derivatives for a pair of atoms at a given distance.
References lj_radius(), lk_coeff_, and lk_inv_lambda2_.
Referenced by calc_etable_value(), and smooth_etables_one_pair().
Return the Lazaridis Karplus volume for an atom.
References lk_volume_.
Referenced by precalc_etable_coefficients().
|
private |
calculate fast lookup arrays for vdw and solvation energy
Several energies are precomputed when fullatom mode is initialized and stored in lookup tables to speed fullatom calculation. Currently pre-computed values are the Lennard-Jones van der Waals approximation (lj) and the Lazaridis-Karplus implicit solvation function (lk). For each of these energies the derivative w.r.t. atom pair separation distance is calculated and stored as well. Note that the lj energy is artificially divided into atractive and repulsive components.
pdbstatistics_pack.h: several threshold distances energy.h: just about everything should be used in the tree of etable functions
the etable: ljatr,dljatr,ljrep,dljrep,solvE
References add_long_range_damping, basic::options::OptionKeys::score::analytic_etable_evaluation, analytic_params_for_pair(), assign_parameters_to_full_etables(), atom_type(), bins_per_A2, calc_etable_value(), calculate_normal_disbins(), damp_long_range(), dljatr(), dljatr_, dljrep(), dljrep_, dsolv1_, dsolv_, etable_disbins, score::fa_Hatr, input_etable(), score::input_etables, core::scoring::etable::EtableParamsOnePair::lj_r12_coeff, lj_r12_coeff_, core::scoring::etable::EtableParamsOnePair::lj_r6_coeff, lj_r6_coeff_, lj_sigma_, lj_switch_dis2sigma, core::scoring::etable::EtableParamsOnePair::lj_switch_intercept, lj_switch_intercept_, lj_switch_sigma2dis, core::scoring::etable::EtableParamsOnePair::lj_switch_slope, lj_switch_slope_, lj_switch_slope_sigma2wdepth, lj_switch_value2wdepth, ljatr(), ljatr_, ljrep(), ljrep_, core::scoring::etable::EtableParamsOnePair::ljrep_linear_ramp_d2_cutoff, core::scoring::etable::EtableParamsOnePair::lk_coeff1, core::scoring::etable::EtableParamsOnePair::lk_coeff2, lk_coeff_, lk_inv_lambda2_, core::scoring::etable::EtableParamsOnePair::lk_min_dis2sigma_value, lk_min_dis2sigma_value_, core::scoring::etable::EtableParamsOnePair::maxd2, modify_pot_one_pair(), n_atomtypes_, score::no_smooth_etables, option, basic::options::option, out, output_etable(), score::output_etables, precalc_etable_coefficients(), safe_max_dis2, slim_, smooth_etables_one_pair(), solv1_, solv2_, tag, core::scoring::TR, user, and zero_hydrogen_and_water_ljatr_one_pair().
Referenced by Etable().
|
inline |
References max_dis_.
Referenced by core::scoring::methods::Fa_MbsolvEnergy::atomic_interaction_cutoff(), core::scoring::rna::RNA_LJ_BaseEnergy::atomic_interaction_cutoff(), core::scoring::methods::LK_hack::atomic_interaction_cutoff(), and core::scoring::methods::LK_BallEnergy::atomic_interaction_cutoff().
|
inline |
References max_heavy_hydrogen_cutoff_.
|
inline |
References max_hydrogen_hydrogen_cutoff_.
| Real core::scoring::etable::Etable::max_hydrogen_lj_radius | ( | ) | const |
Returns the maximum lj radius for any hydrogen atom as defined by the input atom-type-set used to create this Etable.
References max_hydrogen_lj_radius_.
| Real core::scoring::etable::Etable::max_non_hydrogen_lj_radius | ( | ) | const |
Returns the maximum lj radius for any non-hydrogen atom as defined by the atom-type-set used to create this Etable.
References max_non_hydrogen_lj_radius_.
|
private |
modify Etable to better treat 0-0, C-C, and H-H interactions
modify_pot
Comments from DB: db the following function call modifies the potential in three ways: db (1) the solvation energy for nonpolar atoms is held constant below db 4.2A to avoid shifting the minimum in the LJ potential. db (2) a short range repulsion is added between backbone oxygens which are db otherwise brought too close together by the LJatr. db (3) the range of the repulsive interaction between non polar hydrogens is db increased slightly. (this is currently commented out because the effects db on design have not been tested)
References analytic_params_for_pair(), atom_set_, bin, bins_per_A2, core::pack::dunbrack::c, carbon_types, dljatr(), dljrep(), etable_disbins, core::scoring::etable::ExtraQuadraticRepulsion::extrapolated_slope, core::scoring::etable::EtableParamsOnePair::fasol_final_weight, core::scoring::etable::EtableParamsOnePair::lj_minimum, ljatr(), core::scoring::etable::EtableParamsOnePair::ljatr_final_weight, ljrep(), core::scoring::etable::EtableParamsOnePair::ljrep_extra_repulsion, core::scoring::etable::EtableParamsOnePair::ljrep_from_negcrossing, core::scoring::etable::EtableParamsOnePair::maxd2, basic::options::option, core::scoring::etable::ExtraQuadraticRepulsion::slope, core::scoring::TR, basic::options::OptionKeys::score::unmodifypot, w(), core::scoring::etable::ExtraQuadraticRepulsion::xhi, core::scoring::etable::ExtraQuadraticRepulsion::xlo, and core::scoring::etable::ExtraQuadraticRepulsion::ylo.
Referenced by make_pairenergy_table().
|
inline |
|
inline |
The distance cutoff beyond which any hydrogen/hydrogen pair is guaranteed to have an interaction energy of zero. This function is used by the NeighborList.
References nblist_dis2_cutoff_HH_.
|
inline |
The distance cutoff beyond which a hydrogen/heavy-atom pair is guaranteed to have an interaction energy of zero. This function is used by the NeighborList.
References nblist_dis2_cutoff_XH_.
|
inline |
The distance cutoff beyond which any pair of heavy-atoms is guaranteed to have an interaction energy of zero. This function is used by the NeighborList.
References nblist_dis2_cutoff_XX_.
|
private |
output an etable data file in the same format used in input_etable
output_etable
References bin, etable_disbins, and n_atomtypes_.
Referenced by make_pairenergy_table().
|
private |
precalculate non-distance dependent coefficients of energy functions
precalc_etable_coefficients
| [out] | lj_sigma | - out - for atomtypes i and j: (radius_i+radius_j) |
| [out] | lj_r6_coeff | - out - precalced coefficient on the (1/dis)**6 term in lj |
| [out] | lj_r12_coeff | - out - precalced coefficient on the (1/dis)**12 term in lj |
| [out] | lj_switch_intercept | - out - for close contacts calculate lj from a line with this intercept |
| [out] | lj_switch_slope | - out - for close contacts calculate lj from a line with this slope |
| [out] | lk_inv_lambda2 | - out - surprise! it's the 1/(lambda)**2 term in the lk equation |
| [out] | lk_coeff | - out - precalculation of all non-distance dependent terms outside of the exponential in the lk equation |
| [out] | lk_min_dis2sigma_value | - out - below the min dis2sigma ratio for lk, this value is assigned to the solvation |
References atom_type(), core::chemical::AtomType::is_acceptor(), core::chemical::AtomType::is_donor(), core::chemical::AtomType::is_h2o(), core::chemical::AtomType::is_polar_hydrogen(), j, lj_hbond_dis, lj_hbond_hdis, lj_hbond_OH_donor_dis, lj_radius(), lj_slope_intercept, lj_switch_dis2sigma, lj_switch_sigma2dis, lj_switch_slope_sigma2wdepth, lj_switch_value2wdepth, lj_use_hbond_radii, lj_use_lj_deriv_slope, lj_use_water_radii, lj_water_dis, lj_water_hdis, lj_wdepth(), lk_dgfree(), lk_inv_lambda2(), lk_lambda(), lk_min_dis2sigma, lk_volume(), n_atomtypes_, core::chemical::AtomType::name(), and Wradius.
Referenced by make_pairenergy_table().
|
private |
References lj_radius_, lj_wdepth_, lk_dgfree_, lk_lambda_, lk_volume_, n_atomtypes_, and core::scoring::TR.
Referenced by Etable().
|
private |
References analytic_params_for_pair(), bins_per_A2, cubic_polynomial_from_spline(), dljatr(), dljrep(), etable_disbins, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly1_close, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly1_close_flat, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly1_far, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly2_close, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly2_close_flat, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly2_far, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_end, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_flat, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_close_start, core::scoring::etable::EtableParamsOnePair::fasol_cubic_poly_far, fasol_cubic_poly_far_xhi_, fasol_cubic_poly_far_xlo_, gen, numeric::interpolation::spline::SplineGenerator::get_interpolator(), numeric::interpolation::spline::Interpolator::interpolate(), core::scoring::etable::EtableParamsOnePair::lj_minimum, lj_sigma_, core::scoring::etable::EtableParamsOnePair::lj_val_at_minimum, lj_wdepth_, ljatr(), core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_parameters, core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xhi, core::scoring::etable::EtableParamsOnePair::ljatr_cubic_poly_xlo, ljrep(), lk_solv_energy_and_deriv(), max_dis_, start, core::scoring::TR, utility_exit_with_message, core::scoring::etable::SplineParameters::y2hi, core::scoring::etable::SplineParameters::y2lo, core::scoring::etable::SplineParameters::yhi, and core::scoring::etable::SplineParameters::ylo.
Referenced by make_pairenergy_table().
|
inline |
References solv1_.
|
inline |
References solv2_.
|
private |
References analytic_params_for_pair(), atom_set_, atom_type(), bins_per_A2, dljatr(), etable_disbins, core::scoring::etable::EtableParamsOnePair::fasol_final_weight, core::scoring::etable::EtableParamsOnePair::hydrogen_interaction, ljatr(), core::scoring::etable::EtableParamsOnePair::ljatr_final_weight, ljrep(), and core::scoring::etable::EtableParamsOnePair::maxd2.
Referenced by make_pairenergy_table().
|
private |
Referenced by calculate_normal_disbins(), and make_pairenergy_table().
|
private |
Referenced by analytic_params_for_pair(), and dimension_etable_arrays().
|
private |
|
private |
|
private |
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), dljatr(), and make_pairenergy_table().
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), dljrep(), and make_pairenergy_table().
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), dsolv1(), and make_pairenergy_table().
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), dsolv(), and make_pairenergy_table().
|
private |
|
private |
|
private |
|
private |
Data needed to describe the splines for the fasol term: There are two cubic_polys needed: one to smooth the transition to where the fasol term goes flat as the distance becomes less than the sum of the van der Waals radii (the "close" cubic_poly), and a second to smooth the transition where the distance goes to the fa_max_dis and the energy goes to 0 (the far cubic_poly). In between the close and far values, the exponential form of the energy function is used.
Referenced by analytic_etable_derivatives(), analytic_lk_derivatives(), analytic_lk_evaluation(), analytic_lk_evaluation_individual(), fasol_cubic_poly_far_xlo(), and smooth_etables_one_pair().
|
private |
Referenced by calculate_hydrogen_atom_reach(), and hydrogen_interaction_cutoff2().
|
private |
|
private |
|
private |
Referenced by precalc_etable_coefficients().
|
private |
Referenced by get_lj_hbond_hdis(), and precalc_etable_coefficients().
|
private |
Referenced by get_lj_hbond_OH_donor_dis(), and precalc_etable_coefficients().
|
private |
Referenced by calc_etable_value(), dimension_etable_arrays(), and make_pairenergy_table().
|
private |
Referenced by calc_etable_value(), dimension_etable_arrays(), and make_pairenergy_table().
|
private |
Referenced by dimension_etable_arrays(), initialize_from_input_atomset(), lj_radius(), and read_alternate_parameter_set().
|
private |
Referenced by calc_etable_value(), dimension_etable_arrays(), make_pairenergy_table(), and smooth_etables_one_pair().
|
private |
Referenced by precalc_etable_coefficients().
|
private |
Referenced by calc_etable_value(), make_pairenergy_table(), and precalc_etable_coefficients().
|
private |
Referenced by calc_etable_value(), dimension_etable_arrays(), and make_pairenergy_table().
|
private |
Referenced by make_pairenergy_table(), and precalc_etable_coefficients().
|
private |
Referenced by calc_etable_value(), dimension_etable_arrays(), and make_pairenergy_table().
|
private |
Referenced by make_pairenergy_table(), and precalc_etable_coefficients().
|
private |
Referenced by make_pairenergy_table(), and precalc_etable_coefficients().
|
private |
Referenced by precalc_etable_coefficients().
|
private |
Referenced by precalc_etable_coefficients().
|
private |
Referenced by precalc_etable_coefficients().
|
private |
Referenced by precalc_etable_coefficients().
|
private |
Referenced by precalc_etable_coefficients().
|
private |
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), ljatr(), and make_pairenergy_table().
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), ljrep(), and make_pairenergy_table().
|
private |
Referenced by dimension_etable_arrays(), lk_solv_energy_and_deriv(), and make_pairenergy_table().
|
private |
Referenced by dimension_etable_arrays(), initialize_from_input_atomset(), lk_dgfree(), and read_alternate_parameter_set().
|
private |
|
private |
Referenced by dimension_etable_arrays(), initialize_from_input_atomset(), lk_lambda(), and read_alternate_parameter_set().
|
private |
Referenced by calc_etable_value(), and precalc_etable_coefficients().
|
private |
Referenced by calc_etable_value(), dimension_etable_arrays(), and make_pairenergy_table().
|
private |
Referenced by dimension_etable_arrays(), initialize_from_input_atomset(), lk_volume(), and read_alternate_parameter_set().
|
private |
Referenced by calculate_normal_disbins(), and damp_long_range().
|
private |
|
private |
|
private |
Referenced by calculate_nblist_distance_thresholds(), and max_heavy_hydrogen_cutoff().
|
private |
Referenced by calculate_nblist_distance_thresholds(), and max_hydrogen_hydrogen_cutoff().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by calculate_nblist_distance_thresholds(), and nblist_dis2_cutoff_HH().
|
private |
Referenced by calculate_nblist_distance_thresholds(), and nblist_dis2_cutoff_XH().
|
private |
Referenced by calculate_nblist_distance_thresholds(), and nblist_dis2_cutoff_XX().
|
private |
Referenced by get_safe_max_dis2(), and make_pairenergy_table().
|
private |
Referenced by dimension_etable_arrays(), and make_pairenergy_table().
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), make_pairenergy_table(), and solv1().
|
private |
Referenced by assign_parameters_to_full_etables(), dimension_etable_arrays(), make_pairenergy_table(), and solv2().
|
private |
Referenced by precalc_etable_coefficients().
1.8.7