Skip to content

Commit 8c08f64

Browse files
authored
Merge branch 'develop' into rm-exx_abfs-abfs_index
2 parents 66d0bc8 + 388226b commit 8c08f64

File tree

126 files changed

+8889
-3587
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+8889
-3587
lines changed

source/Makefile.Objects

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,6 @@ OBJS_ESOLVER=esolver.o\
274274
esolver_of_tool.o\
275275
esolver_of_interface.o\
276276
pw_others.o\
277-
pw_setup.o\
278277

279278
OBJS_ESOLVER_LCAO=esolver_ks_lcao.o\
280279
esolver_ks_lcao_tddft.o\
@@ -547,7 +546,7 @@ OBJS_IO=input_conv.o\
547546
cal_test.o\
548547
write_dos_pw.o\
549548
nscf_fermi_surf.o\
550-
nscf_band.o\
549+
write_bands.o\
551550
cal_dos.o\
552551
cal_pdos_gamma.o\
553552
cal_pdos_multik.o\
@@ -580,6 +579,7 @@ OBJS_IO=input_conv.o\
580579
write_elecstat_pot.o\
581580
write_elf.o\
582581
write_dipole.o\
582+
write_init.o\
583583
td_current_io.o\
584584
write_libxc_r.o\
585585
output_log.o\
@@ -725,6 +725,7 @@ OBJS_SRCPW=H_Ewald_pw.o\
725725
fp_energy.o\
726726
setup_pot.o\
727727
setup_pwrho.o\
728+
setup_pwwfc.o\
728729
forces.o\
729730
forces_us.o\
730731
forces_nl.o\

source/source_cell/module_neighbor/test/prepare_unitcell.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class UcellTestPrepare
9898
}
9999
//lattice info
100100
ucell->lat0 = this->lat0;
101-
ucell->lat0_angstrom = ucell->lat0 * 0.529177;
101+
ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A;
102102
ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0;
103103
ucell->tpiba2 = ucell->tpiba * ucell->tpiba;
104104
ucell->latvec.e11 = this->latvec[0];

source/source_cell/read_atom_species.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ bool read_lattice_constant(std::ifstream& ifa,
150150
{
151151
ModuleBase::WARNING_QUIT("read_atom_species","Lattice constant <= 0.0");
152152
}
153-
lat0_angstrom = lat0 * 0.529177;
153+
lat0_angstrom = lat0 * ModuleBase::BOHR_TO_A;
154154
ModuleBase::GlobalFunc::OUT(ofs_running,"Lattice constant (Bohr)",lat0);
155155
ModuleBase::GlobalFunc::OUT(ofs_running,"Lattice constant (Angstrom)",lat0_angstrom);
156156
lat.tpiba = ModuleBase::TWO_PI / lat0;

source/source_cell/read_atoms.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -414,39 +414,39 @@ bool unitcell::read_atom_positions(UnitCell& ucell,
414414
}
415415
else if(Coordinate=="Cartesian_angstrom")
416416
{
417-
ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0;
417+
ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0;
418418
}
419419
else if(Coordinate=="Cartesian_angstrom_center_xy")
420420
{
421421
// calculate lattice center
422422
ucell.latcenter.x = (ucell.latvec.e11 + ucell.latvec.e21 + ucell.latvec.e31)/2.0;
423423
ucell.latcenter.y = (ucell.latvec.e12 + ucell.latvec.e22 + ucell.latvec.e32)/2.0;
424424
ucell.latcenter.z = 0.0;
425-
ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter;
425+
ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter;
426426
}
427427
else if(Coordinate=="Cartesian_angstrom_center_xz")
428428
{
429429
// calculate lattice center
430430
ucell.latcenter.x = (ucell.latvec.e11 + ucell.latvec.e21 + ucell.latvec.e31)/2.0;
431431
ucell.latcenter.y = 0.0;
432432
ucell.latcenter.z = (ucell.latvec.e13 + ucell.latvec.e23 + ucell.latvec.e33)/2.0;
433-
ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter;
433+
ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter;
434434
}
435435
else if(Coordinate=="Cartesian_angstrom_center_yz")
436436
{
437437
// calculate lattice center
438438
ucell.latcenter.x = 0.0;
439439
ucell.latcenter.y = (ucell.latvec.e12 + ucell.latvec.e22 + ucell.latvec.e32)/2.0;
440440
ucell.latcenter.z = (ucell.latvec.e13 + ucell.latvec.e23 + ucell.latvec.e33)/2.0;
441-
ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter;
441+
ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter;
442442
}
443443
else if(Coordinate=="Cartesian_angstrom_center_xyz")
444444
{
445445
// calculate lattice center
446446
ucell.latcenter.x = (ucell.latvec.e11 + ucell.latvec.e21 + ucell.latvec.e31)/2.0;
447447
ucell.latcenter.y = (ucell.latvec.e12 + ucell.latvec.e22 + ucell.latvec.e32)/2.0;
448448
ucell.latcenter.z = (ucell.latvec.e13 + ucell.latvec.e23 + ucell.latvec.e33)/2.0;
449-
ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter;
449+
ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter;
450450
}
451451
else if(Coordinate=="Cartesian_au")
452452
{

source/source_cell/test/prepare_unitcell.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ class UcellTestPrepare
9797
}
9898
//lattice info
9999
ucell->lat0 = this->lat0;
100-
ucell->lat0_angstrom = ucell->lat0 * 0.529177;
100+
ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A;
101101
ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0;
102102
ucell->tpiba2 = ucell->tpiba * ucell->tpiba;
103103
ucell->latvec.e11 = this->latvec[0];

source/source_cell/update_cell.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ void setup_cell_after_vc(UnitCell& ucell, std::ofstream& log)
319319
ucell.omega * pow(ModuleBase::BOHR_TO_A, 3));
320320
}
321321

322-
ucell.lat0_angstrom = ucell.lat0 * 0.529177;
322+
ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A;
323323
ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0;
324324
ucell.tpiba2 = ucell.tpiba * ucell.tpiba;
325325

source/source_esolver/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ list(APPEND objects
1313
esolver_of_interface.cpp
1414
esolver_of_tool.cpp
1515
pw_others.cpp
16-
pw_setup.cpp
1716
)
1817
if(ENABLE_LCAO)
1918
list(APPEND objects

source/source_esolver/esolver_fp.cpp

Lines changed: 5 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@
1313
#include "source_io/print_info.h"
1414
#include "source_io/rhog_io.h"
1515
#include "source_io/module_parameter/parameter.h"
16-
#include "source_io/ctrl_output_fp.h"
1716

1817
#include "source_pw/module_pwdft/setup_pwrho.h" // mohan 20251005
1918
#include "source_hamilt/module_xc/xc_functional.h" // mohan 20251005
19+
#include "source_io/ctrl_output_fp.h"
20+
#include "source_io/write_init.h" // write_chg_init, write_pot_init
2021

2122
namespace ModuleESolver
2223
{
@@ -145,64 +146,9 @@ void ESolver_FP::before_scf(UnitCell& ucell, const int istep)
145146
//! set direction of magnetism, used in non-collinear case
146147
elecstate::cal_ux(ucell);
147148

148-
//! output the initial charge density
149-
const int nspin = PARAM.inp.nspin;
150-
if (PARAM.inp.out_chg[0] == 2)
151-
{
152-
for (int is = 0; is < nspin; is++)
153-
{
154-
std::stringstream ss;
155-
ss << PARAM.globalv.global_out_dir << "chg";
156-
157-
if(nspin==1)
158-
{
159-
ss << "ini.cube";
160-
}
161-
else if(nspin==2 || nspin==4)
162-
{
163-
ss << "s" << is + 1 << "ini.cube";
164-
}
165-
166-
ModuleIO::write_vdata_palgrid(this->Pgrid,
167-
this->chr.rho[is],
168-
is,
169-
nspin,
170-
istep,
171-
ss.str(),
172-
this->pelec->eferm.ef,
173-
&(ucell));
174-
}
175-
}
176-
177-
//! output total local potential of the initial charge density
178-
if (PARAM.inp.out_pot == 3)
179-
{
180-
for (int is = 0; is < nspin; is++)
181-
{
182-
std::stringstream ss;
183-
ss << PARAM.globalv.global_out_dir << "pot";
184-
185-
if(nspin==1)
186-
{
187-
ss << "ini.cube";
188-
}
189-
else if(nspin==2 || nspin==4)
190-
{
191-
ss << "s" << is + 1 << "ini.cube";
192-
}
193-
194-
ModuleIO::write_vdata_palgrid(this->Pgrid,
195-
this->pelec->pot->get_effective_v(is),
196-
is,
197-
nspin,
198-
istep,
199-
ss.str(),
200-
0.0, // efermi
201-
&(ucell),
202-
11, // precsion
203-
0); // out_fermi
204-
}
205-
}
149+
//! output the initial charge density and potential
150+
ModuleIO::write_chg_init(ucell, this->Pgrid, this->chr, this->pelec->eferm, istep, PARAM.inp);
151+
// ModuleIO::write_pot_init(ucell, this->Pgrid, this->pelec, istep, PARAM.inp);
206152

207153
return;
208154
}

source/source_esolver/esolver_gets.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void ESolver_GetS::before_all_runners(UnitCell& ucell, const Input_para& inp)
4343
this->kv.set(ucell, ucell.symm, inp.kpoint_file, inp.nspin, ucell.G, ucell.latvec, GlobalV::ofs_running);
4444
ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS");
4545

46-
ModuleIO::setup_parameters(ucell, this->kv);
46+
ModuleIO::print_parameters(ucell, this->kv, inp);
4747

4848
// 2) init ElecState
4949
// autoset nbands in ElecState, it should before basis_init (for Psi 2d division)

0 commit comments

Comments
 (0)