|
occ
|
Simple 2-molecule projection (most common case) More...
#include <optimization_projection.h>
Public Member Functions | |
| TwoMoleculeProjection ()=default | |
| Vec | project_gradient (const Vec &grad_full) const |
| Project gradient from 12-DOF to 6-DOF. | |
| Vec | reconstruct_full (const Vec &x_proj, const Vec &x_base) const |
| Reconstruct full 12-DOF from 6-DOF. | |
| Vec | project_coordinates (const Vec &x_full, const Vec &x_base) const |
| Project coordinates from 12-DOF to 6-DOF. | |
Simple 2-molecule projection (most common case)
For 2 molecules, the simplest projection:
This is equivalent to optimizing in relative coordinates.
|
default |
| Vec occ::mults::TwoMoleculeProjection::project_coordinates | ( | const Vec & | x_full, |
| const Vec & | x_base | ||
| ) | const |
Project coordinates from 12-DOF to 6-DOF.
x_proj = x_full[6:12] - x_base[6:12]
| x_full | 12-element full coordinates |
| x_base | 12-element base configuration |
Project gradient from 12-DOF to 6-DOF.
grad_proj = [grad_mol2_pos; grad_mol2_orient]
| grad_full | 12-element gradient [mol1_pos, mol1_orient, mol2_pos, mol2_orient] |
| Vec occ::mults::TwoMoleculeProjection::reconstruct_full | ( | const Vec & | x_proj, |
| const Vec & | x_base | ||
| ) | const |
Reconstruct full 12-DOF from 6-DOF.
x_full = [x_base[0:6]; x_base[0:6] + x_proj]
| x_proj | 6-element vector [mol2_pos, mol2_orient] |
| x_base | 12-element base configuration |