Maps and manages symmetry relationships between dimers in a crystal.  
 More...
#include <dimer_mapping_table.h>
Maps and manages symmetry relationships between dimers in a crystal. 
DimerMappingTable provides functionality to analyze and track symmetry relationships between dimers in a crystal structure, including mapping between unique and symmetry-related dimers. 
 
◆ build_dimer_table()
Constructs a dimer mapping table for a crystal structure. 
- Parameters
 - 
  
    | crystal | The crystal structure to analyze  | 
    | dimers | The set of crystal dimers to process  | 
    | consider_inversion | Whether to include inversion symmetry  | 
  
   
- Returns
 - A new DimerMappingTable instance 
 
 
 
◆ canonical_dimer_index()
Gets the Normalized dimer index (a,b sorted and starting from 000 cell) 
- Parameters
 - 
  
  
 
- Returns
 - DimerIndex representing the provided dimer 
 
 
 
◆ dimer_index() [1/2]
Gets the dimer index for the given dimer. 
- Parameters
 - 
  
    | the | dimer object in question  | 
  
   
- Returns
 - DimerIndex representing the provided dimer 
 
 
 
◆ dimer_index() [2/2]
      
        
          | DimerIndex occ::crystal::DimerMappingTable::dimer_index  | 
          ( | 
          const Vec3 &  | 
          ,  | 
        
        
           | 
           | 
          const Vec3 &  | 
            | 
        
        
           | 
          ) | 
           |  const | 
        
      
 
Gets the dimer index for the given dimer specified by positions. 
- Parameters
 - 
  
    | The | two positions of dimer end points (fractional)  | 
  
   
- Returns
 - DimerIndex representing the provided dimer 
 
 
 
◆ dimer_positions()
      
        
          | std::pair< Vec3, Vec3 > occ::crystal::DimerMappingTable::dimer_positions  | 
          ( | 
          const core::Dimer &  | 
           | ) | 
           const | 
        
      
 
Gets a pair of positions for the given dimer (fractional) 
- Parameters
 - 
  
    | the | dimer object in question  | 
  
   
- Returns
 - pair of fractional coordinates for each half of the dimer 
 
 
 
◆ normalized_dimer_index()
Gets the Normalized dimer index (starting from 000 cell) 
- Parameters
 - 
  
  
 
- Returns
 - DimerIndex representing the provided dimer 
 
 
 
◆ symmetry_related_dimers()
      
        
          | std::vector< DimerIndex > occ::crystal::DimerMappingTable::symmetry_related_dimers  | 
          ( | 
          const DimerIndex &  | 
          dimer | ) | 
           const | 
        
      
 
Gets all symmetry-related forms of a given dimer. 
- Parameters
 - 
  
    | dimer | The dimer index to analyze  | 
  
   
- Returns
 - Vector of symmetry-related dimer indices 
 
 
 
◆ symmetry_unique_dimer()
Finds the symmetry-unique representative for a given dimer. 
- Parameters
 - 
  
    | dimer | The dimer index to analyze  | 
  
   
- Returns
 - DimerIndex representing the symmetry-unique form 
 
 
 
◆ symmetry_unique_dimer_map()
  
  
      
        
          | const auto & occ::crystal::DimerMappingTable::symmetry_unique_dimer_map  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ symmetry_unique_dimers()
  
  
      
        
          | const auto & occ::crystal::DimerMappingTable::symmetry_unique_dimers  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Gets all symmetry-unique dimers (including crystal symmetry) 
- Returns
 - Vector of symmetry-unique dimer indices 
 
 
 
◆ unique_dimers()
  
  
      
        
          | const auto & occ::crystal::DimerMappingTable::unique_dimers  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Gets all unique dimers (unique up to translation) 
- Returns
 - Vector of unique dimer indices 
 
 
 
The documentation for this class was generated from the following file: