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
>

Responder a