cctbx::geometry_restraints Namespace Reference

Geometry restraints (bond, angle, etc.). More...


Classes

struct  angle_proxy
 Grouping of indices into array of sites (i_seqs) and angle_params. More...
class  angle
 Residual and gradient calculations for angle restraint. More...
class  asu_cache
 Asymmetric unit cache to facilitate speed optimizations. More...
struct  bond_params
 Grouping of bond parameters distance_ideal and weight. More...
struct  bond_simple_proxy
 Grouping of indices into array of sites (i_seqs) and bond_params. More...
struct  bond_sym_proxy
 Grouping of bond_simple_proxy and symmetry operation (rt_mx_ji). More...
struct  bond_asu_proxy
 Grouping of asu_mapping_index_pair and bond_params. More...
class  bond
 Residual and gradient calculations for harmonically restrained bonds. More...
struct  bond_similarity_proxy
class  bond_similarity
 Residual and gradient calculations for harmonically restrained bonds. More...
class  bond_sorted_asu_proxies
 Generation of sorted bond proxies. More...
struct  chirality_proxy
 Grouping of indices into array of sites (i_seqs) and parameters. More...
class  chirality
 Residual and gradient calculations for chirality restraint. More...
struct  dihedral_proxy
 Grouping of indices into array of sites (i_seqs) and dihedral_params. More...
class  dihedral
 Residual and gradient calculations for dihedral angle restraint. More...
struct  motif
struct  nonbonded_params
 Grouping of parameters for the generation of nonbonded pair interactions. More...
struct  nonbonded_simple_proxy
 Grouping of indices into array of sites (i_seqs) and vdw_distance. More...
struct  nonbonded_asu_proxy
 Grouping of asu_mapping_index_pair and vdw_distance. More...
struct  prolsq_repulsion_function
 General repulsive function (see PROLSQ and CNS). More...
struct  inverse_power_repulsion_function
 energy(delta) = k_rep*vdw_distance/(delta**irexp) repulsive function. More...
struct  cos_repulsion_function
 energy(delta) = max_residual*((cos(pi*delta)+1)/2)**exponent More...
struct  gaussian_repulsion_function
 energy(delta) = max_residual*exp(-delta**2/f_sq) More...
class  nonbonded
 Residual and gradient calculations for nonbonded restraints. More...
class  nonbonded_sorted_asu_proxies
 Generation of sorted nonbonded proxies. More...
struct  planarity_proxy
 Grouping of indices into array of sites (i_seqs) and weights. More...
class  planarity
 Residual and gradient calculations for planarity restraint. More...
class  sorted_asu_proxies
 Managed group of simple proxies and asu proxies. More...

Typedefs

typedef std::map< unsigned,
bond_params
bond_params_dict
 Dictionary of bond parameters for a given index i_seq.
typedef af::shared
< bond_params_dict
bond_params_table
 Array of dictionary of bond parameters. The index i_seq is implied.
typedef sorted_asu_proxies
< bond_simple_proxy,
bond_asu_proxy
bond_sorted_asu_proxies_base
 Managed group of bond_simple_proxy and bond_asu_proxy arrays.
typedef optional_container
< af::small< double, 6 > > 
alt_angle_ideals_type
typedef std::map< std::string,
double > 
nonbonded_distance_dict
 Dictionary of VdW distances (element of nonbonded_distance_table).
typedef std::map< std::string,
std::map< std::string, double > > 
nonbonded_distance_table
 Table of VdW distances (given two energy types).
typedef std::map< std::string,
double > 
nonbonded_radius_table
 Table of VdW radii (given one energy type).
typedef sorted_asu_proxies
< nonbonded_simple_proxy,
nonbonded_asu_proxy
nonbonded_sorted_asu_proxies_base
 Managed group of nonbonded_simple_proxy and nonbonded_asu_proxy arrays.
typedef
direct_space_asu::asu_mapping_index 
asu_mapping_index
 Convenience typedef.
typedef
direct_space_asu::asu_mapping_index_pair 
asu_mapping_index_pair
 Convenience typedef.
typedef
direct_space_asu::asu_mappings 
asu_mappings
 Convenience typedef.

Functions

af::shared< double > angle_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< angle_proxy > const &proxies)
af::shared< double > angle_deltas (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< angle_proxy > const &proxies)
af::shared< double > angle_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< angle_proxy > const &proxies)
af::shared< double > angle_residuals (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< angle_proxy > const &proxies)
double angle_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< angle_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
double angle_residual_sum (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< angle_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
bond_params_table extract_bond_params (std::size_t n_seq, af::const_ref< bond_simple_proxy > const &bond_simple_proxies)
 Extracts bond parameters from array of simple proxies.
af::shared< double > bond_distances_model (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies)
 Fast computation of bond::distance_model given an array of bond proxies.
af::shared< double > bond_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies)
 Fast computation of bond::delta given an array of bond proxies.
af::shared< double > bond_deltas (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies)
 Fast computation of bond::delta given an array of bond proxies.
af::shared< double > bond_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies)
 Fast computation of bond::residual() given an array of bond proxies.
af::shared< double > bond_residuals (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies)
 Fast computation of bond::residual() given an array of bond proxies.
double bond_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
double bond_residual_sum (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_simple_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
 See overload.
af::shared< double > bond_distances_model (af::const_ref< scitbx::vec3< double > > const &sites_cart, bond_sorted_asu_proxies_base const &sorted_asu_proxies)
 Fast computation of bond::distance_model given managed proxies.
af::shared< double > bond_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, bond_sorted_asu_proxies_base const &sorted_asu_proxies)
 Fast computation of bond::delta given managed proxies.
af::shared< double > bond_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, bond_sorted_asu_proxies_base const &sorted_asu_proxies)
 Fast computation of bond::residual() given managed proxies.
double bond_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, bond_sorted_asu_proxies_base const &sorted_asu_proxies, af::ref< scitbx::vec3< double > > const &gradient_array, bool disable_cache=false)
double home_restraints_summation_skip_special_positions (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::ref< scitbx::vec3< double > > const &gradients, af::const_ref< std::size_t > const &site_symmetry_table_indices, af::const_ref< scitbx::vec3< double > > const &home_sites_cart, af::const_ref< std::size_t > const &iselection, double weight, double slack)
af::shared< double > bond_similarity_deltas_rms (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_similarity_proxy > const &proxies)
 Fast computation of bond_similarity::rms_deltas() given an array of bond_similarity proxies, ignoring proxy.sym_ops.
af::shared< double > bond_similarity_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_similarity_proxy > const &proxies)
 Fast computation of bond_similarity::residual() given an array of bond_similarity proxies, ignoring proxy.sym_ops.
double bond_similarity_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_similarity_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
af::shared< double > bond_similarity_deltas_rms (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_similarity_proxy > const &proxies)
 Fast computation of bond_similarity::rms_deltas() given an array of bond_similarity proxies, taking account of proxy.sym_ops.
af::shared< double > bond_similarity_residuals (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_similarity_proxy > const &proxies)
 Fast computation of bond_similarity::residual() given an array of bond_similarity proxies, taking account of proxy.sym_ops.
double bond_similarity_residual_sum (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< bond_similarity_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
void add_pairs (crystal::pair_asu_table<> &pair_asu_table, af::const_ref< bond_simple_proxy > const &bond_simple_proxies)
 Adds all pairs defined by bond_simple_proxies[i].i_seqs.
af::shared< double > chirality_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< chirality_proxy > const &proxies)
 Fast computation of chirality::delta given an array of chirality proxies.
af::shared< double > chirality_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< chirality_proxy > const &proxies)
double chirality_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< chirality_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
std::size_t dihedral_count_harmonic (af::const_ref< dihedral_proxy > const &proxies)
 Number of proxies with periodicity <= 0.
af::shared< double > dihedral_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< dihedral_proxy > const &proxies)
af::shared< double > dihedral_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< dihedral_proxy > const &proxies)
double dihedral_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< dihedral_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
af::shared< double > dihedral_deltas (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< dihedral_proxy > const &proxies)
af::shared< double > dihedral_residuals (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< dihedral_proxy > const &proxies)
double dihedral_residual_sum (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< dihedral_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
af::shared< double > nonbonded_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< nonbonded_simple_proxy > const &proxies)
 Fast computation of nonbonded::delta given an array of nonbonded proxies.
template<typename NonbondedFunction>
af::shared< double > nonbonded_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< nonbonded_simple_proxy > const &proxies, NonbondedFunction const &function)
 Fast computation of nonbonded::residual() given an array of nonbonded proxies.
template<typename NonbondedFunction>
double nonbonded_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< nonbonded_simple_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array, NonbondedFunction const &function)
af::shared< double > nonbonded_deltas (af::const_ref< scitbx::vec3< double > > const &sites_cart, nonbonded_sorted_asu_proxies_base const &sorted_asu_proxies)
 Fast computation of nonbonded::delta given managed proxies.
template<typename NonbondedFunction>
af::shared< double > nonbonded_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, nonbonded_sorted_asu_proxies_base const &sorted_asu_proxies, NonbondedFunction const &function)
 Fast computation of nonbonded::residual() given managed proxies.
template<typename NonbondedFunction>
double nonbonded_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, nonbonded_sorted_asu_proxies_base const &sorted_asu_proxies, af::ref< scitbx::vec3< double > > const &gradient_array, NonbondedFunction const &function, bool disable_cache=false)
af::shared< double > planarity_deltas_rms (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< planarity_proxy > const &proxies)
 Fast computation of planarity::rms_deltas() given an array of planarity proxies, ignoring proxy.sym_ops.
af::shared< double > planarity_residuals (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< planarity_proxy > const &proxies)
 Fast computation of planarity::residual() given an array of planarity proxies, ignoring proxy.sym_ops.
double planarity_residual_sum (af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< planarity_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
af::shared< double > planarity_deltas_rms (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< planarity_proxy > const &proxies)
 Fast computation of planarity::rms_deltas() given an array of planarity sym proxies, taking account of proxy.sym_ops.
af::shared< double > planarity_residuals (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< planarity_proxy > const &proxies)
 Fast computation of planarity::residual() given an array of planarity sym proxies, taking account of proxy.sym_ops.
double planarity_residual_sum (uctbx::unit_cell const &unit_cell, af::const_ref< scitbx::vec3< double > > const &sites_cart, af::const_ref< planarity_proxy > const &proxies, af::ref< scitbx::vec3< double > > const &gradient_array)
template<typename ProxyType>
af::shared< ProxyType > shared_proxy_select (af::const_ref< ProxyType > const &self, std::size_t n_seq, af::const_ref< std::size_t > const &iselection)
 Applies selection on array of atoms to array of angle, dihedral or chirality proxies.
template<typename ProxyType>
af::shared< ProxyType > shared_planarity_proxy_select (af::const_ref< ProxyType > const &self, std::size_t n_seq, af::const_ref< std::size_t > const &iselection)
 Applies selection on array of atoms to array of planarity proxies.
template<typename ProxyType>
af::shared< ProxyType > shared_proxy_remove (af::const_ref< ProxyType > const &self, af::const_ref< bool > const &selection)
template<typename ProxyType>
af::shared< ProxyType > shared_proxy_remove (af::const_ref< ProxyType > const &self, af::const_ref< size_t > const &selection)
scitbx::mat3< double > r_inv_cart (uctbx::unit_cell const &unit_cell, sgtbx::rt_mx const &rt_mx)
 Rotation part of rt_mx.inverse() in the cartesian system.
double angle_delta_deg (double angle_1, double angle_2, int periodicity=1)
 Difference between angle_1 and angle_2 (in degrees) taking the periodicity into account.


Detailed Description

Geometry restraints (bond, angle, etc.).

Function Documentation

af::shared<double> cctbx::geometry_restraints::angle_deltas ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< angle_proxy > const &  proxies 
) [inline]

Fast computation of angle::delta given an array of angle proxies. taking into account proxy.sym_ops.

af::shared<double> cctbx::geometry_restraints::angle_deltas ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< angle_proxy > const &  proxies 
) [inline]

Fast computation of angle::delta given an array of angle proxies, ignoring proxy.sym_ops.

double cctbx::geometry_restraints::angle_residual_sum ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< angle_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of angle::residual() and gradients given an array of angle proxies, taking into account proxy.sym_ops.

The angle::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

double cctbx::geometry_restraints::angle_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< angle_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of angle::residual() and gradients given an array of angle proxies, ignoring proxy.sym_ops.

The angle::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

af::shared<double> cctbx::geometry_restraints::angle_residuals ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< angle_proxy > const &  proxies 
) [inline]

Fast computation of angle::residual() given an array of angle proxies, taking account of proxy.sym_ops.

af::shared<double> cctbx::geometry_restraints::angle_residuals ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< angle_proxy > const &  proxies 
) [inline]

Fast computation of angle::residual() given an array of angle proxies, ignoring proxy.sym_ops.

double cctbx::geometry_restraints::bond_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
bond_sorted_asu_proxies_base const &  sorted_asu_proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array,
bool  disable_cache = false 
) [inline]

Fast computation of sum of bond::residual() and gradients given managed proxies.

The bond::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

Intermediate results are accumulated in an asu cache until disable_cache=true. The accumulated results are mapped back to the original sites at the end of the calculation. This is faster but requires more memory.

References sorted_asu_proxies::asu, sorted_asu_proxies::asu_active_flags, sorted_asu_proxies::asu_mappings(), bond_residual_sum(), and sorted_asu_proxies::simple.

double cctbx::geometry_restraints::bond_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< bond_simple_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of bond::residual() and gradients given an array of bond proxies.

The bond::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

Referenced by bond_residual_sum().

double cctbx::geometry_restraints::bond_similarity_residual_sum ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< bond_similarity_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of bond_similarity::residual() and gradients given an array of bond_similarity proxies, taking account of proxy.sym_ops.

The bond_similarity::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

double cctbx::geometry_restraints::bond_similarity_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< bond_similarity_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of bond_similarity::residual() and gradients given an array of bond_similarity proxies, ignoring proxy.sym_ops.

The bond_similarity::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

double cctbx::geometry_restraints::chirality_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< chirality_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of chirality::residual() and gradients given an array of chirality proxies.

The chirality::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

af::shared<double> cctbx::geometry_restraints::chirality_residuals ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< chirality_proxy > const &  proxies 
) [inline]

Fast computation of chirality::residual() given an array of chirality proxies.

af::shared<double> cctbx::geometry_restraints::dihedral_deltas ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< dihedral_proxy > const &  proxies 
) [inline]

Fast computation of dihedral::delta given an array of dihedral proxies, taking into account proxy.sym_ops.

af::shared<double> cctbx::geometry_restraints::dihedral_deltas ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< dihedral_proxy > const &  proxies 
) [inline]

Fast computation of dihedral::delta given an array of dihedral proxies, ignoring proxy.sym_ops.

double cctbx::geometry_restraints::dihedral_residual_sum ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< dihedral_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of dihedral::residual() and gradients given an array of dihedral proxies, taking into account proxy.sym_ops.

The dihedral::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

double cctbx::geometry_restraints::dihedral_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< dihedral_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of dihedral::residual() and gradients given an array of dihedral proxies, ignoring proxy.sym_ops.

The dihedral::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

af::shared<double> cctbx::geometry_restraints::dihedral_residuals ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< dihedral_proxy > const &  proxies 
) [inline]

Fast computation of dihedral::residual() given an array of dihedral proxies, taking into account proxy.sym_ops.

af::shared<double> cctbx::geometry_restraints::dihedral_residuals ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< dihedral_proxy > const &  proxies 
) [inline]

Fast computation of dihedral::residual() given an array of dihedral proxies, ignoring proxy.sym_ops.

double cctbx::geometry_restraints::nonbonded_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
nonbonded_sorted_asu_proxies_base const &  sorted_asu_proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array,
NonbondedFunction const &  function,
bool  disable_cache = false 
) [inline]

Fast computation of sum of nonbonded::residual() and gradients given managed proxies.

The nonbonded::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

Intermediate results are accumulated in an asu cache until disable_cache=true. The accumulated results are mapped back to the original sites at the end of the calculation. This is faster but requires more memory.

References sorted_asu_proxies::asu, sorted_asu_proxies::asu_active_flags, sorted_asu_proxies::asu_mappings(), nonbonded_residual_sum(), and sorted_asu_proxies::simple.

double cctbx::geometry_restraints::nonbonded_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< nonbonded_simple_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array,
NonbondedFunction const &  function 
) [inline]

Fast computation of sum of nonbonded::residual() and gradients given an array of nonbonded proxies.

The nonbonded::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

References nonbonded::add_gradients(), and nonbonded::residual().

Referenced by nonbonded_residual_sum().

double cctbx::geometry_restraints::planarity_residual_sum ( uctbx::unit_cell const &  unit_cell,
af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< planarity_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of planarity::residual() and gradients given an array of planarity sym proxies, taking account of proxy.sym_ops.

The planarity::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

double cctbx::geometry_restraints::planarity_residual_sum ( af::const_ref< scitbx::vec3< double > > const &  sites_cart,
af::const_ref< planarity_proxy > const &  proxies,
af::ref< scitbx::vec3< double > > const &  gradient_array 
) [inline]

Fast computation of sum of planarity::residual() and gradients given an array of planarity proxies, ignoring proxy.sym_ops.

The planarity::gradients() are added to the gradient_array if gradient_array.size() == sites_cart.size(). gradient_array must be initialized before this function is called. No gradient calculations are performed if gradient_array.size() == 0.

scitbx::mat3<double> cctbx::geometry_restraints::r_inv_cart ( uctbx::unit_cell const &  unit_cell,
sgtbx::rt_mx const &  rt_mx 
) [inline]

Rotation part of rt_mx.inverse() in the cartesian system.

Useful for mapping gradients in cartesian space from the asymmetric unit to the original sites.

Inefficient implementation, the rotation matrices are NOT cached.

References unit_cell::fractionalization_matrix(), unit_cell::orthogonalization_matrix(), and rt_mx::r().

Referenced by planarity::add_gradients(), dihedral::add_gradients(), bond_similarity::add_gradients(), and angle::add_gradients().


Generated on Thu Jun 19 15:34:56 2014 for cctbx by  doxygen 1.5.6