|
| Eigen::Vector4d | occ::mults::quaternion_gradient (const Eigen::Quaterniond &q, const Vec3 &grad_angle_axis) |
| | Convert angle-axis gradient to quaternion gradient.
|
| |
| void | occ::mults::apply_quaternion_gradient_step (Eigen::Quaterniond &q, const Vec3 &grad_angle_axis, double step) |
| | Apply quaternion gradient update (gradient descent step)
|
| |
| CartesianForceResult | occ::mults::compute_site_pair_energy_force (const CartesianSite &siteA, const CartesianSite &siteB) |
| | Compute energy AND force gradient for a single pair of precomputed sites.
|
| |
| MoleculeForceResult | occ::mults::compute_molecule_forces (const CartesianMolecule &molA, const CartesianMolecule &molB) |
| | Compute per-site forces for two molecules.
|
| |
| RigidBodyForceResult | occ::mults::aggregate_rigid_body_forces (const std::vector< Vec3 > &site_forces, const std::vector< Vec3 > &site_positions, const Vec3 ¢er_of_mass, const Mat3 &rotation=Mat3::Identity()) |
| | Aggregate per-site forces into rigid body force and lever-arm torque.
|
| |
| FullRigidBodyResult | occ::mults::compute_molecule_forces_torques (const CartesianMolecule &molA, const CartesianMolecule &molB, double site_cutoff=0.0, int max_interaction_order=-1, const Vec3 &offset_B=Vec3::Zero(), const CutoffSpline *taper=nullptr) |
| | Full force/torque including multipole rotation contribution.
|
| |