ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Namespaces | Functions
read_atoms_helper.cpp File Reference
#include "read_atoms_helper.h"
#include "source_io/module_parameter/parameter.h"
#include "source_base/global_function.h"
#include "source_base/constants.h"
#include "source_base/mathzone.h"
#include "read_stru.h"
#include "print_cell.h"
#include "source_estate/read_orb.h"
#include <cmath>
#include <iostream>
#include <sstream>
Include dependency graph for read_atoms_helper.cpp:

Namespaces

namespace  unitcell
 

Functions

bool unitcell::validate_coordinate_system (const std::string &Coordinate, std::ofstream &ofs_warning)
 Validate coordinate system type.
 
void unitcell::allocate_atom_properties (Atom &atom, int na, double mass)
 Allocate and initialize atom property vectors.
 
void unitcell::set_atom_movement_flags (Atom &atom, int ia, const ModuleBase::Vector3< int > &mv)
 Set atom movement constraints based on fixed_atoms parameter.
 
void unitcell::autoset_magnetization (UnitCell &ucell, int nspin, std::ofstream &ofs_running)
 Set default magnetization if not explicitly specified.
 
bool unitcell::finalize_atom_positions (UnitCell &ucell, std::ofstream &ofs_running, std::ofstream &ofs_warning)
 Perform final validation and output.
 
ModuleBase::Vector3< double > unitcell::calculate_lattice_center (const ModuleBase::Matrix3 &latvec, const std::string &center_mode)
 Calculate lattice center for different centering modes.
 
void unitcell::transform_atom_coordinates (Atom &atom, int ia, const std::string &Coordinate, const ModuleBase::Vector3< double > &v, const ModuleBase::Matrix3 &latvec, double lat0, ModuleBase::Vector3< double > &latcenter)
 Convert between different coordinate systems.
 
void unitcell::process_magnetization (Atom &atom, int it, int ia, int nspin, bool input_vec_mag, bool input_angle_mag, std::ofstream &ofs_running)
 Convert between magnetization representations and output.
 
bool unitcell::parse_atom_properties (std::ifstream &ifpos, Atom &atom, int ia, ModuleBase::Vector3< int > &mv, bool &input_vec_mag, bool &input_angle_mag, bool &set_element_mag_zero)
 Parse optional atom properties (mag, angle1, angle2, lambda, sc, m, v)
 
bool unitcell::read_atom_type_header (int it, UnitCell &ucell, std::ifstream &ifpos, std::ofstream &ofs_running, std::ofstream &ofs_warning, bool &set_element_mag_zero)
 Read atom type metadata (label, magnetization, orbital info, atom count)