Dear Chen,

I have found that xlf compilers (Ver 9.1 and earlier ones) generates
binaries, which produce wrong results. Test calculation on Diamond and
Graphite failed to produce correct results. So, I am using binaries
generated with intel compilers and they have passed the tests. This is
true for Siesta Development version 348.

Thank you

- Madan

2010/10/1 Marcos Veríssimo Alves <[email protected]>:
> Chen,
> I have never performed serious transport calculations to this moment, so I
> am not aware of the possible difficulties from the point of view of the
> physics. I was only talking with a focus on the numerics. Someone else could
> give you some answer on that, I suppose. However, if the compilers differe
> only in their bit precisions, then it is definitely worth trying to compile
> with a 32-bit compiler on the 64-bit machine. If you still get numerical
> differences after this - but then, once more, making sure that libraries and
> compilation options are EXACTLY the same on the two machines - then I would
> have no clue.
> Just out of curiosity, could you tell me what compiler and compilation flags
> you are using?
> Marcos
>
> On Fri, Oct 1, 2010 at 2:16 PM, holin chen <[email protected]> wrote:
>>
>> Marcos
>> Thank you for your advice, I will stick to the same compiler in future
>> calculation.
>> The compiler and compilation options are exactly the same. Have you ever
>> calculate such a small current before? I doubt it's because the current too
>> small and my "DM.Tolerance =0.005 "setting is too large. I will improve the
>> accuracy and see the results.
>> Now I am quite confused in the TS.TBT.NEigen and TS.TBT.Eta setting.
>> My electrodes is 6 Cu(111) atoms and the TS.TBT.NEigen is 3, is it too
>> small?
>> How to choose the TS.TBT.NEigen value , since the User's guide has little
>> introduction about it.
>> And what is TS.TBT.Eta mean? How it effect the results?
>> Thanks!
>> Holin Chen
>>
>> 2010/10/1 Marcos Veríssimo Alves <[email protected]>
>>>
>>> Chen,
>>> Apart from the processors being different in the bits, is the compiler
>>> exactly the same (I mean, same version for the compiler and libraries)? If
>>> so, are the compilation options the same in both clusters? If the answer to
>>> the two previous questions is yes, then it might be a matter of the
>>> precision in the representation of data in both clusters **due to the
>>> compiler you are using**, i.e., caused by the use of a different bit
>>> precision. I say "might" because I don't remember having tested this sort of
>>> thing before - luckily I always had access to the same kind of machines when
>>> it came to bit precision.
>>> I know that different compilers (different meaning ifort, pathscale and
>>> xlf90, for example) could give you slightly different final results, and
>>> then it is best to stick to the same compiler whenever possible, or at least
>>> to try to make differences as small as possible by use of compilation
>>> options that would ensure the same bit precision, if they are available (I
>>> think they exist for some compilers). At worst, you could try compiling with
>>> the same 32-bit compiler in both clusters, because then the internal
>>> representation might be the same and the precision problems would, in
>>> principle, disappear. 32-bit compilers should run without problems on 64-bit
>>> processors - the inverse is not possible, though.
>>> Marcos
>>>
>>> On Fri, Oct 1, 2010 at 1:13 PM, holin chen <[email protected]>
>>> wrote:
>>>>
>>>> Dear friends,
>>>>
>>>>         When I use transiesta to calculate a tunneling current point as
>>>> small as 10^-13 A, I met a problem that the values of an absolutely same
>>>> structure in 32-bit  cluster and 64-bit cluster are quite different. We
>>>> check a same structure in different voltage on different cluster and get 
>>>> the
>>>> current value list as follow:
>>>> V      =[1   V                                  1.5  V
>>>>                 2 V             ];
>>>> I64-bit=[2.38648209E-14 A        1.45968352E-13   A
>>>> 2.47311892E-14 A];
>>>> I32-bit=[4.67725291E-15 A        5.93199295E-14  A
>>>> 3.98557086E-14 A ];
>>>>  Then I compare the output file, find that the difference begin from the
>>>> transiesta calculation(see the underline in fig1).
>>>>
>>>>  And then we check another structure whose tunneling current is about
>>>> 10^-6 A, the difference between different cluster is as small as 7%, which
>>>> is acceptable.So I doubt if the current is too small so that a subtle
>>>> tolerance will cause large difference. If so , how can transiesta calculate
>>>> the small currents?
>>>>    My second problem is about the transmission plot. I don't know why
>>>> there are so many peaks on my plot (see fig2). Is it able to change some
>>>> settings from the fdf so that the plot could be a little smoother?  My fdf
>>>> file setting is as follow. There is a setting 'TS.TBT.Eta        0.000001
>>>> Ry' I underline by yellow color, which is copied from the example
>>>> "TranSIESTA_Steps". I can't find the explanation from the siesta User's
>>>> guide. Could you tell me the meaning of it?
>>>> Thanks a lot!
>>>>  Best wishes!
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------------------------
>>>>  SystemName     scat
>>>>
>>>> SystemLabel    scat
>>>>
>>>> %block kgrid_Monkhorst_Pack
>>>>
>>>>   30   0   0    0.0
>>>>
>>>>   0   20   0    0.0
>>>>
>>>>   0   0   1    0.0
>>>>
>>>> %endblock kgrid_Monkhorst_Pack
>>>>
>>>> xc.functional           LDA
>>>>
>>>> xc.authors              CA
>>>>
>>>> MeshCutoff              200.00000000 Ry
>>>>
>>>> SolutionMethod          Transiesta
>>>>
>>>> OccupationFunction      MP
>>>>
>>>> ElectronicTemperature   300 K
>>>>
>>>> SpinPolarized           F
>>>>
>>>> FixSpin                 F
>>>>
>>>> MaxSCFIterations        1000
>>>>
>>>> DM.NumberPulay          6
>>>>
>>>> DM.NumberBroyden        0
>>>>
>>>> DM.MixingWeight         0.1000000000
>>>>
>>>> DM.OccupancyTolerance   0.1000000000E-11
>>>>
>>>> DM.NumberKick           0
>>>>
>>>> DM.KickMixingWeight     0.5000000000
>>>>
>>>> DM.Tolerance            0.005
>>>>
>>>> UseSaveData             T
>>>>
>>>> MD.NumCGsteps           0
>>>>
>>>> MD.TypeOfRun            Verlet
>>>>
>>>> MD.VariableCell         F
>>>>
>>>> MD.MaxCGDispl           0.2000000000  Bohr
>>>>
>>>> MD.MaxForceTol          0.05 eV/Ang
>>>>
>>>> #MD.MaxStressTol        0.0001 eV/Ang**3
>>>>
>>>> Diag.ParallelOverK      F
>>>>
>>>> Diag.DivideAndConquer       F
>>>>
>>>> PAO.EnergyShift         50 meV
>>>>
>>>> PAO.SplitNorm           0.1500000000
>>>>
>>>> PAO.BasisType           split
>>>>
>>>> WriteMullikenPop                0
>>>>
>>>> WriteBands                      F
>>>>
>>>> SaveRho                         F
>>>>
>>>> SaveElectrostaticPotential      F
>>>>
>>>> SaveTotalPotential              F
>>>>
>>>> WriteCoorXmol                   T
>>>>
>>>> %block ExternalElectricField
>>>>
>>>>   0.000  0.000  0.000   V/Ang
>>>>
>>>> %endblock ExternalElectricField
>>>>
>>>> %include SPOSITIONS.fdf
>>>>
>>>> # Transiesta information
>>>>
>>>> SolutionMethod Transiesta
>>>>
>>>> # GENGF OPTIONS
>>>>
>>>> TS.ComplexContour.Emin        -28 eV
>>>>
>>>> TS.ComplexContour.NPoles       16
>>>>
>>>> TS.ComplexContour.NCircle      16
>>>>
>>>> TS.ComplexContour.NLine        10
>>>>
>>>> # BIAS OPTIONS
>>>>
>>>> TS.biasContour.NumPoints       10
>>>>
>>>> # TS OPTIONS
>>>>
>>>> TS.Voltage   1.15 eV
>>>>
>>>> # TBT OPTIONS
>>>>
>>>> TS.TBT.Emin -3 eV
>>>>
>>>> TS.TBT.Emax +3 eV
>>>>
>>>> TS.TBT.NPoints 500
>>>>
>>>> TS.TBT.NEigen 3
>>>>
>>>> TS.TBT.Eta        0.000001 Ry
>>>>
>>>> # Write electrode hamiltonian
>>>>
>>>> TS.SaveHS   .true.
>>>>
>>>> TS.SaveLead .true.
>>>>
>>>> # LEFT ELECTRODE
>>>>
>>>> TS.HSFileLeft  ./Left-elec.TSHS
>>>>
>>>> TS.NumUsedAtomsLeft   6
>>>>
>>>> TS.BufferAtomsLeft    0
>>>>
>>>> # RIGHT ELECTRODE
>>>>
>>>> TS.HSFileRight  ./Right-elec.TSHS
>>>>
>>>> TS.NumUsedAtomsRight  6
>>>>
>>>> TS.BufferAtomsRight   0
>>>>
>>>>
>>>>
>>>> Holin Chen
>>
>
>



-- 
----------------------------------------
Madan Mithra .L.M
Senior Research Fellow
Dept.of Physics
Indian Institute of Science
Bangalore - 560 012
INDIA
.........................................
Phone : 91-80-22932313 (Lab)
 FAX   : (080) 360 2602
----------------------------------------

Responder a