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 ----------------------------------------
