Menu

Fortran Runtime Error when defining both string and MPO observables

Technical
2018-12-21
2018-12-27
  • Sebastian Stumper

    Hello,

    I have a peculiar problem which seems to depend on the types of observables defined in my code. So far I ran static simulations defining site, corr and string observables in bosonic and spin-chains and everything worked. After adding MPO observables, directly copied from the example codes in https://openmps.sourceforge.io/pyautodoc/obsterms.html?highlight=addobservable#obsterms
    my Observables, e.g. in a spin chain, are

    myObservables = mps.Observables(Operators)
    
    myObservables.AddObservable('site', 'sz', 'z')
    
    myObservables.AddObservable('corr', ['sz', 'sz'], 'zz')
    myObservables.AddObservable('corr', ['splus', 'sminus'], 'pm')
    
    DefectDensity = mps.MPO(Operators)
    DefectDensity.AddMPOTerm('bond', ['sz', 'sz'])
    myObservables.AddObservable('MPO', DefectDensity, 'DefectDensity')
    
    myObservables.AddObservable('string', ['sz','sz','expsz'], 'Ostr')
    myObservables.AddObservable('string', ['I','I','expsz'], 'Opar')
    

    (where the Operator 'expsz' is defined above as exp(i pi Sz) ). There is no error message, if either the string or the MPO observables are commented out and everything left is accessible in the post-processing. But trying both, as shown above, leads to

    ./Execute_MPSMain TMP/Spin1.0HeisenbergL10_U5_V6Main.nml 0
    At line 1942 of file /home/ss1236/OpenSourceMPS_v2.1/MPSFortLib/Mods/PyInterface.f90 (unit = 13, file = 'TMP/Spin1.0HeisenbergL10_U5_V60Obs.dat')
    Fortran runtime error: End of file
    
    Error termination. Backtrace: 
    #0  0x7f1f0f290d4a 
    #1  0x7f1f0f291825 
    #2  0x7f1f0f291f79 
    #3  0x7f1f0f354dc3 
    #4  0x7f1f0f355317 
    #5  0x7f1f0f35305d 
    #6  0x7f1f0f3562e4 
    #7  0x561e7f468dd7 
    #8  0x561e7f484f34 
    #9  0x561e7f1c66e4 
    #10  0x7f1f0e79c2e0 
    #11  0x561e7f1c6719 
    #12  0xffffffffffffffff
    
    Traceback (most recent call last):
    File "XXZ_Spinone.py", line 189, in <module>
    main(PostProcess=Post)
    File "XXZ_Spinone.py", line 104, in main
    mps.runMPS(MainFiles)   #mps.runMPS(MainFiles, RunDir='./')
    File "/home/ss1236/OpenSourceMPS_v2.1/MPSPyLib/tools.py", line 172, in runMPS
    raise MPSFortLibError(ret_val)
    MPSPyLib.tools.MPSFortLibError: MPSFortLib quit with fatal return code 2!
    

    I am also aware of another post on a similar issue
    https://sourceforge.net/p/openmps/discussion/tech/thread/1a700cb8/
    but it turns out that this does't apply here. Do you have an idea what the problem might be?

    Best regards and merry christmas,
    Sebastian

     
  • Daniel Jaschke

    Daniel Jaschke - 2018-12-27

    Hello Sebastian,

    I did a quick check and it does not throw an error in the newest release of OSMPS. I assume you are using version 2.1 of OSMPS? Guessing from ...

    "At line 1942 of file /home/ss1236/OpenSourceMPS_v2.1/ ..."

    Can you try our most recent release and if the error persists, please post the script? We would prefer not debugging old versions of OSMPS and the necessary changes in your script are minimal to none for v3.0. Nonetheless, feel free to reach out if there are some questions.

    Best regards,

    Daniel

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.