#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 17 of file colvartypes.h.
|
|
Definition at line 23 of file colvartypes.h.
|
|
||||||||||||||||
|
Definition at line 27 of file colvartypes.h.
|
|
|
Definition at line 33 of file colvartypes.h.
|
|
|
Definition at line 99 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(), colvarvalue::p2leg_opt(), colvar::spin_angle::spin_angle(), and colvar::tilt::tilt(). 00100 {
00101 return std::sqrt (this->norm2());
00102 }
|
|
|
|
Definition at line 80 of file colvartypes.h.
|
|
|
Definition at line 66 of file colvartypes.h.
|
|
|
Definition at line 73 of file colvartypes.h.
|
|
|
Definition at line 87 of file colvartypes.h.
|
|
|
Definition at line 58 of file colvartypes.h.
|
|
|
Access cartesian components by index.
Definition at line 53 of file colvartypes.h.
|
|
|
Access cartesian components by index.
Definition at line 48 of file colvartypes.h.
|
|
||||||||||||
|
Definition at line 115 of file colvartypes.h. 00116 {
00117 return cvm::rvector ( v1.y*v2.z - v2.y*v1.z,
00118 -v1.x*v2.z + v2.x*v1.z,
00119 v1.x*v2.y - v2.x*v1.y);
00120 }
|
|
|
Definition at line 109 of file colvartypes.h. 00110 {
00111 return 3*real_width + 10;
00112 }
|
|
|
Set all components to zero.
Definition at line 43 of file colvartypes.h.
|
|
|
Set all components to a scalar value.
Definition at line 38 of file colvartypes.h.
|
|
|
Definition at line 104 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(). 00105 {
00106 return cvm::rvector (x, y, z)/this->norm();
00107 }
|
|
||||||||||||
|
Definition at line 156 of file colvartypes.h. 00157 {
00158 return cvm::rvector (a*v.x, a*v.y, a*v.z);
00159 }
|
|
||||||||||||
|
Definition at line 151 of file colvartypes.h. 00152 {
00153 return cvm::rvector (a*v.x, a*v.y, a*v.z);
00154 }
|
|
||||||||||||
|
Definition at line 146 of file colvartypes.h. 00147 {
00148 return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
00149 }
|
|
||||||||||||
|
Definition at line 132 of file colvartypes.h. 00133 {
00134 return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z);
00135 }
|
|
||||||||||||
|
Definition at line 137 of file colvartypes.h. 00138 {
00139 return cvm::rvector (v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
00140 }
|
|
||||||||||||
|
Definition at line 141 of file colvartypes.h. 00142 {
00143 return cvm::rvector (v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
00144 }
|
|
|
Definition at line 122 of file colvartypes.h. 00123 {
00124 return cvm::rvector (-v.x, -v.y, -v.z);
00125 }
|
|
||||||||||||
|
Definition at line 161 of file colvartypes.h. 00162 {
00163 return cvm::rvector (v.x/a, v.y/a, v.z/a);
00164 }
|
|
||||||||||||
|
Definition at line 127 of file colvartypes.h. 00128 {
00129 return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
00130 }
|
|
|
|
1.3.9.1