Top Page > Browsing
add_gcube.c
Date: 2018/05/01 02:47
Name: Riemann   <riemann.derakhshan@gmail.com>

Dear OpenMX developer and users,

In order to add two cube files-OpenMX3.8 output, I've done the same as the section "55" of the OpenMX3.8 manual- Analysis of difference charge density induced by the interaction. Moreover, I've set the keyword "scf.fixed.grid 0.000000000000 0.000000000000 0.000000000000", but when I want to add two cube files with the command " add_gcube A.cube A.cube AA.cube
", I got the empty file with only three lines such as below:

============== AA.cube ==================
eigenvalue=
eigenvalue=
0 0.387385 0.000000 0.000000
0 0.000000 0.000000 0.000000
0 0.000000 0.000000 0.000000
0 0.000000 0.000000 0.000000

==========================================

I would be very thankful if you guide me how I can fix it. Please find my input file in below.

Bests,
Riemann

=================================================================================
#
# File Name
#

System.CurrrentDirectory ./ # default=./
System.Name Gra
level.of.stdout 1 # default=1 (1-3)
level.of.fileout 1 # default=1 (0-2)
DATA.PATH /home/DFT/openmx3.8/DFT_DATA13


#
# Definition of Atomic Species
#

Species.Number 2
<Definition.of.Atomic.Species
C C6.0-s2p2d1 C_CA13
C1 C6.0-s1p1 C_CA13
Definition.of.Atomic.Species>

#
# Atoms
#

Atoms.Number 2
Atoms.SpeciesAndCoordinates.Unit FRAC # Ang|AU
<Atoms.SpeciesAndCoordinates # Unit=Ang.
1 C 0.333333333 -0.333333333 0.0000000000 2 2 0 0 0 0 0 off
2 C -0.333333333 0.333333333 0.0000000000 2 2 0 0 0 0 0 off
Atoms.SpeciesAndCoordinates>
Atoms.UnitVectors.Unit Ang # Ang|AU
<Atoms.UnitVectors # unit=Ang.
2.1161095828515917 -1.2217364373220367 0.0000000000000000
0.0000000000000000 2.4434728746440735 0.0000000000000000
0.0000000000000000 0.0000000000000000 20.0000000000000000
Atoms.UnitVectors>

#
# SCF or Electronic System
#

scf.XcType LDA # LDA|LSDA-CA|LSDA-PW|GGA-PBE
scf.SpinPolarization off # On|Off|NC
scf.SpinOrbit.Coupling off
scf.ElectronicTemperature 300.0 # default=300 (K)
scf.energycutoff 200.0 # default=150 (Ry)
scf.maxIter 200 # default=40
scf.EigenvalueSolver Band # DC|GDC|Cluster|Band
scf.Kgrid 10 10 1 # means 4x4x4
scf.Mixing.Type Rmm-Diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
scf.Init.Mixing.Weight 0.30 # default=0.30
scf.Min.Mixing.Weight 0.001 # default=0.001
scf.Max.Mixing.Weight 0.400 # default=0.40
scf.Mixing.History 15 # default=5
scf.Mixing.StartPulay 8 # default=6
scf.criterion 1.0e-8 # default=1.0e-6 (Hartree)
scf.lapack.dste dstevx # dstegr|dstedc|dstevx, default=dstevx


#
# MD or Geometry Optimization
#

MD.Type Nomd # Nomd|Opt|NVE|NVT_VS|NVT_NH
MD.maxIter 200 # default=1
MD.TimeStep 1.0 # default=0.5 (fs)
MD.Opt.criterion 2.0e-4 # default=1.0e-4 (Hartree/bohr)

#
# MO output
#

MO.fileout on # on|off, default=off
num.HOMOs 4 # default=1
num.LUMOs 4 # default=1
MO.Nkpoint 1
<MO.kpoint
0.3333333333333 0.3333333333333 0.0
MO.kpoint>


#
# Band structure
#

Band.dispersion on # on|off, default=off
# if <Band.KPath.UnitCell does not exist,
# the reciprical lattice vector is employed.
Band.Nkpath 3
<Band.kpath
60 0.3333333333333 0.3333333333333 0.0 0.0 0.0 0.0 K G
60 0.0 0.0 0.0 0.5 0.0 0.0 G X
60 0.5 0.0 0.0 0.3333333333333 0.3333333333333 0.0 X K
Band.kpath>

scf.fixed.grid 0.000000000000 0.000000000000 0.000000000000






メンテ
Page: [1]

Re: add_gcube.c ( No.1 )
Date: 2018/05/01 06:30
Name: Chi-Cheng Lee  <cclee.physics@gmail.com>

Dear Riemann,

By my intuition, something is wrong with the input cube files since there should be no "eigenvalue" in the cube format.
Could you first check whether you have normal output in the cube files for caseA.cube and caseB.cube
when you ran add_cube caseA.cube caseB.cube caseC.cube?

Cheers,
Chi-Cheng
メンテ
Re: add_gcube.c ( No.2 )
Date: 2018/05/01 12:14
Name: Riemann  <riemann.derakhshan@gmail.com>

Dear Chi-Cheng Lee,

Many thanks for your time. Herewith I've attached the topmost lines of the A.cube file, BTW, the mentioned cube file is produced by OpenMX-3.8 itself with the input files which also attached in below.

Bests,
Riemann

======================= A.cube =============================================

Absolute eigenvalue= 0.3873845 (Hartree) Relative eigenvalue= 0.5426405 (Hartree)
Chemical Potential=-0.1552559 (Hartree)
2 0.000000 0.000000 0.000000
18 0.222159 -0.128264 0.000000
18 0.000000 0.256527 0.000000
168 0.000000 0.000000 0.224967
6 -0.000000 1.332956 2.308747 0.000000
6 0.000000 2.665912 -0.000000 0.000000
-9.058E-05 -8.983E-05 -8.765E-05 -8.420E-05 -7.970E-05 -7.444E-05
-6.876E-05 -6.295E-05 -5.729E-05 -5.197E-05 -4.717E-05 -4.162E-05
-3.585E-05 -3.054E-05 -2.581E-05 -2.150E-05 -1.763E-05 -1.422E-05
-1.116E-05 -8.400E-06 -6.037E-06 -4.040E-06 -2.124E-06 -2.528E-07
0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00
=================================================================================

============================== symGra.dat ======================================
#
# File Name
#

System.CurrrentDirectory ./ # default=./
System.Name Gra
level.of.stdout 1 # default=1 (1-3)
level.of.fileout 1 # default=1 (0-2)
DATA.PATH /home/DFT/openmx3.8/DFT_DATA13


#
# Definition of Atomic Species
#

Species.Number 2
<Definition.of.Atomic.Species
C C6.0-s2p2d1 C_CA13
C1 C6.0-s1p1 C_CA13
Definition.of.Atomic.Species>

#
# Atoms
#

Atoms.Number 2
Atoms.SpeciesAndCoordinates.Unit FRAC # Ang|AU
<Atoms.SpeciesAndCoordinates # Unit=Ang.
1 C 0.333333333 -0.333333333 0.0000000000 2 2 0 0 0 0 0 off
2 C -0.333333333 0.333333333 0.0000000000 2 2 0 0 0 0 0 off
Atoms.SpeciesAndCoordinates>
Atoms.UnitVectors.Unit Ang # Ang|AU
<Atoms.UnitVectors # unit=Ang.
2.1161095828515917 -1.2217364373220367 0.0000000000000000
0.0000000000000000 2.4434728746440735 0.0000000000000000
0.0000000000000000 0.0000000000000000 20.0000000000000000
Atoms.UnitVectors>

#
# SCF or Electronic System
#

scf.XcType LDA # LDA|LSDA-CA|LSDA-PW|GGA-PBE
scf.SpinPolarization off # On|Off|NC
scf.SpinOrbit.Coupling off
scf.ElectronicTemperature 300.0 # default=300 (K)
scf.energycutoff 200.0 # default=150 (Ry)
scf.maxIter 200 # default=40
scf.EigenvalueSolver Band # DC|GDC|Cluster|Band
scf.Kgrid 10 10 1 # means 4x4x4
scf.Mixing.Type Rmm-Diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
scf.Init.Mixing.Weight 0.30 # default=0.30
scf.Min.Mixing.Weight 0.001 # default=0.001
scf.Max.Mixing.Weight 0.400 # default=0.40
scf.Mixing.History 15 # default=5
scf.Mixing.StartPulay 8 # default=6
scf.criterion 1.0e-8 # default=1.0e-6 (Hartree)
scf.lapack.dste dstevx # dstegr|dstedc|dstevx, default=dstevx


#
# MD or Geometry Optimization
#

MD.Type Nomd # Nomd|Opt|NVE|NVT_VS|NVT_NH
MD.maxIter 200 # default=1
MD.TimeStep 1.0 # default=0.5 (fs)
MD.Opt.criterion 2.0e-4 # default=1.0e-4 (Hartree/bohr)

#
# MO output
#

MO.fileout on # on|off, default=off
num.HOMOs 4 # default=1
num.LUMOs 4 # default=1
MO.Nkpoint 1
<MO.kpoint
0.3333333333333 0.3333333333333 0.0
MO.kpoint>


#
# Band structure
#

Band.dispersion on # on|off, default=off
# if <Band.KPath.UnitCell does not exist,
# the reciprical lattice vector is employed.
Band.Nkpath 3
<Band.kpath
60 0.3333333333333 0.3333333333333 0.0 0.0 0.0 0.0 K G
60 0.0 0.0 0.0 0.5 0.0 0.0 G X
60 0.5 0.0 0.0 0.3333333333333 0.3333333333333 0.0 X K
Band.kpath>

scf.fixed.grid 0.000000000000 0.000000000000 0.000000000000
メンテ
Re: add_gcube.c ( No.3 )
Date: 2018/05/01 13:33
Name: Chi-Cheng Lee  <cclee.physics@gmail.com>

Dear Riemann,

Oh, I see. Maybe it is easier that you just keep the first words in your
first and second lines, such as
absolute
chemical.
I think the code will read only one word per line (for your first and second lines).
The words after Absolute and Chemical will confuse the code.
And you can easily check the sum by reading the output file with this option.

Regards,
Chi-Cheng
メンテ
Re: add_gcube.c ( No.4 )
Date: 2018/05/02 01:31
Name: Naoya Yamaguchi

Dear Riemann,

I guess that "A.cube" is about LUMO.
"add_gcube" and "diff_gcube" are not be available for LUMO or HOMO without modification.

Besides the above solution, I leave an example of modifying "add_gcube.c" and "diff_gcube.c" so that cube files about LUMO or HOMO can be readable without erasing the strings in the first two lines in "A.cube" except the first column's one.

Lines 64, 65

fscanf(fp1,"%s",ctmp); -> fgets(ctmp, sizeof(ctmp), fp1);
fscanf(fp1,"%s",ctmp); -> fgets(ctmp, sizeof(ctmp), fp1);

Lines 120, 121

fscanf(fp2,"%s",ctmp); -> fgets(ctmp, sizeof(ctmp), fp2);
fscanf(fp2,"%s",ctmp); -> fgets(ctmp, sizeof(ctmp), fp2);

Lines 256, 257

fprintf(fp1,"%s\n",ctmp); -> fprintf(fp1,"%s",ctmp);
fprintf(fp1,"%s\n",ctmp); -> fprintf(fp1,"%s",ctmp);

Regards,
Naoya Yamaguchi
メンテ
Re: add_gcube.c ( No.5 )
Date: 2018/05/01 16:48
Name: Riemann

Dear Naoya Yamaguchi,

Thank you so much for your great help about modification of add(diff)_gcube files.

Bests,
Riemann
メンテ

Page: [1]

Thread Title (must) Move the thread to the top
Your Name (must)
E-Mail (must)
URL
Password (used in modification of the submitted text)
Comment (must)

   Save Cookie