occ
Loading...
Searching...
No Matches
occ::mults::TwoMoleculeProjection Class Reference

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.
 

Detailed Description

Simple 2-molecule projection (most common case)

For 2 molecules, the simplest projection:

  • Molecule 1 fixed at origin with identity rotation
  • Molecule 2 free to move (6 DOF)
  • 12 DOF → 6 DOF

This is equivalent to optimizing in relative coordinates.

Constructor & Destructor Documentation

◆ TwoMoleculeProjection()

occ::mults::TwoMoleculeProjection::TwoMoleculeProjection ( )
default

Member Function Documentation

◆ project_coordinates()

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]

Parameters
x_full12-element full coordinates
x_base12-element base configuration
Returns
6-element projected coordinates

◆ project_gradient()

Vec occ::mults::TwoMoleculeProjection::project_gradient ( const Vec grad_full) const

Project gradient from 12-DOF to 6-DOF.

grad_proj = [grad_mol2_pos; grad_mol2_orient]

Parameters
grad_full12-element gradient [mol1_pos, mol1_orient, mol2_pos, mol2_orient]
Returns
6-element gradient [mol2_pos, mol2_orient]

◆ reconstruct_full()

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]

Parameters
x_proj6-element vector [mol2_pos, mol2_orient]
x_base12-element base configuration
Returns
12-element full coordinates

The documentation for this class was generated from the following file: