1#ifndef MODULE_IO_CIF_IO_H
2#define MODULE_IO_CIF_IO_H
108 static void write(
const std::string& fcif,
109 const double* abc_angles,
111 const std::string* atom_site_labels,
112 const double* atom_site_fract_coords,
113 const std::string& title =
"# generated by ABACUS",
114 const std::string& data_tag =
"data_?",
116 const double* atom_site_occups =
nullptr,
117 const std::string& cell_formula_units_z =
"1");
131 static void write(
const std::string& fcif,
132 const std::vector<double>& abc_angles,
133 const std::vector<std::string>& atom_site_labels,
134 const std::vector<double>& atom_site_fract_coords,
135 const std::string& title =
"# generated by ABACUS",
136 const std::string& data_tag =
"data_?",
138 const std::vector<double>& atom_site_occups = {},
139 const std::string& cell_formula_units_z =
"1");
154 static void write(
const std::string& fcif,
156 const std::string& title =
"# generated by ABACUS",
157 const std::string& data_tag =
"data_?",
166 static void read(
const std::string& fcif,
167 std::map<std::string, std::vector<std::string>>& out,
178 std::vector<std::string>
get(
const std::string& key);
183 std::vector<double>& veca,
184 std::vector<double>& vecb,
185 std::vector<double>& vecc,
187 std::vector<std::string>& atom_site_labels,
188 std::vector<double>& atom_site_fract_coords);
191 std::map<std::string, std::vector<std::string>>
raw_;
static void write(const std::string &fcif, const double *abc_angles, const int natom, const std::string *atom_site_labels, const double *atom_site_fract_coords, const std::string &title="# generated by ABACUS", const std::string &data_tag="data_?", const int rank=0, const double *atom_site_occups=nullptr, const std::string &cell_formula_units_z="1")
Print the CIF file from the given information.
Definition cif_io.cpp:319
static void read(const std::string &fcif, std::map< std::string, std::vector< std::string > > &out, const int rank=0)
Read the CIF file and store the information in the map.
Definition cif_io.cpp:464
~CifParser()
Definition cif_io.h:92
std::vector< std::string > get(const std::string &key)
get information by key from the stored information of cif file, if the key is not found,...
Definition cif_io.cpp:519
std::map< std::string, std::vector< std::string > > raw_
Definition cif_io.h:191
static void _unpack_ucell(const UnitCell &ucell, std::vector< double > &veca, std::vector< double > &vecb, std::vector< double > &vecc, int &natom, std::vector< std::string > &atom_site_labels, std::vector< double > &atom_site_fract_coords)
Definition cif_io.cpp:278
This class has two functions: restart psi from the previous calculation, and write psi to the disk.
Definition cal_dos.h:9