Skip to content

Commit c7ea97c

Browse files
authored
Update the file names controlled by the out_pot command (#6240)
* fix a bug, when out_chg becomes 2, the read in function fails * update out_dm and out_dm1 parameters and documents * update io_dmk unittests * update autotests for out_dm and out_dm1 * update reference data * update 04_NO_KP_GTH * update out_pot command * update ref pot
1 parent 91b3c82 commit c7ea97c

File tree

14 files changed

+17
-18
lines changed

14 files changed

+17
-18
lines changed

docs/advanced/input_files/input-main.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1626,16 +1626,15 @@ These variables are used to control the output of properties.
16261626
- **Type**: Integer
16271627
- **Description**:
16281628
- 1: Output the **total local potential** (i.e., local pseudopotential + Hartree potential + XC potential + external electric field (if exists) + dipole correction potential (if exists) + ...) on real space grids (in Ry) into files in the folder `OUT.${suffix}`. The files are named as:
1629-
- nspin = 1: SPIN1_POT.cube;
1630-
- nspin = 2: SPIN1_POT.cube, and SPIN2_POT.cube;
1631-
- nspin = 4: SPIN1_POT.cube, SPIN2_POT.cube, SPIN3_POT.cube, and SPIN4_POT.cube.
1632-
- 2: Output the **electrostatic potential** on real space grids into `OUT.${suffix}/ElecStaticPot.cube`. The Python script named `tools/average_pot/aveElecStatPot.py` can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE.
1633-
1629+
- nspin = 1: `pots1.cube`;
1630+
- nspin = 2: `pots1.cube` and `pots2.cube`;
1631+
- nspin = 4: `pots1.cube`, `pots2.cube`, `pots3.cube`, and `pots4.cube`
1632+
- 2: Output the **electrostatic potential** on real space grids into `OUT.${suffix}/pot_es.cube`. The Python script named `tools/average_pot/aveElecStatPot.py` can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE.
16341633
Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential.
16351634
- 3: Apart from 1, also output the **total local potential** of the initial charge density. The files are named as:
1636-
- nspin = 1: SPIN1_POT_INI.cube;
1637-
- nspin = 2: SPIN1_POT_INI.cube, and SPIN2_POT_INI.cube;
1638-
- nspin = 4: SPIN1_POT_INI.cube, SPIN2_POT_INI.cube, SPIN3_POT_INI.cube, and SPIN4_POT_INI.cube.
1635+
- nspin = 1: `pots1_ini.cube`;
1636+
- nspin = 2: `pots1_ini.cube` and `pots2_ini.cube`;
1637+
- nspin = 4: `pots1_ini.cube`, `pots2_ini.cube`, `pots3_ini.cube`, and `pots4_ini.cube`
16391638

16401639
In molecular dynamics calculations, the output frequency is controlled by [out_interval](#out_interval).
16411640
- **Default**: 0
@@ -1657,7 +1656,7 @@ These variables are used to control the output of properties.
16571656

16581657
- **Type**: Boolean
16591658
- **Availability**: Numerical atomic orbital basis (multi-k points)
1660-
- **Description**: Whether to output the density matrix with Bravias lattice vector R, labelled as DM(R), into files in the folder `OUT.${suffix}`. The files are named as `dmr{s}{spin index}{g}{geometry index}{_nao} + {".csr"}`. Here, 's' refers to spin, where s1 means spin up channel while s2 means spin down channel, and the sparse matrix format 'csr' is mentioned in [out_mat_hs2](#out_mat_hs2). Finally, if [out_app_flag](#out_app_flag) is set to false, the file name contains the optinal 'g' index for each ionic step that may have different geometries, and if [out_app_flag](#out_app_flag) is set to true, the density matrix with respect to Bravias lattice vector R accumulates during ionic steps:
1659+
- **Description**: Whether to output the density matrix with Bravias lattice vector R index into files in the folder `OUT.${suffix}`. The files are named as `dmr{s}{spin index}{g}{geometry index}{_nao} + {".csr"}`. Here, 's' refers to spin, where s1 means spin up channel while s2 means spin down channel, and the sparse matrix format 'csr' is mentioned in [out_mat_hs2](#out_mat_hs2). Finally, if [out_app_flag](#out_app_flag) is set to false, the file name contains the optinal 'g' index for each ionic step that may have different geometries, and if [out_app_flag](#out_app_flag) is set to true, the density matrix with respect to Bravias lattice vector R accumulates during ionic steps:
16611660
- nspin = 1: `dmrs1_nao.csr`;
16621661
- nspin = 2: `dmrs1_nao.csr` and `dmrs2_nao.csr` for the two spin channels.
16631662
- **Default**: False

source/module_esolver/esolver_fp.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ void ESolver_FP::after_scf(UnitCell& ucell, const int istep, const bool conv_eso
196196
{
197197
for (int is = 0; is < PARAM.inp.nspin; is++)
198198
{
199-
std::string fn =PARAM.globalv.global_out_dir + "/SPIN" + std::to_string(is + 1) + "_POT.cube";
199+
std::string fn =PARAM.globalv.global_out_dir + "/pots" + std::to_string(is + 1) + ".cube";
200200

201201
ModuleIO::write_vdata_palgrid(Pgrid,
202202
this->pelec->pot->get_effective_v(is),
@@ -212,7 +212,7 @@ void ESolver_FP::after_scf(UnitCell& ucell, const int istep, const bool conv_eso
212212
}
213213
else if (PARAM.inp.out_pot == 2)
214214
{
215-
std::string fn =PARAM.globalv.global_out_dir + "/ElecStaticPot.cube";
215+
std::string fn =PARAM.globalv.global_out_dir + "/pot_es.cube";
216216
ModuleIO::write_elecstat_pot(
217217
#ifdef __MPI
218218
this->pw_big->bz,
@@ -359,7 +359,7 @@ void ESolver_FP::before_scf(UnitCell& ucell, const int istep)
359359
for (int is = 0; is < PARAM.inp.nspin; is++)
360360
{
361361
std::stringstream ss;
362-
ss << PARAM.globalv.global_out_dir << "SPIN" << is + 1 << "_POT_INI.cube";
362+
ss << PARAM.globalv.global_out_dir << "pots" << is + 1 << "_ini.cube";
363363
ModuleIO::write_vdata_palgrid(this->Pgrid,
364364
this->pelec->pot->get_effective_v(is),
365365
is,
File renamed without changes.

tests/03_NAO_multik/38_NO_OP/INPUT renamed to tests/03_NAO_multik/38_NO_OP3/INPUT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ nbands 6
77
symmetry 1
88
pseudo_dir ../../PP_ORB
99
orbital_dir ../../PP_ORB
10-
out_pot 1
10+
out_pot 3
1111

1212
#Parameters (2.Iteration)
1313
ecutwfc 5
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)