occ
Loading...
Searching...
No Matches
crystal_optimizer.h File Reference
#include <occ/mults/crystal_energy.h>
#include <occ/mults/lbfgs.h>
#include <occ/mults/mstmin.h>
#include <occ/mults/trust_region.h>
#include <occ/crystal/crystal.h>
#include <functional>
#include <optional>
#include <string>
#include <fstream>
Include dependency graph for crystal_optimizer.h:

Classes

struct  occ::mults::SymmetryMapping
 Maps unit cell molecules to their symmetry-independent representatives. More...
 
struct  occ::mults::SymmetryMapping::UCMoleculeInfo
 Information about how a UC molecule relates to its independent representative. More...
 
struct  occ::mults::SymmetryMapping::IndependentMoleculeInfo
 DOF and projection info for each independent molecule. More...
 
struct  occ::mults::CrystalOptimizerSettings
 Settings for crystal structure optimization. More...
 
struct  occ::mults::CrystalOptimizerResult
 Result from crystal structure optimization. More...
 
class  occ::mults::CrystalOptimizer
 Rigid molecule crystal structure optimizer. More...
 

Namespaces

namespace  occ
 
namespace  occ::mults
 

Enumerations

enum class  occ::mults::OptimizationMethod { occ::mults::MSTMIN , occ::mults::LBFGS , occ::mults::TrustRegion , occ::mults::TrustRegionBFGS }
 Optimization method selection. More...
 

Functions

SymmetryMapping occ::mults::build_symmetry_mapping (const crystal::Crystal &crystal)
 Build symmetry mapping from crystal structure.
 
std::vector< MoleculeStateocc::mults::generate_uc_states (const std::vector< MoleculeState > &independent_states, const SymmetryMapping &mapping)
 Generate all Z unit cell states from Z' independent states.
 
void occ::mults::accumulate_gradients (const std::vector< Vec3 > &uc_forces, const std::vector< Vec3 > &uc_torques, const SymmetryMapping &mapping, std::vector< Vec3 > &indep_forces, std::vector< Vec3 > &indep_torques)
 Accumulate UC-level forces/torques back to independent molecules.