#include <colvartypes.h>
Public Member Functions | |
| rvector () | |
| rvector (cvm::real const &x_i, cvm::real const &y_i, cvm::real const &z_i) | |
| rvector (cvm::real v) | |
| void | set (cvm::real const value=0.0) |
| Set all components to a scalar value. | |
| void | reset () |
| Set all components to zero. | |
| cvm::real & | operator[] (int const &i) |
| Access cartesian components by index. | |
| cvm::real const & | operator[] (int const &i) const |
| Access cartesian components by index. | |
| cvm::rvector & | operator= (cvm::real const &v) |
| void | operator+= (cvm::rvector const &v) |
| void | operator-= (cvm::rvector const &v) |
| void | operator *= (cvm::real const &v) |
| void | operator/= (cvm::real const &v) |
| cvm::real | norm2 () const |
| cvm::real | norm () const |
| cvm::rvector | unit () const |
Static Public Member Functions | |
| size_t | output_width (size_t const &real_width) |
| cvm::rvector | outer (cvm::rvector const &v1, cvm::rvector const &v2) |
Public Attributes | |
| cvm::real | x |
| cvm::real | y |
| cvm::real | z |
Friends | |
| cvm::rvector | operator- (cvm::rvector const &v) |
| int | operator== (cvm::rvector const &v1, cvm::rvector const &v2) |
| int | operator!= (cvm::rvector const &v1, cvm::rvector const &v2) |
| cvm::rvector | operator+ (cvm::rvector const &v1, cvm::rvector const &v2) |
| cvm::rvector | operator- (cvm::rvector const &v1, cvm::rvector const &v2) |
| cvm::real | operator * (cvm::rvector const &v1, cvm::rvector const &v2) |
| cvm::rvector | operator * (cvm::real const &a, cvm::rvector const &v) |
| cvm::rvector | operator * (cvm::rvector const &v, cvm::real const &a) |
| cvm::rvector | operator/ (cvm::rvector const &v, cvm::real const &a) |
Linear algebra functions and data types used in the collective variables implemented so far
Definition at line 15 of file colvartypes.h.
|
|
Definition at line 21 of file colvartypes.h.
|
|
||||||||||||||||
|
Definition at line 25 of file colvartypes.h.
|
|
|
Definition at line 31 of file colvartypes.h.
|
|
|
Definition at line 97 of file colvartypes.h. Referenced by colvar::dihedral::calc_force_invgrads(), colvar::min_distance::calc_gradients(), colvar::dihedral::calc_gradients(), colvar::min_distance::calc_value(), colvar::distance_xy::calc_value(), colvar::distance_z::calc_value(), colvar::distance::calc_value(), colvar::dihedral::calc_value(), colvar::angle::calc_value(), and colvarvalue::p2leg_opt(). 00098 {
00099 return ::sqrt (this->norm2());
00100 }
|
|
|
Definition at line 92 of file colvartypes.h. Referenced by colvarvalue::apply_constraints(), colvarmodule::quaternion::cos2(), colvar::distance_z::distance_z(), colvar::eigenvector::eigenvector(), and colvar::coordnum::switching_function().
|
|
|
Definition at line 78 of file colvartypes.h.
|
|
|
Definition at line 64 of file colvartypes.h.
|
|
|
Definition at line 71 of file colvartypes.h.
|
|
|
Definition at line 85 of file colvartypes.h.
|
|
|
Definition at line 56 of file colvartypes.h.
|
|
|
Access cartesian components by index.
Definition at line 51 of file colvartypes.h.
|
|
|
Access cartesian components by index.
Definition at line 46 of file colvartypes.h.
|
|
||||||||||||
|
Definition at line 113 of file colvartypes.h. 00114 {
00115 return cvm::rvector ( v1.y*v2.z - v2.y*v1.z,
00116 -v1.x*v2.z + v2.x*v1.z,
00117 v1.x*v2.y - v2.x*v1.y);
00118 }
|
|
|
Definition at line 107 of file colvartypes.h. 00108 {
00109 return 3*real_width + 10;
00110 }
|
|
|
Set all components to zero.
Definition at line 41 of file colvartypes.h.
|
|
|
Set all components to a scalar value.
Definition at line 36 of file colvartypes.h.
|
|
|
Definition at line 102 of file colvartypes.h. Referenced by colvar::distance::calc_force_invgrads(), colvar::dihedral::calc_force_invgrads(), colvar::distance::calc_gradients(), colvar::distance_dir::calc_value(), colvar::distance_xy::calc_value(), colvar::distance_z::calc_value(), colvar::distance_z::distance_z(), and colvarmodule::rotation::rotation(). 00103 {
00104 return cvm::rvector (x, y, z)/this->norm();
00105 }
|
|
||||||||||||
|
Definition at line 154 of file colvartypes.h. 00155 {
00156 return cvm::rvector (a*v.x, a*v.y, a*v.z);
00157 }
|
|
||||||||||||
|
Definition at line 149 of file colvartypes.h. 00150 {
00151 return cvm::rvector (a*v.x, a*v.y, a*v.z);
00152 }
|
|
||||||||||||
|
Definition at line 144 of file colvartypes.h. 00145 {
00146 return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
00147 }
|
|
||||||||||||
|
Definition at line 130 of file colvartypes.h. 00131 {
00132 return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z);
00133 }
|
|
||||||||||||
|
Definition at line 135 of file colvartypes.h. 00136 {
00137 return cvm::rvector (v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
00138 }
|
|
||||||||||||
|
Definition at line 139 of file colvartypes.h. 00140 {
00141 return cvm::rvector (v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
00142 }
|
|
|
Definition at line 120 of file colvartypes.h. 00121 {
00122 return cvm::rvector (-v.x, -v.y, -v.z);
00123 }
|
|
||||||||||||
|
Definition at line 159 of file colvartypes.h. 00160 {
00161 return cvm::rvector (v.x/a, v.y/a, v.z/a);
00162 }
|
|
||||||||||||
|
Definition at line 125 of file colvartypes.h. 00126 {
00127 return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
00128 }
|
|
|
|
1.3.9.1