Bsoft 2.1.4
Bernard's software package
rwsymop.cpp File Reference

Library routines to read and write symmetry operators. More...

#include "rwsymop.h"
#include "star.h"
#include "sym_tags.h"
#include "linked_list.h"
#include "utilities.h"

Functions

char * read_symop_star (Bstring &filename, int spacegroup, int &nsym)
 
char * read_symop_lib (Bstring &filename, int spacegroup, int &nsym)
 
int write_symop_star (Bstring &filename, int spacegroup, int nsym, char *symop, int line_len)
 
int write_pointgroup_star (Bstring &filename, Bsymmetry &sym, View ref_view)
 
float * sym_matrices_from_text_list (int nsym, char *symop, int line_len)
 Calculates symmetry matrices from a list of strings. More...
 
float * read_symat (Bstring &filename, int spacegroup, int &nsym)
 Reading crystallographic symmetry operators. More...
 
char * read_symop (Bstring &symopfile, int spacegroup, int &nsym)
 Reading crystallographic symmetry operators. More...
 
int write_symat (Bstring &filename, int spacegroup)
 Writing crystallographic symmetry operators. More...
 
int write_pointgroup (Bstring &filename, Bstring &symmetry_string, View ref_view)
 Writing point group symmetry operators. More...
 
int write_pointgroup (Bstring &filename, Bsymmetry &sym, View ref_view)
 

Variables

int verbose
 

Detailed Description

Library routines to read and write symmetry operators.

Author
Bernard Heymann
Date
Created: 19991225
Modified: 20210328

Function Documentation

◆ read_symat()

float * read_symat ( Bstring filename,
int  spacegroup,
int &  nsym 
)

Reading crystallographic symmetry operators.

Parameters
&filenamefile name.
spacegroupcrystal space group number.
&nsymnumber of symmetry operators.
Returns
float* set of 12-value symmetry matrices.
The symmetry operators are encoded as a set of matrices.

◆ read_symop()

char * read_symop ( Bstring symopfile,
int  spacegroup,
int &  nsym 
)

Reading crystallographic symmetry operators.

Parameters
&symopfilefile name.
spacegroupcrystal space group number.
&nsymnumber of symmetry operators.
Returns
char* set of 12-value symmetry matrices.
The symmetry operators are encoded as 80 character lines.

◆ read_symop_lib()

char * read_symop_lib ( Bstring filename,
int  spacegroup,
int &  nsym 
)

◆ read_symop_star()

char * read_symop_star ( Bstring filename,
int  spacegroup,
int &  nsym 
)

◆ sym_matrices_from_text_list()

float * sym_matrices_from_text_list ( int  nsym,
char *  symop,
int  line_len 
)

Calculates symmetry matrices from a list of strings.

Parameters
nsymnumber of symmetry operators.
*symoparray of symmetry operator lines.
line_lenlength of text line in the array.
Returns
float* a set of 12-value symmetry matrices.
The list of strings is expected to be packed into a single character
array with a fixed length for each string. Each string encodes a
symmetry operation in terms of x, y and z operations in reciprocal
space.

◆ write_pointgroup() [1/2]

int write_pointgroup ( Bstring filename,
Bstring symmetry_string,
View  ref_view 
)

Writing point group symmetry operators.

Parameters
&filenamefile name.
&symmetry_stringsymmetry string.
ref_viewreference view.
Returns
int error code (<0 means failure).

◆ write_pointgroup() [2/2]

int write_pointgroup ( Bstring filename,
Bsymmetry sym,
View  ref_view 
)

◆ write_pointgroup_star()

int write_pointgroup_star ( Bstring filename,
Bsymmetry sym,
View  ref_view 
)

◆ write_symat()

int write_symat ( Bstring filename,
int  spacegroup 
)

Writing crystallographic symmetry operators.

Parameters
&filenamefile name.
spacegroupcrystal space group number.
Returns
int error code (<0 means failure).

◆ write_symop_star()

int write_symop_star ( Bstring filename,
int  spacegroup,
int  nsym,
char *  symop,
int  line_len 
)

Variable Documentation

◆ verbose

int verbose
extern