From 830cb8489411437bc2edb1eb77daced6912d9acc Mon Sep 17 00:00:00 2001 From: Christopher Albert Date: Mon, 15 Jun 2026 21:29:05 +0200 Subject: [PATCH 1/3] [test] add spin-orbit + spin-polarized Wien2k converter golden test (CaOs2) dftkit's Wien2k converter is only covered by the non-SOC SrVO3 case. This adds a SOC + spin-polarized golden test: CaOs2, a cubic fluorite cell with two symmetry-equivalent correlated Os atoms whose magnetic point group has 16 operations, 8 of them time-reversal. It exercises the combined-spin 'ud' block and the time-reversal symmetry path of dmftproj + the converter on a small 8-k-point fixture, validated by h5diff against a reference produced by this converter. --- test/python/wien2k/CMakeLists.txt | 12 + test/python/wien2k/CaOs2.ctqmcout | 134 ++++ test/python/wien2k/CaOs2.oubwindn | 5 + test/python/wien2k/CaOs2.oubwinup | 5 + test/python/wien2k/CaOs2.outputs | 562 ++++++++++++++++ test/python/wien2k/CaOs2.struct | 82 +++ test/python/wien2k/CaOs2.symqmc | 658 +++++++++++++++++++ test/python/wien2k/wien2k_soc_convert.py | 39 ++ test/python/wien2k/wien2k_soc_convert.ref.h5 | Bin 0 -> 394665 bytes 9 files changed, 1497 insertions(+) create mode 100644 test/python/wien2k/CaOs2.ctqmcout create mode 100644 test/python/wien2k/CaOs2.oubwindn create mode 100644 test/python/wien2k/CaOs2.oubwinup create mode 100644 test/python/wien2k/CaOs2.outputs create mode 100644 test/python/wien2k/CaOs2.struct create mode 100644 test/python/wien2k/CaOs2.symqmc create mode 100644 test/python/wien2k/wien2k_soc_convert.py create mode 100644 test/python/wien2k/wien2k_soc_convert.ref.h5 diff --git a/test/python/wien2k/CMakeLists.txt b/test/python/wien2k/CMakeLists.txt index d9968e3..ef7b78a 100644 --- a/test/python/wien2k/CMakeLists.txt +++ b/test/python/wien2k/CMakeLists.txt @@ -11,3 +11,15 @@ add_test(NAME Py_wien2k_convert WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) set_property(TEST Py_wien2k_convert APPEND PROPERTY ENVIRONMENT PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) + +# Spin-orbit + spin-polarized converter test (CaOs2: cubic, two equivalent +# correlated atoms, 8 time-reversal symmetry operations). +file(COPY CaOs2.ctqmcout CaOs2.symqmc CaOs2.struct CaOs2.outputs + CaOs2.oubwinup CaOs2.oubwindn wien2k_soc_convert.ref.h5 + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + +add_test(NAME Py_wien2k_soc_convert + COMMAND ${TRIQS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wien2k_soc_convert.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +set_property(TEST Py_wien2k_soc_convert APPEND PROPERTY ENVIRONMENT + PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) diff --git a/test/python/wien2k/CaOs2.ctqmcout b/test/python/wien2k/CaOs2.ctqmcout new file mode 100644 index 0000000..f8eceb3 --- /dev/null +++ b/test/python/wien2k/CaOs2.ctqmcout @@ -0,0 +1,134 @@ +13.605698 + 1 + 1 + 1 + 59.000000000000000 + 65.999999999899998 + 2 + 2 2 2 10 + 3 2 2 10 + 2 + 2 2 2 10 1 1 + 3 2 2 10 1 1 + -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.70710674488169678 1.4710455076283324E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 1.4710455076283324E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4940054162198066E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -7.4940054162198066E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -1.4710455076283324E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.4710455076283324E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4940054162198066E-015 0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -7.4940054162198066E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 1.4710455076283324E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 1.4710455076283324E-014 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 7.4940054162198066E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 7.4940054162198066E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 1.4710455076283324E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.4710455076283324E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4940054162198066E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -7.4940054162198066E-015 + 0 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0 + 1 10 + 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.70710676908493042 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 -0.70710676908493042 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.70710676908493042 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 17 + -8.3299679140668938E-010 -3.5057042301671724E-009 -9.0778752951110879E-011 4.3994421658180770E-009 -0.22604524201885492 1.0252359371842728E-009 -2.5885195722099340E-010 -1.7703903665814329E-006 0.63346497200953678 4.7085772120157830E-009 3.2168261973412012E-010 6.8086940399583740E-009 -1.4336687194883592E-009 -8.6465192714255539E-009 -7.9289581186997688E-010 -1.2643135952078624E-008 -0.19390348449684927 + 2.7875320957046725E-002 -7.3845757203589953E-011 -3.3416871606259615E-009 -1.5097375409670037E-009 8.7834224456321541E-010 3.5023907154183279E-009 -1.0960999111772395E-009 -5.1944668126119510E-002 7.2545203300412573E-007 7.0739484934453384E-009 3.7982939037925732E-009 1.5089887658752093E-008 3.2864269746920833E-009 1.1800270817920332E-008 -2.2396654374342643E-010 4.0329883612251065E-009 2.6366512075195883E-009 + 0.19110210146926443 -3.4436533064337062E-008 -2.6683237742250913E-008 1.6138811151545152E-008 -5.8742261833616966E-009 -2.0314134946061775E-008 2.4106529625787708E-009 -3.4444091184561601E-003 4.9463237746716913E-008 2.2659456512881252E-009 3.2533425080388864E-009 -3.7371461066871586E-008 -1.6173701722363227E-008 -1.3288306691953403E-007 -2.5767148098387525E-008 -1.2860252369440123E-007 -3.4279981637971879E-008 + -6.3360927468246183E-010 0.29092641044527373 -1.6477291307334632E-009 -0.26186268654086892 1.5477325823317174E-008 0.13228898130385094 -6.5521444396587446E-009 -8.2791955663305931E-010 3.7056060740662385E-010 -2.3840145058860160E-002 -1.0608104666099270E-002 0.14437182985321692 -2.6426299240781399E-009 -4.7709287571015731E-003 -1.1239829313273361E-008 2.1963783981507640E-002 9.4289349906196928E-009 + 1.4961467982546612E-009 0.29092646333998567 9.5975253636800232E-009 0.26186265908420431 3.1747904727937180E-008 -0.13228900642366040 4.1464334170642749E-009 2.7986631787690147E-009 -3.6187674597597083E-010 -2.3840147091004005E-002 1.0608105105972935E-002 -0.14437181976884197 -3.7281336600102403E-009 -4.7707542969127508E-003 -7.2797947955948550E-009 -2.1963849360600005E-002 4.4167589902492833E-008 + 1.0039589913984849E-009 0.18297860178968400 8.7659236444506661E-010 1.5855880537716929E-009 -6.0035755532783913E-009 7.0213346959298328E-010 -4.9178382618002181E-009 -6.9226548234801613E-009 4.6307842930149818E-009 -0.44807657873110213 -5.8815852134525494E-009 -1.6402268060583112E-009 -4.7987551701168416E-009 1.5170820152346831E-002 2.2229040750045391E-009 1.2424973519047697E-010 -9.2881616556298885E-009 + 3.5373657277014276E-010 6.2332107169847930E-010 2.1689739315318539E-009 0.16250577372197955 -3.8616292225916767E-009 0.11724038767226909 -1.7122215996122070E-008 -2.5187434186782653E-009 1.1619110792842111E-009 -5.2710969837603278E-009 0.35421161489594100 8.7769739897989266E-002 -1.7384549110945082E-008 -2.9982643379309126E-009 6.2293012892351294E-009 0.14251485666180103 -8.0952132391343457E-009 + 3.2265677954116015E-010 2.9084882731672920E-008 -7.4809575289557740E-010 -0.15563645342054747 -6.8938741857066284E-009 -0.49211256005692877 9.7702556418361562E-009 2.5741460899789715E-012 1.8138595920421220E-011 4.2183745426848146E-009 -2.4850487137840646E-002 -0.14074228859154700 -9.9646589278844428E-009 8.6626000939887052E-008 -6.2187767533370221E-009 5.9909763791093834E-002 4.2328438196510027E-009 + -0.40614675191198857 -1.2201415619873962E-008 -5.0778743172647521E-009 5.4428234621562731E-009 0.35500913497411135 -3.1204110106636236E-009 -7.3980575523277595E-009 -2.5927895277863214E-003 -4.4846237416844778E-002 -4.8276326086368341E-010 1.6318623080302618E-009 -1.4286625163694114E-008 -6.1254078291712071E-009 -5.1338547227842901E-008 -9.3593679260922174E-009 -4.9024165651568930E-008 -6.1732169886954437E-002 + -0.40614674520930860 -4.2493903148634571E-009 -4.6192522377311604E-009 2.8026941708637719E-009 -0.35500913878544688 -1.2437135157761745E-009 -4.4061968035356253E-009 -2.5930386582233961E-003 4.4846310241099877E-002 2.2204433219579400E-009 4.7620757146208721E-010 -3.7917169368684442E-009 5.4884755119931811E-009 -1.1909913386479099E-008 3.5767044187481123E-010 -1.1475479522502086E-008 6.1732154622804354E-002 + 4.3837502409173806E-010 -1.2069046077572535E-009 4.5607855886780769E-010 -1.2052649755254989E-009 -0.18214494426849240 -5.3621258141555078E-009 -1.6311530041349841E-010 -8.0210618934773325E-008 -0.30620242876026471 5.0246184737694380E-010 1.0730103905250364E-009 3.2243999570428951E-011 -2.2053123986745525E-010 4.4101536309430388E-009 -2.3235184699365617E-009 -2.8425597984922128E-009 -0.61492130318258065 + 1.6762972887265609E-002 5.1827077079243715E-009 -0.27082885808175988 1.0521384205224081E-008 -1.6622730964325055E-009 -8.2077503935203481E-009 -7.3945720284099070E-002 0.70189400889294717 1.6170428114531511E-006 -1.5271333965654951E-009 -1.7503913657430100E-009 2.7982824193395947E-009 0.13535439377510053 6.6039258000866135E-009 0.63471485587785181 1.3017401939907034E-010 -2.8449714520381681E-009 + 0.11492027885010124 -2.4047276832549414E-008 -0.62205400368739472 -4.2599831828169497E-008 1.0399672317010063E-008 -1.4149985824883871E-008 0.15344527971029964 4.6541891096153754E-002 1.1095481347637038E-007 2.2088828844447553E-009 6.4139738650325561E-010 -1.9303405974296217E-008 -0.22237926263754706 -4.8687336089975644E-009 -0.20012700922787482 9.0355596375230946E-008 1.8401263411644663E-008 + -6.8610767262250032E-011 -0.35224927253460986 -1.9825037313949780E-008 -0.32529743139417566 1.2897506711506551E-008 7.8572465495299657E-002 -1.0785888749646738E-008 -8.9641214449424737E-009 5.4878692231778805E-010 -2.8967090906579382E-002 1.8246442430606694E-002 -0.14705803473474219 1.1258717131017391E-008 0.20312441045024937 7.4135048352683751E-008 -9.4783001201539069E-002 5.7073238002914006E-008 + -2.5086072562117885E-010 -0.35224924646448746 5.0469322704829116E-008 0.32529737984881296 2.5062885675841260E-008 -7.8572508764394366E-002 2.1707500351952256E-008 2.9316799603189222E-009 -1.1749541068909464E-009 -2.8967105047732991E-002 -1.8246443486593402E-002 0.14705806305024458 -2.6114495525480216E-008 0.20312436810216816 -1.6555054768660104E-007 9.4783179624406383E-002 9.9487133677350929E-008 + -2.2063352845771332E-010 -0.22154768334481009 -6.3042745669445578E-009 2.7005887744251005E-009 -2.9063207929608116E-010 2.1488924888596998E-009 -3.4506175550819407E-009 3.3536261365153001E-009 1.6351745591338704E-009 -0.54443778965806056 -8.7241644668895284E-010 -2.0021126734768195E-009 -1.5063791969541749E-009 -0.64591433613615201 1.1164114332395333E-008 -1.1310898537066399E-008 -1.1217631733907829E-008 + 7.2913698959286745E-011 -2.5611254737974581E-010 -9.2929422419518749E-010 0.20187186581904454 5.0496420276272970E-009 6.9634422469070728E-002 -2.6898941495831632E-009 -4.1561131132327149E-009 3.4398084293356818E-010 2.6830013046855405E-009 -0.60926071611138766 -8.9402799293602633E-002 -2.4096341478056873E-009 1.3485349002152279E-009 2.1262341458105618E-008 -0.61501098919122033 2.5197152618226495E-009 + -9.6388212521149193E-010 8.2918722190767037E-009 -2.0641479835418408E-008 -0.19333845419887349 -9.5651365493208182E-009 -0.29228814680462101 -7.6704394798460981E-009 -1.0107369447802224E-009 -5.6639379821640123E-010 5.1141187506059893E-009 4.2744007170702154E-002 0.14336097342757043 1.0130585477106605E-008 -1.0821989659467784E-008 7.6187073990721425E-008 -0.25853528479334242 -3.0340749308132834E-008 + -0.24423851284230236 -9.6155883758618136E-009 -0.12760980788501020 -1.7439329975127749E-008 0.28606273689723316 -1.6224296939787636E-008 -0.41400168738077581 3.5036323816719880E-002 2.1677741335387517E-002 -3.0901874000658984E-010 -7.4347262977335866E-010 -1.4213548070969048E-008 0.20257530193220008 -3.0147670339452186E-009 -0.14588211300457646 3.4157790714657123E-008 -0.19576966629829526 + -0.24423851127462287 -3.1002437592927778E-009 -0.12760981350147563 -5.9073264387075969E-009 -0.28606273164405227 -1.0447780036287766E-008 -0.41400168257437203 3.5036312007608345E-002 -2.1677578806517522E-002 -6.4105671242936678E-010 4.7375350888110749E-010 -4.9882386014146498E-009 0.20257529569692234 1.0267331351637828E-009 -0.14588209568237315 2.7215975006503735E-009 0.19576967466443063 + 9.0679959717190494E-010 -2.2008400003486777E-009 9.2035868261477254E-010 3.3288764885573450E-009 -0.22604523984136474 1.5637625703876123E-009 1.9593894887330856E-010 1.7704037111927574E-006 -0.63346497199144092 -4.7103098826979136E-009 -3.1788027507582721E-010 8.4249310197293698E-009 1.3205661308364376E-010 -3.0045809786992074E-009 9.2010441555505037E-010 -6.9960449757271001E-009 -0.19390348258411713 + -2.7875320742772505E-002 -5.5652216619116035E-009 -5.3919198104982360E-009 1.7979462905085161E-009 -3.1360491633054101E-010 -3.4506668900795779E-011 -1.6636890545135745E-009 5.1944668296159922E-002 -7.2545506761884178E-007 -7.0677779442959870E-009 -3.8064223125941971E-009 8.7475938961619824E-009 8.1208549121748724E-010 -1.1984587475102177E-008 -4.4623233150022333E-009 -1.8937803252982954E-008 -3.4118403903437977E-009 + -0.19110210185571147 3.2098355548141706E-008 2.9850241838703112E-009 -1.8243118650007592E-008 8.0058531325819546E-009 1.8019168709954248E-008 -2.3321667059186324E-009 3.4444086962004640E-003 -4.9325673696455648E-008 -2.3537665498847274E-009 -3.3061871902567654E-009 3.6242792700179439E-008 1.0953769709190307E-008 1.3292529535615360E-007 2.7598304079520308E-008 1.2991079651253922E-007 3.2786491579603253E-008 + 2.3374181877352316E-009 0.29092645352944940 6.0312934310529206E-009 -0.26186270339587536 -1.2943019679467309E-008 0.13228898707758815 -8.0343754450769576E-009 9.9056370928967718E-010 -4.2365989890189233E-010 2.3840145004905076E-002 1.0608104553252604E-002 0.14437182045626487 5.7301941859411843E-009 -4.7707832008221981E-003 1.5615679002047344E-008 2.1963836398739948E-002 -8.4581837067390464E-009 + -1.6476810471490893E-009 0.29092641826824844 -3.3404472711913858E-009 0.26186273496277812 -3.6569188267729177E-008 -0.13228898258792449 3.9411462919995131E-009 -2.9978139337362623E-009 2.0435246999474907E-010 2.3840147308039506E-002 -1.0608105330102667E-002 -0.14437183758378880 -1.1663541875049487E-010 -4.7709545207769433E-003 8.3870793607462596E-009 -2.1963765092619086E-002 -4.3226822835084896E-008 + -1.0418574039701412E-009 0.18297860155812268 1.1484244496900985E-009 -1.6890924387014436E-009 -8.9450289709911508E-010 -7.4209721155303773E-010 -4.7176463909255783E-009 6.9341190906076067E-009 -4.6300413394911136E-009 0.44807657870630990 5.8726380651018723E-009 -4.5069432250077972E-010 -5.3983655029008815E-009 1.5170823084105606E-002 -6.3989030029144390E-011 -7.2331199761342548E-009 -3.7048777346235618E-009 + -3.4450609640268585E-010 -2.3492461177066976E-010 2.9677098891881702E-009 0.16250576895511321 -1.8392566431204764E-009 0.11724038654236243 -1.6900495974753669E-008 2.5369876577508581E-009 -1.1517017232773736E-009 5.2515884722091468E-009 -0.35421161491741920 8.7769736485274918E-002 -1.6442313055607173E-008 -5.0652239911959127E-009 7.4271871553378331E-009 0.14251484250139418 -6.5750405118294949E-009 + -1.8855836694504242E-010 -2.1040698381036500E-008 -2.5236665009274601E-009 -0.15563647740207270 4.6934585134236764E-009 -0.49211257035103367 1.3923516256101850E-008 -5.0536015268481205E-011 -4.7560119836804341E-011 -4.1424021447722052E-009 2.4850486814616497E-002 -0.14074234035153330 1.8907298256623521E-009 -8.9619446025855078E-008 5.6435029576626218E-009 5.9909581218084366E-002 -3.7148206597465794E-009 + 0.40614675120082444 1.2997943938488268E-008 8.3657743690829842E-009 -8.5070193002980489E-009 0.35500915446013603 9.3244147324613229E-009 -5.1446667626781596E-009 2.5927897837433036E-003 4.4846237491878028E-002 5.1309145986880473E-010 -1.6966586512037322E-009 1.4399171769292269E-008 1.4851373378450752E-008 5.0014954769297710E-008 1.4589832093235581E-008 5.0822710813470125E-008 -6.1732141171463896E-002 + 0.40614674597945394 1.5781094763172180E-009 1.5653401164845076E-009 1.9210785193353018E-009 -0.35500915288868584 4.0274777028046712E-009 -7.2910595461953055E-009 2.5930386966897790E-003 -4.4846310572172622E-002 -2.2160852569940781E-009 -4.6931890970976455E-010 1.5220150672891460E-009 1.5711335669818199E-009 9.7168031884898235E-009 7.8740436311457900E-010 8.5323588652117350E-009 6.1732157170305016E-002 + -3.9574553229144208E-010 8.6974434992783100E-011 -3.2734043700568200E-010 6.8488724456921905E-010 -0.18214494227915443 -5.0631468638144217E-009 3.0377601513418316E-010 8.0210113088572794E-008 0.30620242875715253 -4.9929895677420183E-010 -1.0720966614833382E-009 1.3900744402695991E-009 -1.1855906063073843E-009 5.0302758990648091E-009 1.5466556279300948E-011 -7.2738549646613615E-009 -0.61492129806347584 + -1.6762973009369166E-002 1.0836612877683691E-010 -0.27082885484593716 7.4621304188467907E-010 9.1402418052358922E-010 -1.1263526508468045E-008 -7.3945718973022448E-002 -0.70189400887955866 -1.6170645019239372E-006 1.5300763815350784E-009 1.7356474169187969E-009 -1.2044768808134150E-009 0.13535439164257576 5.6453665311754195E-009 0.63471484630532748 1.6997038090569337E-008 3.3351835515760884E-010 + -0.11492027969985288 3.1697756855716351E-008 -0.62205404016623855 5.5363910264751692E-008 -1.1351717665261505E-008 2.1195254044855871E-008 0.15344526559194852 -4.6541891054502363E-002 -1.1130483340715734E-007 -2.2288441476278565E-009 -7.2630585956928035E-010 2.7149105814925575E-008 -0.22237923822447400 6.2228461722933433E-009 -0.20012690201569222 -9.7501242006243981E-008 -1.7242424919294614E-008 + -4.0513742066645548E-009 -0.35224924279837649 1.3463913611148244E-008 -0.32529741356733882 -1.5709872784958772E-008 7.8572485881360621E-002 8.4980573756536786E-009 8.9495474200250719E-009 -6.5262706897084931E-010 2.8967090644634326E-002 -1.8246442215921543E-002 -0.14705802443644461 -1.5332806187234664E-008 0.20312433191514159 -6.9283105628942235E-008 -9.4783007358669569E-002 -5.6125141528545545E-008 + -1.1532429341588326E-009 -0.35224929352112549 -5.2798190762740624E-008 0.32529746529464437 -1.9380389672850138E-008 -7.8572456713884561E-002 -1.4126967956908924E-008 -3.0578201952579793E-009 8.1358752011917108E-010 2.8967104694346171E-002 1.8246443881922807E-002 0.14705800478036199 3.7364755952798559E-008 0.20312437712091169 1.5962309522891740E-007 9.4782827036815648E-002 -9.9025226357374557E-008 + 2.1299158910158361E-010 -0.22154768191422422 -2.4750723025704329E-009 -2.8659928856953602E-009 3.5740684375069561E-009 -1.7175908117087390E-009 -2.5007897188534218E-009 -3.3557564066314483E-009 -1.6296956823415182E-009 0.54443778968121725 8.8990042975629124E-010 4.1851783341140154E-010 -3.4879465618082223E-009 -0.64591433231307815 1.5067229522957532E-009 7.6018394582859758E-009 5.3805137926965139E-009 + -1.0598699429996071E-010 7.7134402605760225E-011 5.8292503697917106E-009 0.20187185885980286 7.0190349448783808E-009 6.9634420922647197E-002 5.6205284764449031E-010 4.1504309623553247E-009 -3.4135989366755027E-010 -2.6938579289149447E-009 0.60926071610766075 -8.9402795057407849E-002 -6.3417020086222932E-009 4.3686766941523182E-010 -2.8362662670884689E-009 -0.61501096620745832 9.3448702992217342E-009 + 1.2441597619438833E-009 -1.6538459018641143E-008 1.6821870042303133E-008 -0.19333854486782040 1.1633189650359068E-008 -0.29228816742295732 1.4738565647031249E-008 1.0633883021185138E-009 5.6928291285678825E-010 -5.0750192863357723E-009 -4.2744007647320573E-002 0.14336100501680429 -6.6735901246573234E-009 1.5745556932365030E-008 -6.6596699671902497E-008 -0.25853510343471031 3.0603943956483639E-008 + 0.24423851347702183 1.1796410324744897E-008 -0.12760982192851061 2.1172803094302839E-008 0.28606274182397395 -5.2744044210568111E-009 -0.41400168710922308 -3.5036323872070299E-002 -2.1677741287455074E-002 2.4789952767997181E-010 7.5151242756730389E-010 6.5822327705578110E-009 0.20257530132277951 4.3604120108252495E-009 -0.14588207184133795 -4.0418820004883398E-008 -0.19576963825055146 + 0.24423851152907769 1.4490126594049515E-009 -0.12760981581860137 4.4841925557596892E-009 -0.28606274746068738 -4.2085331345566214E-009 -0.41400169122870312 -3.5036312051076199E-002 2.1677578858922079E-002 6.3461307469453046E-010 -4.6812706070410901E-010 -4.0596300792422499E-009 0.20257530833187692 -8.8338485037074876E-010 -0.14588208766544986 -9.6266154426627010E-009 0.19576963039007630 + 1.0000000000000000 + -0.14719728634143203 + -6.2687483552602008E-002 + -5.6791699157407005E-002 + -4.6939855280641041E-002 + -2.3731054975468013E-002 + -5.9289132889430718E-003 + 0.0000000000000000 + 7.0047796896619996E-002 + 7.0116347318387007E-002 + 0.10027100453936799 + 0.10379476904357798 + 0.14516977295802591 + 0.15348172411197192 + 0.20481842207514100 + 0.21209028506752292 + 0.21406914507310593 + 0.22096001200155491 diff --git a/test/python/wien2k/CaOs2.oubwindn b/test/python/wien2k/CaOs2.oubwindn new file mode 100644 index 0000000..778773d --- /dev/null +++ b/test/python/wien2k/CaOs2.oubwindn @@ -0,0 +1,5 @@ + 1 + 1 + 1 + 60 76 + 1.0000000000000000 diff --git a/test/python/wien2k/CaOs2.oubwinup b/test/python/wien2k/CaOs2.oubwinup new file mode 100644 index 0000000..778773d --- /dev/null +++ b/test/python/wien2k/CaOs2.oubwinup @@ -0,0 +1,5 @@ + 1 + 1 + 1 + 60 76 + 1.0000000000000000 diff --git a/test/python/wien2k/CaOs2.outputs b/test/python/wien2k/CaOs2.outputs new file mode 100644 index 0000000..e97a1f8 --- /dev/null +++ b/test/python/wien2k/CaOs2.outputs @@ -0,0 +1,562 @@ +CaOs2 fluorite test s-o calc. M|| 0.00 0.00 1.00 + Bravais Matrix: + 0.00000 0.50000 0.50000 + 0.50000 0.00000 0.50000 + 0.50000 0.50000 0.00000 + ATOMIC POSITIONS: + 1 0.00000000 0.00000000 0.00000000 + 2 3.00000000 3.00000000 3.00000000 + 3 9.00000000 9.00000000 9.00000000 + PGLSYM: THE CRYSTAL SYSTEM IS CUBIC + PGLSYM: ORDER OF LATTICE POINT GROUP (NO BASE) = 48 + PGBSYM: ORDER OF LATTICE SPACE GROUP (WITH BASE) = 48 + PGBSYM: SPACE GROUP IS SYMMORPHIC + PGBSYM: SPACE GROUP CONTAINS INVERSION + Symmetry operation 1 + 1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 1 in struct file + Symmetry operation 2 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 2 in struct file + Symmetry operation 3 + -1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 3 in struct file + Symmetry operation 4 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 4 in struct file + Symmetry operation 5 + 0.00000 -1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 5 in struct file + Symmetry operation 6 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 -1.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 6 in struct file + Symmetry operation 7 + 0.00000 1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 7 in struct file + Symmetry operation 8 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 -1.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 8 in struct file + Symmetry operation 9 + 0.00000 0.00000 -1.00000 + 1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 9 in struct file + Symmetry operation 10 + 0.00000 0.00000 -1.00000 + 0.00000 -1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 10 in struct file + Symmetry operation 11 + 0.00000 0.00000 1.00000 + 1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 11 in struct file + Symmetry operation 12 + 0.00000 0.00000 1.00000 + 0.00000 -1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 12 in struct file + Symmetry operation 13 + 0.00000 -1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 13 in struct file + Symmetry operation 14 + 0.00000 1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 14 in struct file + Symmetry operation 15 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 -1.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 15 in struct file + Symmetry operation 16 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 -1.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 16 in struct file + Symmetry operation 17 + 1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 17 in struct file + Symmetry operation 18 + -1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + this is operation 18 in struct file + Symmetry operation 19 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 19 in struct file + Symmetry operation 20 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 -1.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + this is operation 20 in struct file + Symmetry operation 21 + 0.00000 0.00000 -1.00000 + -1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 21 in struct file + Symmetry operation 22 + 0.00000 0.00000 -1.00000 + 0.00000 -1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 22 in struct file + Symmetry operation 23 + 0.00000 0.00000 1.00000 + -1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 23 in struct file + Symmetry operation 24 + 0.00000 0.00000 1.00000 + 0.00000 -1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 24 in struct file + Symmetry operation 25 + 0.00000 0.00000 -1.00000 + 0.00000 1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 25 in struct file + Symmetry operation 26 + 0.00000 0.00000 -1.00000 + 1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 26 in struct file + Symmetry operation 27 + 0.00000 0.00000 1.00000 + 0.00000 1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 27 in struct file + Symmetry operation 28 + 0.00000 0.00000 1.00000 + 1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 28 in struct file + Symmetry operation 29 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 29 in struct file + Symmetry operation 30 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 30 in struct file + Symmetry operation 31 + 1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 31 in struct file + Symmetry operation 32 + -1.00000 0.00000 0.00000 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 32 in struct file + Symmetry operation 33 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 1.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 33 in struct file + Symmetry operation 34 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 1.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 34 in struct file + Symmetry operation 35 + 0.00000 -1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 35 in struct file + Symmetry operation 36 + 0.00000 1.00000 0.00000 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + 0.0000 1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 36 in struct file + Symmetry operation 37 + 0.00000 0.00000 -1.00000 + 0.00000 1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 37 in struct file + Symmetry operation 38 + 0.00000 0.00000 -1.00000 + -1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + this is operation 38 in struct file + Symmetry operation 39 + 0.00000 0.00000 1.00000 + 0.00000 1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 39 in struct file + Symmetry operation 40 + 0.00000 0.00000 1.00000 + -1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + this is operation 40 in struct file + Symmetry operation 41 + 0.00000 -1.00000 0.00000 + 0.00000 0.00000 1.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 41 in struct file + Symmetry operation 42 + 0.00000 -1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 42 in struct file + Symmetry operation 43 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 1.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 0.00000 + 0.0000 0.0000 -1.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 43 in struct file + Symmetry operation 44 + 0.00000 1.00000 0.00000 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + 0.0000 -1.0000 0.0000 0.0000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 44 in struct file + Symmetry operation 45 + 1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 45 in struct file + Symmetry operation 46 + 1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + 1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 46 in struct file + Symmetry operation 47 + -1.00000 0.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + this is operation 47 in struct file + Symmetry operation 48 + -1.00000 0.00000 0.00000 + 0.00000 1.00000 0.00000 + 0.00000 0.00000 1.00000 + 0.00000 0.00000 0.00000 + -1.0000 0.0000 0.0000 0.0000 + 0.0000 1.0000 0.0000 0.0000 + 0.0000 0.0000 1.0000 0.0000 + this is operation 48 in struct file + + + +DETERMINATION OF POINTGROUP FOR ALL POSITIONS +CaOs2 fluorite test s-o calc. M|| 0.00 0.00 1.00 + 1 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 + 2 6.0000000 6.0000000 0.0000000 0.5000000 0.5000000 0.0000000 + 3 6.0000000 0.0000000 6.0000000 0.5000000 0.0000000 0.5000000 + 4 0.0000000 6.0000000 6.0000000 0.0000000 0.5000000 0.5000000 +Ca : 4 Atoms, Index 1 to 4 + 5 3.0000000 3.0000000 3.0000000 0.2500000 0.2500000 0.2500000 + 6 9.0000000 9.0000000 3.0000000 0.7500000 0.7500000 0.2500000 + 7 9.0000000 3.0000000 9.0000000 0.7500000 0.2500000 0.7500000 + 8 3.0000000 9.0000000 9.0000000 0.2500000 0.7500000 0.7500000 + 9 9.0000000 9.0000000 9.0000000 0.7500000 0.7500000 0.7500000 + 10 3.0000000 3.0000000 9.0000000 0.2500000 0.2500000 0.7500000 + 11 3.0000000 9.0000000 3.0000000 0.2500000 0.7500000 0.2500000 + 12 9.0000000 3.0000000 3.0000000 0.7500000 0.2500000 0.2500000 +Os : 8 Atoms, Index 5 to 12 +number of atoms: 12 + + ATOM: 1 +Ca operation # 1 1 +Ca operation # 2 -1 +Ca operation # 3 2 || x +Ca operation # 4 2 || y +Ca operation # 5 2 || z +Ca operation # 6 m n z +Ca operation # 7 m n y +Ca operation # 8 m n x +Ca operation # 9 4 || x +Ca operation # 10 4 || y +Ca operation # 11 4 || z +Ca operation # 12 m n 110 +Ca operation # 13 m n -110 +Ca operation # 14 m n 101 +Ca operation # 15 m n 011 +Ca operation # 16 m n -101 +Ca operation # 17 m n 0-11 +Ca operation # 18 2 || 110 +Ca operation # 19 2 || -110 +Ca operation # 20 2 || 101 +Ca operation # 21 2 || 011 +Ca operation # 22 2 || -101 +Ca operation # 23 2 || 0-11 +Ca operation # 24 3 || 111 +Ca operation # 25 3 || 11-1 +Ca operation # 26 3 || -111 +Ca operation # 27 3 || 1-11 +Ca operation # 28 S6 || 111 +Ca operation # 29 S6 || -1-11 +Ca operation # 30 S6 || 1-1-1 +Ca operation # 31 S6 || 1-11 +Ca operation # 32 S4 || x +Ca operation # 33 S4 || y +Ca operation # 34 S4 || z +Ca operation # 35 4 || x +Ca operation # 36 4 || y +Ca operation # 37 4 || z +Ca operation # 38 3 || 111 +Ca operation # 39 3 || 11-1 +Ca operation # 40 3 || -111 +Ca operation # 41 3 || 1-11 +Ca operation # 42 S6 || 111 +Ca operation # 43 S6 || -1-11 +Ca operation # 44 S6 || 1-1-1 +Ca operation # 45 S6 || 1-11 +Ca operation # 46 S4 || x +Ca operation # 47 S4 || y +Ca operation # 48 S4 || z + pointgroup is m3m (pos. iatnr!!) + axes should be: any + z-rotation vector: 0.0000 0.0000 1.0000 + y-rotation vector: 0.0000 0.0000 0.0000 0 +LOCAL ROT MATRIX: NEW OLD + 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 + 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 + 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 +lm: 0 0 4 0 4 4 6 0 6 4 + ============================================== + + ATOM: 2 +Os operation # 1 1 +Os operation # 3 2 || x +Os operation # 4 2 || y +Os operation # 5 2 || z +Os operation # 12 m n 110 +Os operation # 13 m n -110 +Os operation # 14 m n 101 +Os operation # 15 m n 011 +Os operation # 16 m n -101 +Os operation # 17 m n 0-11 +Os operation # 24 3 || 111 +Os operation # 25 3 || 11-1 +Os operation # 26 3 || -111 +Os operation # 27 3 || 1-11 +Os operation # 32 S4 || x +Os operation # 33 S4 || y +Os operation # 34 S4 || z +Os operation # 38 3 || 111 +Os operation # 39 3 || 11-1 +Os operation # 40 3 || -111 +Os operation # 41 3 || 1-11 +Os operation # 46 S4 || x +Os operation # 47 S4 || y +Os operation # 48 S4 || z + pointgroup is -43m (pos. iatnr!!) + axes should be: any + z-rotation vector: 0.0000 0.0000 1.0000 + y-rotation vector: 1.0000 0.0000 0.0000 0 +LOCAL ROT MATRIX: NEW OLD + 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 + 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 + 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 +lm: 0 0 4 0 4 4 6 0 6 4 -3 2 + ============================================== diff --git a/test/python/wien2k/CaOs2.struct b/test/python/wien2k/CaOs2.struct new file mode 100644 index 0000000..0db2f5f --- /dev/null +++ b/test/python/wien2k/CaOs2.struct @@ -0,0 +1,82 @@ +CaOs2 fluorite test s-o calc. M|| 0.00 0.00 1.00 +F 2 + RELA + 12.000000 12.000000 12.000000 90.000000 90.000000 90.000000 +ATOM -1: X=0.00000000 Y=0.00000000 Z=0.00000000 + MULT= 1 ISPLIT=-2 +Ca NPT= 781 R0=.000010000 RMT= 2.30000 Z: 20.00000 +LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000 + 0.0000000 1.0000000 0.0000000 + 0.0000000 0.0000000 1.0000000 +ATOM -2: X=0.25000000 Y=0.25000000 Z=0.25000000 + MULT= 2 ISPLIT=-2 + -2: X=0.75000000 Y=0.75000000 Z=0.75000000 +Os NPT= 781 R0=.000005000 RMT= 2.00000 Z: 76.00000 +LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000 + 0.0000000 1.0000000 0.0000000 + 0.0000000 0.0000000 1.0000000 + 16 NUMBER OF SYMMETRY OPERATIONS +-1 0 0 0.00000000 + 0-1 0 0.00000000 + 0 0-1 0.00000000 + 1 A 3 so. oper. type orig. index + 0 1 0 0.00000000 +-1 0 0 0.00000000 + 0 0-1 0.00000000 + 2 A 5 + 0-1 0 0.00000000 + 1 0 0 0.00000000 + 0 0-1 0.00000000 + 3 A 14 + 1 0 0 0.00000000 + 0 1 0 0.00000000 + 0 0-1 0.00000000 + 4 A 17 +-1 0 0 0.00000000 + 0-1 0 0.00000000 + 0 0 1 0.00000000 + 5 A 32 + 0 1 0 0.00000000 +-1 0 0 0.00000000 + 0 0 1 0.00000000 + 6 A 35 + 0-1 0 0.00000000 + 1 0 0 0.00000000 + 0 0 1 0.00000000 + 7 A 44 + 1 0 0 0.00000000 + 0 1 0 0.00000000 + 0 0 1 0.00000000 + 8 A 46 + 1 0 0 0.00000000 + 0-1 0 0.00000000 + 0 0-1 0.00000000 + 9 B 1 + 0 1 0 0.00000000 + 1 0 0 0.00000000 + 0 0-1 0.00000000 + 10 B 7 + 0-1 0 0.00000000 +-1 0 0 0.00000000 + 0 0-1 0.00000000 + 11 B 13 +-1 0 0 0.00000000 + 0 1 0 0.00000000 + 0 0-1 0.00000000 + 12 B 18 + 1 0 0 0.00000000 + 0-1 0 0.00000000 + 0 0 1 0.00000000 + 13 B 31 + 0 1 0 0.00000000 + 1 0 0 0.00000000 + 0 0 1 0.00000000 + 14 B 36 + 0-1 0 0.00000000 +-1 0 0 0.00000000 + 0 0 1 0.00000000 + 15 B 42 +-1 0 0 0.00000000 + 0 1 0 0.00000000 + 0 0 1 0.00000000 + 16 B 48 diff --git a/test/python/wien2k/CaOs2.symqmc b/test/python/wien2k/CaOs2.symqmc new file mode 100644 index 0000000..69009e9 --- /dev/null +++ b/test/python/wien2k/CaOs2.symqmc @@ -0,0 +1,658 @@ + 16 3 + 1 3 2 + 1 2 3 + 1 2 3 + 1 3 2 + 1 2 3 + 1 3 2 + 1 3 2 + 1 2 3 + 1 2 3 + 1 3 2 + 1 3 2 + 1 2 3 + 1 3 2 + 1 2 3 + 1 2 3 + 1 3 2 + 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.4813100025947342E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4065500129736708E-015 0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -7.4065500129736708E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 1.4813100025947342E-014 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 + -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.4813100025947342E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4065500129736708E-015 0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -7.4065500129736708E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 1.4813100025947342E-014 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 2.4688500043245567E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 2.4688500043245567E-015 + -4.3711388286737929E-008 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -4.3711386790560848E-008 -1.3965924877339274E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -1.3965924877339274E-014 -4.3711386790560848E-008 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 4.3711386790560848E-008 -6.9829624386696371E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -6.9829624386696371E-015 4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711386790560848E-008 1.3965924877339274E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.3965924877339274E-014 -4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.3711386790560848E-008 6.9829624386696371E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.9829624386696371E-015 4.3711386790560848E-008 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 -6.1046996509678984E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -6.1046996509678984E-022 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.99999996577145822 -3.0523498254839492E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -3.0523498254839492E-022 -0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.99999996577145822 -6.1046996509678984E-022 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -6.1046996509678984E-022 -0.99999996577145822 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.99999996577145822 -3.0523498254839492E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -3.0523498254839492E-022 0.99999996577145822 + -4.3711388286737929E-008 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -4.3711386790560848E-008 -1.3965924877339274E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -1.3965924877339274E-014 -4.3711386790560848E-008 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 4.3711386790560848E-008 -6.9829624386696371E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -6.9829624386696371E-015 4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711386790560848E-008 1.3965924877339274E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.3965924877339274E-014 -4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.3711386790560848E-008 6.9829624386696371E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.9829624386696371E-015 4.3711386790560848E-008 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 -6.1046996509678984E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -6.1046996509678984E-022 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.99999996577145822 -3.0523498254839492E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -3.0523498254839492E-022 -0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.99999996577145822 -6.1046996509678984E-022 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -6.1046996509678984E-022 -0.99999996577145822 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.99999996577145822 -3.0523498254839492E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -3.0523498254839492E-022 0.99999996577145822 + -4.3711388286737929E-008 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -4.3711386790560848E-008 -1.3965924877339274E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -1.3965924877339274E-014 -4.3711386790560848E-008 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 4.3711386790560848E-008 -6.9829624386696371E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -6.9829624386696371E-015 4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711386790560848E-008 1.3965924877339274E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.3965924877339274E-014 -4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.3711386790560848E-008 6.9829624386696371E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.9829624386696371E-015 4.3711386790560848E-008 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 -6.1046996509678984E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -6.1046996509678984E-022 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.99999996577145822 -3.0523498254839492E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -3.0523498254839492E-022 -0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.99999996577145822 -6.1046996509678984E-022 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -6.1046996509678984E-022 -0.99999996577145822 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.99999996577145822 -3.0523498254839492E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -3.0523498254839492E-022 0.99999996577145822 + -4.3711388286737929E-008 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -4.3711386790560848E-008 -1.3965924877339274E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -1.3965924877339274E-014 -4.3711386790560848E-008 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 4.3711386790560848E-008 -6.9829624386696371E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -6.9829624386696371E-015 4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711386790560848E-008 1.3965924877339274E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.3965924877339274E-014 -4.3711386790560848E-008 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.3711386790560848E-008 6.9829624386696371E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.9829624386696371E-015 4.3711386790560848E-008 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 -6.1046996509678984E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -6.1046996509678984E-022 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.99999996577145822 -3.0523498254839492E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -3.0523498254839492E-022 -0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.99999996577145822 -6.1046996509678984E-022 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -6.1046996509678984E-022 -0.99999996577145822 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.99999996577145822 -3.0523498254839492E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -3.0523498254839492E-022 0.99999996577145822 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 2.4688500043245567E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -4.9377000086491133E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.4688500043245567E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 -2.4688500043245567E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -4.9377000086491133E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9377000086491133E-015 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.4688500043245567E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 2.4688500043245567E-015 + -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.4813100025947342E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4065500129736708E-015 0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -7.4065500129736708E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 1.4813100025947342E-014 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 + -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.4813100025947342E-014 0.70710674488169678 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -7.4065500129736708E-015 0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710674488169678 -7.4065500129736708E-015 + 0.70710676908493042 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -0.70710674488169678 1.4813100025947342E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 1.4813100025947342E-014 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 7.4065500129736708E-015 -0.70710674488169678 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710674488169678 7.4065500129736708E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.70710674488169678 1.4813100025947342E-014 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 1.4813100025947342E-014 0.70710674488169678 -0.0000000000000000 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -7.4065500129736708E-015 -0.70710674488169678 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 -0.70710674488169678 -7.4065500129736708E-015 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999996577145822 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -4.3711388286737929E-008 -1.8458851076050378E-036 -0.0000000000000000 -5.2868250706923520E-022 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8458850444230821E-036 -4.3711385294383820E-008 -1.3965924399306031E-014 3.0523497210064655E-022 -9.7523528839742015E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.8976604851584635E-043 -1.3965924399306031E-014 -4.3711385294383820E-008 9.7523528839742015E-029 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.2868248897320393E-022 3.0523497210064655E-022 4.8761764419871008E-029 4.3711385294383820E-008 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.4457854887355532E-029 -4.8761764419871008E-029 -3.0523497210064655E-022 -6.9829621996530154E-015 4.3711385294383820E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 -1.8458851076050378E-036 0.0000000000000000 -5.2868250706923520E-022 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.8458850444230821E-036 -4.3711385294383820E-008 1.3965924399306031E-014 3.0523497210064655E-022 9.7523528839742015E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.8976604851584635E-043 1.3965924399306031E-014 -4.3711385294383820E-008 -9.7523528839742015E-029 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.2868248897320393E-022 3.0523497210064655E-022 -4.8761764419871008E-029 4.3711385294383820E-008 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.4457854887355532E-029 4.8761764419871008E-029 -3.0523497210064655E-022 6.9829621996530154E-015 4.3711385294383820E-008 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 -6.1046994420129310E-022 -6.9829621996530154E-015 -4.2628888362068480E-036 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.5779492745011281E-050 -6.1046994420129310E-022 0.99999993154291766 4.2628888362068480E-036 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2094845524126412E-014 -6.9829621996530154E-015 2.1314444181034240E-036 -0.99999993154291766 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.6917700888461642E-036 -2.1314444181034240E-036 6.9829621996530154E-015 -3.0523497210064655E-022 -0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -4.2228928889112424E-029 -0.0000000000000000 -1.2094845938115352E-014 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.2228927443677766E-029 -0.99999993154291766 -6.1046994420129310E-022 6.9829621996530154E-015 -4.2628888362068480E-036 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.5779492745011281E-050 -6.1046994420129310E-022 -0.99999993154291766 4.2628888362068480E-036 -6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 2.1314444181034240E-036 0.99999993154291766 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 3.6917700888461642E-036 -2.1314444181034240E-036 -6.9829621996530154E-015 -3.0523497210064655E-022 0.99999993154291766 + -4.3711388286737929E-008 -1.8458851076050378E-036 -0.0000000000000000 -5.2868250706923520E-022 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8458850444230821E-036 -4.3711385294383820E-008 -1.3965924399306031E-014 3.0523497210064655E-022 -9.7523528839742015E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.8976604851584635E-043 -1.3965924399306031E-014 -4.3711385294383820E-008 9.7523528839742015E-029 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.2868248897320393E-022 3.0523497210064655E-022 4.8761764419871008E-029 4.3711385294383820E-008 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.4457854887355532E-029 -4.8761764419871008E-029 -3.0523497210064655E-022 -6.9829621996530154E-015 4.3711385294383820E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 -1.8458851076050378E-036 0.0000000000000000 -5.2868250706923520E-022 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.8458850444230821E-036 -4.3711385294383820E-008 1.3965924399306031E-014 3.0523497210064655E-022 9.7523528839742015E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.8976604851584635E-043 1.3965924399306031E-014 -4.3711385294383820E-008 -9.7523528839742015E-029 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.2868248897320393E-022 3.0523497210064655E-022 -4.8761764419871008E-029 4.3711385294383820E-008 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.4457854887355532E-029 4.8761764419871008E-029 -3.0523497210064655E-022 6.9829621996530154E-015 4.3711385294383820E-008 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 -6.1046994420129310E-022 -6.9829621996530154E-015 -4.2628888362068480E-036 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.5779492745011281E-050 -6.1046994420129310E-022 0.99999993154291766 4.2628888362068480E-036 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2094845524126412E-014 -6.9829621996530154E-015 2.1314444181034240E-036 -0.99999993154291766 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.6917700888461642E-036 -2.1314444181034240E-036 6.9829621996530154E-015 -3.0523497210064655E-022 -0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -4.2228928889112424E-029 -0.0000000000000000 -1.2094845938115352E-014 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.2228927443677766E-029 -0.99999993154291766 -6.1046994420129310E-022 6.9829621996530154E-015 -4.2628888362068480E-036 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.5779492745011281E-050 -6.1046994420129310E-022 -0.99999993154291766 4.2628888362068480E-036 -6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 2.1314444181034240E-036 0.99999993154291766 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 3.6917700888461642E-036 -2.1314444181034240E-036 -6.9829621996530154E-015 -3.0523497210064655E-022 0.99999993154291766 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 4.9376998396388427E-015 4.9376998396388427E-015 3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.0851378254101321E-043 4.9376998396388427E-015 -0.70710672067846414 -3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 -4.9376998396388427E-015 -2.4688499198194213E-015 0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.5523471411463592E-015 4.9376998396388427E-015 1.7239886846907753E-029 0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -4.9376998396388427E-015 -4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 0.70710672067846414 3.4479773693815506E-029 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 1.7239886846907753E-029 4.9376998396388427E-015 2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 -1.7239886846907753E-029 -0.70710672067846414 2.4688499198194213E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 4.9376998396388427E-015 4.9376998396388427E-015 3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.0851378254101321E-043 4.9376998396388427E-015 -0.70710672067846414 -3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 -4.9376998396388427E-015 -2.4688499198194213E-015 0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.5523471411463592E-015 4.9376998396388427E-015 1.7239886846907753E-029 0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -4.9376998396388427E-015 -4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 0.70710672067846414 3.4479773693815506E-029 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 1.7239886846907753E-029 4.9376998396388427E-015 2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 -1.7239886846907753E-029 -0.70710672067846414 2.4688499198194213E-015 + -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -1.4813099518916527E-014 -4.9376998396388427E-015 -1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.2554134762303971E-043 -1.4813099518916527E-014 0.70710672067846414 1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 -4.9376998396388427E-015 -7.4065497594582636E-015 0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5523471411463592E-015 4.9376998396388427E-015 5.1719660540723250E-029 0.70710672067846414 -7.4065497594582636E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 1.4813099518916527E-014 4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 -0.70710672067846414 -1.0343932108144650E-028 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.9581081339862810E-029 5.1719660540723250E-029 4.9376998396388427E-015 7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 -5.1719660540723250E-029 -0.70710672067846414 7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 + -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -1.4813099518916527E-014 -4.9376998396388427E-015 -1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.2554134762303971E-043 -1.4813099518916527E-014 0.70710672067846414 1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 -4.9376998396388427E-015 -7.4065497594582636E-015 0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5523471411463592E-015 4.9376998396388427E-015 5.1719660540723250E-029 0.70710672067846414 -7.4065497594582636E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 1.4813099518916527E-014 4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 -0.70710672067846414 -1.0343932108144650E-028 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.9581081339862810E-029 5.1719660540723250E-029 4.9376998396388427E-015 7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 -5.1719660540723250E-029 -0.70710672067846414 7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.2228927443677766E-029 0.99999993154291766 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.99999993154291766 0.0000000000000000 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.9829621996530154E-015 0.0000000000000000 0.99999993154291766 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -1.4813099518916527E-014 -4.9376998396388427E-015 -1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.2554134762303971E-043 -1.4813099518916527E-014 0.70710672067846414 1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 -4.9376998396388427E-015 -7.4065497594582636E-015 0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5523471411463592E-015 4.9376998396388427E-015 5.1719660540723250E-029 0.70710672067846414 -7.4065497594582636E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 1.4813099518916527E-014 4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 -0.70710672067846414 -1.0343932108144650E-028 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.9581081339862810E-029 5.1719660540723250E-029 4.9376998396388427E-015 7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 -5.1719660540723250E-029 -0.70710672067846414 7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 + -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -1.4813099518916527E-014 -4.9376998396388427E-015 -1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.2554134762303971E-043 -1.4813099518916527E-014 0.70710672067846414 1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 -4.9376998396388427E-015 -7.4065497594582636E-015 0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5523471411463592E-015 4.9376998396388427E-015 5.1719660540723250E-029 0.70710672067846414 -7.4065497594582636E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 1.4813099518916527E-014 4.9376998396388427E-015 1.0343932108144650E-028 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.2554134762303971E-043 1.4813099518916527E-014 -0.70710672067846414 -1.0343932108144650E-028 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.9581081339862810E-029 5.1719660540723250E-029 4.9376998396388427E-015 7.4065497594582636E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 -5.1719660540723250E-029 -0.70710672067846414 7.4065497594582636E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 -0.0000000000000000 -8.5523474338807404E-015 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 1.4813099518916527E-014 -4.9376998396388427E-015 1.0343932108144650E-028 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.2554134762303971E-043 1.4813099518916527E-014 0.70710672067846414 -1.0343932108144650E-028 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.9581081339862810E-029 -5.1719660540723250E-029 4.9376998396388427E-015 -7.4065497594582636E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 5.1719660540723250E-029 -0.70710672067846414 -7.4065497594582636E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 4.9376998396388427E-015 4.9376998396388427E-015 3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.0851378254101321E-043 4.9376998396388427E-015 -0.70710672067846414 -3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 -4.9376998396388427E-015 -2.4688499198194213E-015 0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.5523471411463592E-015 4.9376998396388427E-015 1.7239886846907753E-029 0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -4.9376998396388427E-015 -4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 0.70710672067846414 3.4479773693815506E-029 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 1.7239886846907753E-029 4.9376998396388427E-015 2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 -1.7239886846907753E-029 -0.70710672067846414 2.4688499198194213E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 4.9376998396388427E-015 4.9376998396388427E-015 3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.0851378254101321E-043 4.9376998396388427E-015 -0.70710672067846414 -3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 -4.9376998396388427E-015 -2.4688499198194213E-015 0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.5523471411463592E-015 4.9376998396388427E-015 1.7239886846907753E-029 0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 + 0.70710676908493042 2.9860361468697568E-029 0.0000000000000000 8.5523474338807404E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9860360446620933E-029 -0.70710672067846414 -4.9376998396388427E-015 4.9376998396388427E-015 -3.4479773693815506E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.0851378254101321E-043 -4.9376998396388427E-015 -0.70710672067846414 3.4479773693815506E-029 -4.9376998396388427E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.9860360446620933E-029 -1.7239886846907753E-029 4.9376998396388427E-015 -2.4688499198194213E-015 -0.70710672067846414 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.5523471411463592E-015 -4.9376998396388427E-015 1.7239886846907753E-029 -0.70710672067846414 -2.4688499198194213E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710676908493042 -2.9860361468697568E-029 0.0000000000000000 -8.5523474338807404E-015 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.9860360446620933E-029 0.70710672067846414 -4.9376998396388427E-015 -4.9376998396388427E-015 -3.4479773693815506E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.0851378254101321E-043 -4.9376998396388427E-015 0.70710672067846414 3.4479773693815506E-029 4.9376998396388427E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.9860360446620933E-029 1.7239886846907753E-029 4.9376998396388427E-015 2.4688499198194213E-015 -0.70710672067846414 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5523471411463592E-015 -4.9376998396388427E-015 -1.7239886846907753E-029 -0.70710672067846414 2.4688499198194213E-015 + -4.3711388286737929E-008 -1.8458851076050378E-036 -0.0000000000000000 -5.2868250706923520E-022 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8458850444230821E-036 -4.3711385294383820E-008 -1.3965924399306031E-014 3.0523497210064655E-022 -9.7523528839742015E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.8976604851584635E-043 -1.3965924399306031E-014 -4.3711385294383820E-008 9.7523528839742015E-029 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.2868248897320393E-022 3.0523497210064655E-022 4.8761764419871008E-029 4.3711385294383820E-008 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.4457854887355532E-029 -4.8761764419871008E-029 -3.0523497210064655E-022 -6.9829621996530154E-015 4.3711385294383820E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 -1.8458851076050378E-036 0.0000000000000000 -5.2868250706923520E-022 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.8458850444230821E-036 -4.3711385294383820E-008 1.3965924399306031E-014 3.0523497210064655E-022 9.7523528839742015E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.8976604851584635E-043 1.3965924399306031E-014 -4.3711385294383820E-008 -9.7523528839742015E-029 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.2868248897320393E-022 3.0523497210064655E-022 -4.8761764419871008E-029 4.3711385294383820E-008 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.4457854887355532E-029 4.8761764419871008E-029 -3.0523497210064655E-022 6.9829621996530154E-015 4.3711385294383820E-008 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 -6.1046994420129310E-022 -6.9829621996530154E-015 -4.2628888362068480E-036 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.5779492745011281E-050 -6.1046994420129310E-022 0.99999993154291766 4.2628888362068480E-036 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2094845524126412E-014 -6.9829621996530154E-015 2.1314444181034240E-036 -0.99999993154291766 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.6917700888461642E-036 -2.1314444181034240E-036 6.9829621996530154E-015 -3.0523497210064655E-022 -0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -4.2228928889112424E-029 -0.0000000000000000 -1.2094845938115352E-014 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.2228927443677766E-029 -0.99999993154291766 -6.1046994420129310E-022 6.9829621996530154E-015 -4.2628888362068480E-036 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.5779492745011281E-050 -6.1046994420129310E-022 -0.99999993154291766 4.2628888362068480E-036 -6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 2.1314444181034240E-036 0.99999993154291766 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 3.6917700888461642E-036 -2.1314444181034240E-036 -6.9829621996530154E-015 -3.0523497210064655E-022 0.99999993154291766 + -4.3711388286737929E-008 -1.8458851076050378E-036 -0.0000000000000000 -5.2868250706923520E-022 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8458850444230821E-036 -4.3711385294383820E-008 -1.3965924399306031E-014 3.0523497210064655E-022 -9.7523528839742015E-029 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.8976604851584635E-043 -1.3965924399306031E-014 -4.3711385294383820E-008 9.7523528839742015E-029 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.2868248897320393E-022 3.0523497210064655E-022 4.8761764419871008E-029 4.3711385294383820E-008 -6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.4457854887355532E-029 -4.8761764419871008E-029 -3.0523497210064655E-022 -6.9829621996530154E-015 4.3711385294383820E-008 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.3711388286737929E-008 -1.8458851076050378E-036 0.0000000000000000 -5.2868250706923520E-022 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.8458850444230821E-036 -4.3711385294383820E-008 1.3965924399306031E-014 3.0523497210064655E-022 9.7523528839742015E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.8976604851584635E-043 1.3965924399306031E-014 -4.3711385294383820E-008 -9.7523528839742015E-029 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.2868248897320393E-022 3.0523497210064655E-022 -4.8761764419871008E-029 4.3711385294383820E-008 6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.4457854887355532E-029 4.8761764419871008E-029 -3.0523497210064655E-022 6.9829621996530154E-015 4.3711385294383820E-008 + 1.0000000000000000 4.2228928889112424E-029 0.0000000000000000 1.2094845938115352E-014 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.2228927443677766E-029 0.99999993154291766 -6.1046994420129310E-022 -6.9829621996530154E-015 -4.2628888362068480E-036 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.5779492745011281E-050 -6.1046994420129310E-022 0.99999993154291766 4.2628888362068480E-036 6.9829621996530154E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2094845524126412E-014 -6.9829621996530154E-015 2.1314444181034240E-036 -0.99999993154291766 -3.0523497210064655E-022 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.6917700888461642E-036 -2.1314444181034240E-036 6.9829621996530154E-015 -3.0523497210064655E-022 -0.99999993154291766 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0000000000000000 -4.2228928889112424E-029 -0.0000000000000000 -1.2094845938115352E-014 -0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.2228927443677766E-029 -0.99999993154291766 -6.1046994420129310E-022 6.9829621996530154E-015 -4.2628888362068480E-036 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.5779492745011281E-050 -6.1046994420129310E-022 -0.99999993154291766 4.2628888362068480E-036 -6.9829621996530154E-015 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.2094845524126412E-014 6.9829621996530154E-015 2.1314444181034240E-036 0.99999993154291766 -3.0523497210064655E-022 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 3.6917700888461642E-036 -2.1314444181034240E-036 -6.9829621996530154E-015 -3.0523497210064655E-022 0.99999993154291766 diff --git a/test/python/wien2k/wien2k_soc_convert.py b/test/python/wien2k/wien2k_soc_convert.py new file mode 100644 index 0000000..dc2a426 --- /dev/null +++ b/test/python/wien2k/wien2k_soc_convert.py @@ -0,0 +1,39 @@ +################################################################################ +# +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# +# Copyright (C) 2011 by M. Aichhorn, L. Pourovskii, V. Vildosola +# +# TRIQS is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# TRIQS. If not, see . +# +################################################################################ + +# Spin-orbit + spin-polarized Wien2k converter test. +# +# CaOs2 is a cubic fluorite-type cell with two symmetry-equivalent correlated Os +# atoms; its magnetic point group has 16 operations, 8 of them time-reversal. +# This exercises the SOC path of dmftproj and the converter (combined-spin 'ud' +# block, time-reversal symmetry operations) that the non-SOC SrVO3 test does not. + +from h5 import * +from triqs.utility.h5diff import h5diff +import triqs.utility.mpi as mpi +from triqs_dftkit.wien2k import Converter + +Converter = Converter(filename='CaOs2') +Converter.hdf_file = 'wien2k_soc_convert.out.h5' +Converter.convert_dft_input() + +if mpi.is_master_node(): + h5diff('wien2k_soc_convert.out.h5', 'wien2k_soc_convert.ref.h5') diff --git a/test/python/wien2k/wien2k_soc_convert.ref.h5 b/test/python/wien2k/wien2k_soc_convert.ref.h5 new file mode 100644 index 0000000000000000000000000000000000000000..e541e6bec84207e2e396b2a94192212b78047ec7 GIT binary patch literal 394665 zcmeF42|QKHAHdJ0EUC~+i=~xTN=1vUvedtjHYu)9RFdUu*1E_|LVAY0gxxH6Ye#3-h3+VT^gB5&u*HF-e}R{i zldX%J8xA8yvHoH`#pyBWuaPJv;ehm#(qAz~{l(o%2_@_>nfk&;{@shHF9(r7%bWU= zh5X8As4q&WppJQz-xU`e$$?Wp31Iz=NBX)9wVTBYs=O>hl&gbS|74KD#E+%o*{E7f za;X!l%OP>Xe7wmh@)`*gpoH`ms|{U`asI0L)CE}14Eg7OqQdbw9E1E=PI(lS!Pc)h z1eZj(T^7-l+ddAc8Z1N<*HVXh=_1SCD5Hv6em#CGF)+@ z)eq^;vQnGF)ZSCuQ1Wcb;pFji{fQb?T@Hy?Ik^1T^<>$ymBf}r^)zU^=3ciOmien& zm8;%2NwQS>{H67T0K;7m@Oo;Sksd3A&Y@9C68js}ET;%(Z zjKi^u<&h>6yyUCuioW>2;Y==;n(A^VG)UjYIdM3h$$rzCD-7&c4Mn6h!muzxhp!HlUYqZgpZ$5x z*-29j62%Qm=6$w~aVb05H!{P&>k@;%3Rc7)7Ap#uEc%#JaHK=b$*0}4<7PW5wosg| z%KqDCO<84%wc%aqwZxbx^Xw6bX}M zBWGe7m?E7j4)z2bwCvf0hW&OcNbEL*X+7@7cXH57{M2#pk}xGg(q-z<1AZ5~$p^hrIGWczIf`YvI?2U5?U~NY zY|$g$q0gj{*cHXM#!3<+=8=Oh^zg@88W3-vb4BYB7JPfDHhd12%@Tn&3YEt=!{p5y0W5z z2pZjFZB<0D5+~wtt0sz7!SQ0+k4BEN(HJ~P>4bE-%>ZJ_)g~=Tc`_n0*!NM$HNy?F z*#xl?h3kqb7I*zDCzo1!@T9~GP6mgrHsxNxiO5;!)x5c4apb4@1==~{#2S<}b&1+z zH7~g}rYzb8VL8&}$}`nEM2J+$lO3Pktf!u-uMXjfvgL%8C$t&=%6|l^*VdoZD?pnF zs3xx`GUK_pcUU`O-*;&;ndMQ#tBS#?XwHh2mmTKK(VZ#bRV~=CZTBl=-EkEuSUNe^ zd#sWfnIuZAL#bA=3cnps{1}>J*tUWl!VL}m&Xtp$Zxl}Bhj0$>R<8zfTGMm1D7Ve1 z{J4#y9x%Krn9CAm$IjEsFe%A#~lZVX<8@}4$;P+x<72zllsR@rniRu?LZ=SVeqD7OB z{v)cYL^cAK71B1`x@0(R9K{@tdg6wpkk8Ej68R5FY}t3Z9CfBz$p4Tnr|njMFDqAX zQK2~Mx#=g>3wvM14cCHFbPl2)a8R}Wx}qY>ttxAd{Ezz2sWr~Js=Zn!h*#AZwSeAK zg&%`B%1JdKr;CQ6lA|U;s?RA1j==4rRw`Z0DM-Zk`fv+EK~D6o>O)issSd}fDDEm0 zV@e|_W+WLrJYkobA2z9)g{Y8s!Wup@D9%W>1|d!qo=5IR>EZn1(RD9dQ`ak@WL$@% zFGA`FetyVVjNyKegSgP=hrHHJ!rJ~U6_gk_4W0nDJEx+W;{Hn@`vC*s47S`4?x#jL z;x}Eq&PVU>%?VwUk2t3Y5`=+^o0AP^u|}T7;#$09`KU5bdXLM~guDt3Dr6XokmSmx zlHr^Wi_oN8j$uW9@H7s)c$$X&*u~-4-hN5Wyf`0M%BlKWWygt9cAONU#Lb^mZ0?6N z=g74pJNsGlY~1a+ab$!9M~?i6iZmfqxZk)%BeN&7uIk)B_UqXkyN?=|tBgeA9Id^m zq~I?v0-_wHA)826Ne98!B{ZZ6jY>41Z%$B}&LWy~_0ihe*2T$np1r5FH8*KqddY2m zq?cra;`;#BAKZdSO*mG1&E=`mvwy7@cq3h@QW7f(lUyoaN`^MJYEI}T0<%S)nk>EXD))5|Z#Am5xJyafuUr_+)_UYbE3;rUg* zp$zE^W01$@5WT;QU`R)sAsrota9xIU^cdvz8Nx?0q%(>^el$Zk9&hOFWyl~;-L?PC z-f00e+Q z10q1KACv1=_`Dr<@%@xnRmt-XKYp;Cja_n0g#6INs6hA&1b_e#00KY&2mk>f00e-5 zP!V9VAMidIy)w=;LjbRD(}L-jfgcC}0U!VbfB+B>Vgf8ejJwx*5Y>T&4)w9nK{`Ai zz%JkCrGEKb9(966R76Aj1qa5%7 z43s85_kzzEU_ICUjXcRqn4bH~@}LrAQw~8dAJ$U|T_k`UTs~Ybqw3MM_Th8ED(E1K z5#l3=bHU_UL|*-LB|3nD>sjjxK>|WWfZh-AIW8G|kO|es939-Tad&YdgX|o+4&mr# z?@IdTk$*U!1ukyxq>KBD66yKLhdR$KQgwq#qCFRrs!Lszj}BVl{<#tzn8oRJLA62$mHo;}0ow;d3~f1ls})#tqZ(VU`cYQasJKEI&!L##?aWbi>b zhQ`GDk%|w_G05TjkP$ve#~`PK!sB_!sUSH`BZh=fFdko{c*xb9%CE-?zWr9AhC>c2 z621KdpYMkMDBtb>QNEG?QNBm`%9q!?A`BfE#d`ninhRG5GXbV~g#+zAE$Dd#z8})( z1%kLAl2Z@Ck87v+>TmS>p%Olj&7dUse)tj}&}NXs_rt09z&3-N5(-b{A*X`mjPOBk zhV<~b5YI!7;qu=O7JU1~^3{HV&o}Wu$~Wad%J=Snl;57ME=6E+M`-dYl%-=A^smBSBeqV&~}i~FBZE%U|q=SS$l(h~H*s37jo zq%Je{k4NZ%7B(tBul^B*9vp@KQOgDw(#x6phbDdi8P!YB{e!ws;@JT~q@ws*Km z3RgmM$V<@o!I}2I@py=@V{&o*zCj5w$87!+L^U zSrma?5#+DloAK4)0s$ZZ1b_e#00KY&2mk>f00e*l5C8)8kpPPj=Wcu&A%mZVeu0NBOr0NBOr0XQDJI3BxLuI`?DqgHrCMZ_MVB^R#fVUPb(2bmH?l-lj2k!uctd85dU6J|JCPa3iw(_r|*{;VMVF$ z4N}j_C;0X&<*WS!pDzo&db0W**zdn4mAJck*dYjrc z#iQ`**W-SKUA)hP3d!C0A+NyU)wQmATHpf$KmZ5;0U!VbfB+Bx0zd!=00AHX1b_e# z`0ojLvN}KdqO;jYaoPNRH%_Mf&o1S~hq7JQ>_-;|%LMCBoR!zDoBlo{39}CWthOBU zFmqH&FYj)4t5$bhCvkhBcID-QyX6bB%GGk)Er}BM9pRc>vcPrK#xaVwl-zY&?zNh) zk>{Jzbl~EJrAxPzs~q<3d**AWXk(Xm=7#P)HioMI{q4hpG5x~M#cIaRj%eyqnK8d& z+x?ywddBVCs=lK0{QI9n4`<)^yX7^oXyofISG!JFJ~`fHeXI1{&%Rz-F4Fz)4FU44 z^p{ySdpt~jt!=_M=T4pFca|u(pOB$Eu5GuWTRdYfv&9$pzwmY2mZh8a-tkPEK0H)3 z!R&!k=TZ9m3oK7mUOe7)jn$A9Vy`}N)4J6-1w^c;0c`~Jt?lGfwYwjVDR`}*d^-)nhtMHYbpQe|@_tW}cYOjSjnB73X?Ry|^ajib(&J zfg#DgXURnj>ptE5!^u8I8_rg;pO0f54D+&jaLS~m#e#7uS(({>?jKUFZJE(Y=3COU zz@^{1D;Qr&@4U63lTK^PS30c+1o;$9mW%sP(mYpH#iM=e<9h3wt=V#IxXi1Tr$@Yt zOcZ}**~;Fochh^7m%hC+YpLfDbnUiuZ%gGN20@#~u3m36?ftvL9h;l?YJbW~d#2@z z7M7)-+A(! z&!r}76Q3-zNqKosPJ6re>)4Y!2W?ZiFi&Urn-)V{UiAOAcb}xwgr)D-pb8kF2fAFG| zwC$*lc`=idLf(3gzA|>8Mo*=M=Upzf8`#=2!qIzot6@34OjT76iv})dy|$QeE$WMn zignUoBTSFRo{2v+m-ze3fVW5g`lh_;sH@_-^0TeCJ`I2B{rZ1myE=W?zJ7X`fB(nd z4j%RFyuy3lox7@=UL?%)_a3WbaL@K1=MBC3b}lM;HtU)3re^asPni^rUw>5c{dvpQ zQ`gG{e6j2E@%ba?EAJj((lQPT(@n^a*my2k>2$jdzJIF>=saw_*UZ9wdV_X-@#@yU zW7n=O_xt~^TuLN#$H$l}{+lj1JlwrGLd0?1$`?V#~J8% zubA!c`8Bj`$lL$Tk?u2jq5qaAqP^dgUe3Lly>{_uX=%QY3hWwfG5og4UgZm_o%=I(5o;2Ic`=#xNO__&AL>=7U!&`Y;Q?*uu z?hTwhw59SE-&v#0ytAxcSezK2tJnUYe{z#by?b{JJz>AbN8;MrV%y+W6@x!-{H9~@adCyV&DUu|`v*^- zmVc)r{q>!u7N$$C|Mfvy^Gt-l)%zvgf)o!~u6&|xzFs#X&2qoSnr*I=Cw!e&`DB27 zbk~pl#FWJ*rYq~T@8Bk}&dKq%L#K&N6F$Y?-PIU6?e%E0No-SCa#>6N{n~S#_WE3DGR^5ht3jKaD^014y#J4H>wM{h+a8^r+I2>* zZL=)f_g%Igzb!YoG|%Aiwf4{N4rs61r}+*=#W#xjUVFWxyJcErXgxQ~y}9{I*vpt* z`~KQxFz@6^m$~nci$sm?u%x}J`RHw4o!i-*UN&ONrbL&8n{C$~doW_k2&ee&SE9@U ztVQ~T2M2#GF>T(aO;_)fxL*3>m$DBh_3GKn=S0lgZ&^cvMwh&>`_^^PqhVVVPbT#7 zJA5fnrR+jhLZ8hcPfmDtG6&0;y>FdbKB3K> z|4mN+@W9yb+ft=mhEgbKF>`zqMPlfPKOl6rg|>QbxoFYKC&$~ z@9iP+HK!`F?>3#8<=M^N!f@86Lc3vSEwbBne0INezd3i@3~epSTSUfXMa;fFGw@h% z`Gn8L9dg4qiZ03hd(yU&(w3RizjXGwV{0jm$V7wfW{=xoNIzCZ<0KHCbf8;$8OU)0V5+?)6&x zT+e%?V}i}qc~hsGN{*{^YBsCnSn$cGZ>IS4vwJn{(x8xTYqhUUEzP~Y*zv>s7^QtX zO+xP5N~fvCMnx-kTA8~}bMow!NB?oYpzyH8NP{NZ>LT28*cuk@UTx`=K|G|Z-2FZpEdBchE>@UF}X3) z?*pcMVOtNr7E{)DXjH7_=qKsgWBqkTp7r=Ed{9=b@0)uSD_Q0_cZQFfsB?URgTs<_ z?#-m14~ld6YOOuEFf81;@_p-PuQr(*Y@IN)NB&^5u1Y(_c75KmaccHaQ-u>tZ$D2^ zS$3mGziT?Tnpg9_26Ct~i|=Spool;iujuj*TtfkfpxZ&>$=;Vbk$jdk-9GGVIRsb2C5f^LryR;`1p(`8@-l_Fk!Q$zq7J zitCs?sau>q?4Av>xn(tjGd#|YOtalr93Oe5%e$rL^8AZb$88_tXAm{A>-fUbqpfy$ zIPB=L_}uVSd(!t8s|2t8UysGBTec4@II5j+_^tHj5tGMUe`@`;S;b}L<YfX(r@+tX7R%kGB;-a-Rx3y&hd87%nV&dM*C%%9U5%A zdE=aB83_wFJ~PZw@me(Of8Cwd+}rTK^5CrbPqJ6LPx6!8-F5V*^zlZ!uVxS?bEI=D zZn7S<*lcj)>F1D*Tf6n1P$8?R`}b+R>^oyBO5EPdcuJj?+Ws}G`_+xl*TxhrYrAja zs*c(hE{u8nc>f@WjmrLu9@)-aBw3g>u}!IXhIxM_165eEHFKI(B$ zU-hPa(9Ib6J8zyZd*hQBXLR7%_<)6zO+)jBS?A`K$h?`ccU(yuX)D+6OM>NHEMf;Z z9$BU#K1;jH3DKE}SzRWTPgcoP{P;ha;@3pT?Ju9h-9AK4%iX*_N7mWBd+3yu@k=(o z`S$SP<11^VJ`IRHGTL&Vl1a9Wx%K8=1Nw}yKAUVa+J4Qh=j|75++g%#ko*&G84b_Q z>-%)IG4)?HRYrT~`70fDOHO}q6xX?b;GFwnrJnZ>c&e;bNE>%(Wa0g{7YeWGO*k{_ z?j{N2g%YoB8TD9FHc}&Va%z~;&;g6C9{DEQbxv4W?1@bm^eyteTBm(T48C(STif&K zee+M|Ax%_N!s5@DUpuizgJt^G%VvDZX#>BDTi%=BICOAjzN)sIZ{O}u3*<*Fd9u&A z)p0+!oqkKS+c&X|*oIA?x`wvz ztVVtOq?^*y$|1Ook#gxumvqT+gZpI)DJIcP{d;xQNq#sxZNI^&2){iFuk6R)?Kjj$ z=1=>7a94Q-1bph1F(-65+2VJP^BfG40@krWJ`522u+b`J``NoE5y| z^~rz_hqT9)zLlLQE4M~2aNm$K_FZ->44M9JwsS=#6<-9ZxdnAOmDp8T z@bMQuCX^(9M!d`oUE2%9^3Nf(*Tq1*0~?1-n%c_ZuH*r7IzJ28@#@|VbO_5_QSh7 z=XDS}m^jzES-Ri2;5Mg5;Pfn z-&`}N47`89-g=9_pKn;JqD8rThJ7&J_+@Nzsr8(YjW=2=1}VgKSn)0U>7kHjQeFe{ z%C9Sbi=2M8|3U3siTTs|?khXJ`>Kvd$YE*Cqt_1|-9K9Que)B7>x>sUoIcpM)K=5* z{Pe;@yYf{R?7TPd@_|Q3|hB;%M<_W zhx!;LzlhFw`=s4ltHW+SdKK1pmVM68Y~!_1Q)AMH8!^44{Leqt4lo(Es#$A^@Mg*h zCvFuk8k4kqYjLERm0b@VJB{Q(z1V4%8v>5?TYR?N3Mu!0Mpo*VJrIc-`rapQp!R{R zA^X1dxU{4sRjK>PZ{^7fX_YF@+N(!eZ;CY@7Gb$D_hg$6np69+uOAEwyfuAFw&&Txi`op6zj^U$ zhd#6Rt8Q6u7qZkNeTAp?i%?~vj9Wm9oZDC(6+pjkQCC`r-W-+eh-pR!tM27jan`{0FNRG^k%Gq@| zr|0ICm$o0dellWft1Ywd-y8i-x8UNf zc)4@Mib^w|;KzMJ#+mvAUtcl(WOihk#(^~nEAt%(eYS8LVJuk>0<<^;{|yZXI(;GL3Ug~KL2uNF%juMAyb zv2(r!W6C`tbFr7MZH*94F7EbH}%LXC)OKKDaULqUzz6OD@mPidN8{Jxg0g zVS(Ev#dO^VD{``Xt4a-OY2>=;@wWU!+t&_P%(yEOH>EQ8?z(joNBu*T9_rxUPVMhE zpAPz!rQWS9Z?j|hl0({8AIx2{`Jh5#tm4B~oVN76@;tJvjZ0qnz9T#0M2j|tKYVF3 zy<6vsqjxVUFCuz9U)wXrL#<0nnf!o?qfLhNcpgLdv!? zrK9eCTs2;MW#^M#kpbJfXE~MU^jTM#d3Ne$+bOT6?DN=OrktWxd3$-=14;ot^ImLy zf7fICz%v0RhMN~lgwK2*aX-N1#Ohb+o41O5b(sA!baAGp^!xnr!`z&ANFNg$G^O>3 zIWtVT(-h0oH*GoR;YHm{6<8iug zN;7}o7RT)`9~jhWjrT$At36`GCBt6@4os7s82)P5u8;i=l(m^_obu{{T^qlFMamZ9 zmvRh(#uhyppsx|--mPNZW9<(4l5W0g{jRMDvsT?^C*Di{M&W~q@a;=fdW=06o>dSZ zQT!@ZsmLU!=))P0S$?doB~Ja?&Dy*B*{86qw8GN)Gd8W!ey>$={L$%^%?H1poDpDh zCR}Z^nK!#qG>9GYiA6|Kr+?82F&5##UBzUHQ33ei7&${{(Gl~fS&67&PAN+?1CRjw)lA^XDXg%*N*u|x|F8>SbaZjGV9 zu@OIB2iE1UQ-aiScXSarjfMdIz&d^aLJ#Q?27wQ(tD^wipLMaoFS_`^IxCvGP#NVX zhy&{_IY}}dJmzjqF5C8%|00;m9AOHk_Ks_XY*Nak7 z*;s@o_Zv%;vV5=|fL&}4U_W+oI9`XbNum;@ufzQQ`j8SgK~a$=rO1RLvnKzOSy!1S z^mQR>-AANKK=2C(j3A}b}glyyqh2aD<%@fUhHChtx_D` zNrD6r00KY&2mk>f00e*l5C8)8lmPyr2fXiITf3H*{UZRoHVv7~q=`cQuhFg*&6ns9AWOU($L_3F7uemx0qr2r!MStQXY*2zp$_shgWn-^@)ZcOr_Ix!Bsn-f^~r zJNjWATL&Ar+4j~m?dQ38kRrA&Zf@2K9PH=KqXf8qcNc3%XZ!gJ9TyRH_Rb3&-My^c zNUxi{9ZHt4o8@k8>tbhL<#%-A$hcPhe2=}ez1wUr>xIsa)Gy&UxVXAHI?pChy4IX5 z$gGID)^_%;)~;?YbL?&19bKGpdd}SF?ZtvZSLhtUx1TIu?I-wr z<^Q96mHEu~=P%%Qd{3zi8)*)&`B;OgVVSO(Cq;gRDD^bN0^3b(^e6^q8^VRx~^40r~@-^lwU#g#o5o&1QkUU+p z2I?ZY$LP6CJl@cshr&O|t%ufcu^fFpmyIH}qV-KImw@~k&#Ce_pojt<{mB){o%mRD zJp>&qczreFtNmD<5tghn9+&WVZkA8gaQ-LC8~;R!7gk!qRYT(Bm}Vj zPDS;_^Eop#u3-#n=nK|DBOLLYF1~+ay~{@9ElywdGnKG9DhD2?6Qr=j&ojpJ|3htR zmeWO-+n|2>^VA5!6h*9SS95x7EJv${WP9p5Rn*^^^7-9xeBYw;5`-PnmQyHl{2<4s zO4^5f=DMbj1-c7k8B7n(n`0v20s$ZZ1b_e#00KauVG-c>2cq$OkUl@G!ykw?`$C~6 zv#dH>{Ns5;@;z#leZs1GUN(q@OW3g5sjh3oWIwcK$apr*ZlG2_et58%;W`Kg0zd!= z00AHX1ca9Wo;MyuRbZhVIu@FL;rYOKSB|@nC#$4`=4!fxh7_Sui3EQCc{FOpSyV)1 z9eM=}nIc}UCg}4;rg;we%*@X|i(#JgGb|7W1b_e#00KauK@+Hl^Bk|{)Dl;X^BjC$ z3!ihrD`a?e48I>ho-YHJU-@bMhqNH(g=$xo? zKT`kNx5x6V?o`c`P(Z0K<<~`iy`z+$jr>86DgQF$SC^nxZg(TU*C5ItkNgQUDgR64 zmkg!+NEryTi2FTQ8M5NhyXtK6OWo@CE}b>Oa(BVTYEg7 zY8N&t2a}wUTHR_k zps=;=haY4^^`|@d{Jr0>n$uH47y230EJshjzWJH#2-3!=>2m?>h??*~91s8kKmZ5; z0U!Vb8XN&3up^9n@L@+V&3}2Vqu+)3Z-dims1OhU0zd!=00AHX1ZpB64D(<0TFig( zIye)99GL$yp@DE900e*l5C8%|00=Zl0>Uu=9bSw1FR%6ACe5oiEB(Ao^`{o9%YqLG z00AHX1b_e#00KZj_y`EY{MWD+^WP3Unxr$#e|ZpsXdnOtfB+Bx0zd!=G%NzbF#nxU zi}^3F=ii3F{I_8#G}HzN00AHX1b_e#00KM+2*dn$MlI&Qyv{$2hxsoL4S{GN00e*l z5C8%|00=ZJ0>Uu=b*RPsw+)Zxnho<`9)uto2mk>f00e*l5C8%Vi-0i9e;4pE{}uf2 z_T)=bEnWQyIQsjWnSM`Y>lo@uIyQs4;P*aLZ>=T>KQpS54B~_uitw9Wvz#WDn_aV< zE|znvSq_QSTjzJ*d*=;yPrYqZC>Rg`0zd!=00AHX1nPo-5ZFC>=(jX${QVfF`7f_? z-y326TNi2tX#xQt00e*l5C8%|pxzP?hWYO*YH7Mo=D$Z^{#$Q#6AA_dfB+Bx0zd!= z0D-z7APn>0&9#{Sw&nrtGR%K@5Q1nR00e*l5C8%|00=ZJ0>Uu=jo@Sci_cLTq2}@P zsrfv!DU$OFu32s>mfKXb92?8+u2~L=)m!Ix&ym~*JEGpUDHIF{00AHX1b_e#00MPE zKnU!Jpkvh3{I|}L@Opnr4$Ob+LaiW8AOHk_01yBIKmZ8TTLQu`|21b_e#00KY&2-F1uVVM8s z^D+Mwf_g-hif~)7#&v9?(R$oh1xBI9W+T^ZLsRZISwe>E#)MM-$LlG#Iibr9XA$B= z8$yCGaB*|8aVH3Q7K?iYc@>3`dNPvwP7qDVtI#632{(nG|6w{`!t3`QUBSNiIZy}% z0zd!=00AHX1b{#TB_IUza`g&6>=i5C8%|00;m9AkeS~ z2*dnWu@>`Rc^=L656pjg5Q1nR00e*l5C8%|00=ZJ0>Uu=?ZwCZ7oVd(h?>VyoVtjq zweWM0CtBAmcMc_RLZN24cr2${vm8@->PtA&ITBv)dwC6ZM15&OC8sC$`H2>wbj{XJazkfu}AQK<}1b_e#00KY&2-Ft>!Z82UtHu16 z*ZcTnT2^lfa*|DcuuHuikP3spKmZ5;0U!VbfB+Bx0>V!~80NqKtHu1c1CJ)^3G-hb zgdiFS00AHX1b_e#00Iq*fH2H|r|>cV#pkG#Q1hJ7pe|x+tyC0Is#~+%BP=(zX1SMG zZgS0XNUYvEzk7~E5A29~+on)3AOHk_01yBIKmZ8T1py(jBP8vpsrhf6qeedo$%t+m z%zqi#Km-r~0zd!=00AHX1R5d%VVM8A)MEb2>p4O_g+)st|hbJV<^$J_&UL_KLiCUu=-BFAAFRybX z4`BXVPc#vV0R(^m5C8%|00;nqKSMwm=D!DOG5_WD9APfZfB%f4K`uZ52mk>f00e*l z5U3{vgkk=Bl8^Z>K1VHq&ohTm7cpU$L2^OcYnGG4a{FtRQ^Im5YL;UvPkjkzI!DcG z9bHVidJXXJIbs)n*ReVu@BslJ00e*l5C8%|K-dWgfgQ2+5;ZlilXKLaVg4)ZDh%ZZ z0zd!=00AHX1c1OV5fFy?Z*nc>zioNY7y|QO9)uto2mk>f00e*l5C8%Vi-0i9fA7^| z{@a>IbNvtIzdQ&*G!Os+KmZ5;0U!Vb8WsUznE$5pG5^Kqs8#TJ<_pwCOs%Dc9OrT%_1rsPc0%eDP-iN^U7ex*J@*==wzsd8s za1q#VJP1KF5C8%|00;m9AOHj!76GPtV|yOe41swg4?++P1b_e#00KY&2mpbGML-DF z{U3``FY~K$-Jfax%WK_qKg@p{mO?{qfB+Bx0zd!=00AJtgMcv1e_Qe~|E12)OAto* z9D8=n=h#h=oP2T3a#L}7<>(6oPd18{MTKP$BOI`tJXI+sIaefS(YZMvNKJjozvO@JPvf+r9PWAT z*;Zf00e*l5NKEggkk>MqZadDUhBUW!>Gh@t70E^ z;ddx88E}CB5C8%|00;m9AkZ)fc(QES@nYIJhHbCDd>Z)=`TCBC(M{Hp!Gxc5F?)`L zOv@wh;wmaDD-L=)wwV%{F*b79X!S)JaS=_#+iFE-ZwdAbx~fu`-;}s@yuV9ru45a8 zMZbLPD<PbA zFGnRVU#Y0H{8*@gj8t!(c;C^- z_sh6{c5tusPJI+Vmft?`@WFdtug9FY&quZtZO_{yYW8sb`1iBVLCR%d_F=v#T+T-Jn? z-SM}|zmeqVQ|O&+IWT&mPsc|+A8aXI^QzLjf6p0778@^|P;5Fp`&ed3`Pmr7SJIDD zyytnc0Nrn+L%qG3(NUvT?K6g7wr~16@~*;x{T5-5T%Yb)bvHOJa)G$iN$>L`b6hGb zD;4sr+`ZpAdmkM-rEsbA`4ZiNAossp9DCM2|Jw#JwM)g9Z>$KE9$zjI(|%UViw^n) zT92NMoqlfhyCJVG2f0rQxFZ@-XmWnd!J!7zd_{@LcW0ld8aJQ>#q9r(0d%2SbRq7| zW9tafm2USX zGFJTEc)4*&OZ{~fwBm9Vo8%>YXfpLe;^oe*Zl&+ee*Ki4?Be=mcWnE=GsXP6^?9!E z*zt$kSAt_mMO7D?lOz+Fx6f(fn!t|^C0$m;J1o|1+2Z}F70x9hL;R(Q>=Bll1({2vd$tRBHXG=AabIt5_AFsw+vUD_}TdmGWBYm zo8zIR31Z#2>YO7cG~q_+A_1+(lz$oWgVV4G7>(BB4&_m(S}T!TU`Dk&i=#WF;^F=( z!_ianqq=~KXLEf7N9N~pj_a$-A#p+$r96G46wc%z7e;N@1toKtr;{L5lBn16#wqO?x*sU24g)gMfW{f!2gX2?JPC>73sjs6=+Jbuu531a*p-yy(sE>e@v>blbQhnu16uq%T6)$iVX zCJtgi00;m9AOHk_01yBIKmZ8TD*`M+l4~obqEfNYFJ`brDa#Do0ocX%0QO@ShvRjZ zh#8c9=1Qw=)jFXlwN5BSC~@=WESqpYYc{85IZmF9>LbcoStFZBR!Il3)Fm{e2#rdF zsX1Z9<-sDFbJxSHt!-VLT<6()T3d6&d990an;$I>kk9nh)~-DWb}g4X`~d<$00;m9 zAOHk_01yBIje!8UFHhPON?gN&++nA7#D3SVsot3<0=8JlvPC&cK5Z zL<0dJ00e*l5C8%|00;nqhC`sP_RlkxQ1*5m?4Nr%|H3*0eg8aWF?BIh3*z;GbwM@D zFl(WMPwulTabVWguI;K_z5Ve1 zI(A{7y`gI?)DH*%0U!VbfB+Bx0zjZK5fH+C_84R`^JUixa-Ut9qZmy4?Ahpj;B2Hk zy!P20&r^06wxb)9&Ou!Xf@z<99qqmHb+yk*9UBp zYL=s4*UH@iU@goGJD82g^4e$DDy8JH9bMHR@TE}@ zVA^N5L3)HC)YU$_ayF%ZdMH0Z?6a$I3eB`0!S8$HXX#a6Ps01_*oA#|tQp_}0U!Vb zfB+Bx0zd!=00H4AP*?lxer1$hQ3w0%@;Ow}e62^&pJ%rysc!GkTM(}gs7p7YM>T5y zpWJ6x<&dteU8^o$z5TE~i(Rm58?`z^<$(YY00KY&2mk>f00bHs0Z-PMjVH#4>a`gy z{#n#^lfGo}IOE2d8+O|g^Pl?GZJ5xPJWm*=M4IcFzt^zUP}*aBj-Y4Lu)= zpUm5EwbWwQQe(xUak)eMD=ThVs(MLHGx^kRp-$1MH#d{Nz6+asV@1*Mp6eI1_!g_P zzi9NWylyUQLdx#=Tjk$Ka`Y+mPPQBvz0jxQqn;18l&*PI>D|BQj3kSV7fvWP9iDwG zGo<`%jN&Wl$0^?PNObCB6LsYRLjrToj1`ZljM&g)x`gIA%`L~j`7PhB6M1UFl}S01 zO*vO7uA1 zcFT}0>8n;GG%e|OYe-?YY`y*&PSeXHT$C-sEsq<|*Dec-4AH8vEsHHKR|$SNXV+kM zw{r2@%K{8vn}2linNhyb^rOp*3GbSJ9TI*+{#rw9>sHU z>%A<;hA&?FpES+#qH;^3Dj$s)TmEqQyUxAWUm2|#;%cFH zMRspw<%14~!f(co7(ecm+KG&_qmxnt&t!P56iFH}Y^X=nvS*+5*Uwf>y7*kVIJ&ZO zsY`#4r?&TFx_rAhT7TfHeNCQtjLdSIyRxKm#KOF0SBLk1vnY31Ww~X^VaH(ybH|KZ zr&J()Y1&gukqcX{dG&n}oTuRaMgO^N(}f{T?_G?I$U75pw){znlayXT+x%}E#8fUt zt&mo{H^Ql%>6a&Zi5@zAI@#pyJzK6+(96DQP-b$w(EJSlYg3-K47(VWuje6s-uqCl zc89PPJJO3I-$u{KDvo#?eKG6Py?3O~A-nxHg_4MDiLP;vckgqV_IAjE(_h8Ni_$*n zEcSgmGB$X`efu9$xMuI`+%GMT#16x%w$CQC~xLr5DG4>U?8_ zL+MQg!sCP098VTNtsAIDVbL$Qju2fgHbA_8QZ~D}*m)0~)w7NS$GJXxx4p&27XwrK z8G1YxkT+&j1T?MVUT*W4N2_KqFy^wgh zbE{kFyR%pOPT_#*9Drc0^=E5R|Og4V1nQvJ7ljlX+V z@{QGsNuSfdRaU;R8q;IuZBp~KDjvG+6EnR{&_F_7AY#1b9C81@T2d_rQbgK z1-O(dNm>VZr#>HBy+o%ArN&8rJ?q~mE`f8Q)rDOho2=)k>9k!H(eiesEy&&>LOizJ z(4u~o1~1XF(3Ax)<>940Zm;5JuS%T8IAQ>v3LnuE%oU`lADHGFvL?2vm z9_5}VQN8|nu);1L#3Xp61JOVL2mk>f00e*l5C8%|00`870(EuHE?b$hD_m&^ni3Km zo1P#Wf(@|;~C4$<1$wPBLg+Yj5b*af?`QK&6c5(oeRAOHk_ z01yBIK%kKj5W;k;&Qc2%9~_71%T@%jL3 ze9dz7>l(WMPwun#=fJG3T`S+bdi!B}7Q0~AHgt`J`T+qT00e*l5C8%|00=ZD0z$aY zo`6hdzU*2-?z5A7o=p4f+2)iT#YW1*YoFcGhLXp2bYs#vs4GD*?Xzz+t8R~zI!As4 zwa-qaMiBIL)lq;t%1C_xC8<6Txf;kFM7b!MK+yz>CQvjnm=Ys~AXgK)TFAxQ?&NRH z)byd&rJ4{}Ze23ri}x1Ti201b_e# z00KY&2mk>fAOr;J>U_nCnUuZbN@E~^_ZS#Yq>|=q9g2RwB8Xkx&ZiX*y>*TtY+P!V zqhHt1{eSX&1-ZsiTf5e|MfLW>_AGY6u5IWV3-tp6KmZ5;0U!VbfB+C^Oaz4Re1)>@ zFW9w$JYPZXCG$EracCJ;IGM(zL{Qf%0!-&7(%h=s+4vlQpw3O;{quFMR6ZwAeuCIP zC(lkWtuw5xs(H;{@?o8!Wf00bHkfx6m1FYu%6ojTY*4_ZJa z{agFz$xEx-d-SHn>jM#MYnG#5*U4P9fQen0>S z00AHX1b_e#00NDPfDrDV+bsVDyH=3<=j1cjy!Owt4^V}}_Hkp0;i`PihT{<;cUak+|3@)ABY zIbA3tOJfuk{c`IF z(dA+T#QP^@vzv>Z_t05A>qu~%>$7*;TWowWFtwkdhxCn|YKwP2H%#(fSstG2muBkm zRJz@l$XM}rz2bu?2oDv;e015F>pT1XG?t~@h}5+!VnhuhV?8Jc zvGT?Gj+Rq36CL!+9Q#Ty5MOQJ(f?TPf#s!1r7bpo6dSZGaA2Rf$0P3!((sXZ)bjM} z?+TT6=cCmR6#ja<>UkA~|F{fo_05LXMmE3$hd zD<5#nF|OOI`YV zJhi<~_T{%;oL4y!D;EII5r>|pMgaqE-{q%Tc- zYAJGI%QdgQFM`Qls{h=!>B5kv_b$eA`hCRN@+T!uQhEh#^S^BnQ@IqiLR#_O2&Z|#{D9;xAnavV4Gh@XgDkC=Zm@c7tPIJrgZ+^?S>qMTKaAi`?WYZ4E?UGXC zOsB~N%OokC+xv2s(#P$d;UBuEBzC{x0E^9!XZkz7jo-x7{*iOZuu6 z2~A7--5OHZEnBaDhST)&2p46GaLePy^R>&uB15z)Y|CPc%TkUy6lf4x`oj`>!eA9G^E+HW0Vp1vVGbn<+0sduY4 zYTs$EaAT=T@m%pSlO>DS_*{85z=d_o@K#CsoOe^CD)05mV<+rbw@2|@+$Yt1{?rQR5)q<2Nrf!!8cT^7L@ddwnH2{|O=$O=(yJ^@dQED0L~$0J}H=?8hz+mqBlEQ9nej zE4tFAN&f00e+QBPJk(=jS4j$;_8sE6DS6YulE-#*BUZsiS#_rO)OaC1!cf%E7eT+LMk|`qKMRzfAkNth z<&>3aJz_bo5D&Ne?&|AFc-;)Uc>SzuA&W}Z36RJ>bM3&b+J1dKl z$98m8gTR+YL4awWJ>yaJ^%Ozxvs3Fl5`+<=tZqW(haWVtKz=VXD%=#w>5ZWtLBVqL z-;o^!Mhlk(?~r=f~;M_x&A^oY#Zu<%>Z61jNY|$*F#+E@y`P^Gm64Pb9al zT~qEioNo;BKbE7ymm#^*LDl7y2UC7MP0Gc;t3xl3AkHg{;FN)BT_*sQkC&qwLDd_} z;d2Vuh4TuS47fl52mk>f00e*l5C8%|K==vN)p-TuY|5^{b{8fkfcFAqpe2;wI4{j<-)EE`chg{vmBOhEbgB?ub|C=T3fsJ7}&LqMKz(GKmZ5;0U!VbfB+Bx0ziPX z|1Qpb-<=ZLz^m>1?s(Zh0>vgR00AHX1b_e#00KY&2nZX2y4q(yAwk*Ob+FHFTt=BJe62^&-wO~VMwN@Ho$&gA zP1~B~n67WA;k?$F1i9{`$AMT|yVeox+J>r%P%j_=1b_e#00KY&2mk>f@Gk;FxX-RE zNtv8{*|mbSxAZymnD*Jt}fqHd2C1jt6?CZK@(uwXD>z1r{l`k)jm7@ zd3ZtWvybEynrS^^5`GXLSB$}pfb|FlG7t;|fB+Bx0zd!=00AHX1R5TJy4q)#SE20f zI@o7FflPnC)+6Zq>;>Jaaxt|eULQ!-s9BEb`i2_*C->P$aUj;#t}Tv)^WzOw7olE2 z00;m9AOHk_01yBIK!8p_2>028kjc!KT`S0a_R$=8O#AFH=)K%*1en)8yOsfEH)A`R z-Y(#8*aVpN*=>*>;o8^LK0Ez=@`BiBH{cYSX+5G3pZn}%_rZDuZhLTn01yBIKmZ5; z0U!VbfIvehP*?lxeuk92T?hN@@>*2Ve62^&_t`B*Qx`L}D_$Q^pI);Z)AbEC{7>$) z8*(7l)~;2bSiSv7Wg$Pf00e*l5NHSlJXvQps*g?7l?x0B z%sDewJfbpULyzean&&jP9RKFGe7jEMsR>smmJhSJ}w(4M4R09IvQV4k+Y!izEtx2i$%?E`@RUAVl`@-;;^YDA?E2D!b2y|7ngdsdZYH8_6j$asua%^A2V69 zc#Y4MX9HYVw+wHUq|bRbMXK^%uRM0bj&*w!&&93xvK$+}cDU&ce({^! zbEiJokK=JT_TzXQj{P_uhhsmE=M|3S@O6Jm{#WzG<-^zEa$-M@r}rl;$FEDjo|m7V zE-!hA2LeC<2s9)DLU_)u04DC7 zCHPDa#DD-000KY&2mk>f00e*l5U9Td>gt?bwlih#)WJDBKVf00e*l5C8(0fDrDp zTewgrCtr50AotnFa-gw@rrh&&4hSHNpmzN5nJrO5h8r)#38rFnxspveK2k9|WB7M#9q4bZ1@)N|lg8y;K z!gTH?BjDHiN6cT8Jg)yQRuja9oB+LlXrlV)p>Y#e&)kIiX5;SSM1He#Q5+5Kje>CMTP$)s|Fo} z#~C^=L5wrwIOGI>|8K+d{y&>D@1XQU49!LeLJy5oOpS@}@2nLy>j9omc=3=^LKzkC zkW)c&jw@@<7mu$QJmi?__q*YOZ@*4_wV&Yg?e-t#yBqCPFwa*>eHDCt5B^8_M)8^N z&*$gztEqm#MheSoeqMm&asT*TJ%{UrlK|8FBY}257xerC-#6*=2SMC7$8(xO@Z-Tb zzWOEozUhVf7n642`=-{~n(truzIlR&oD#}NHKgYB@O?9aha4Ukv8t(>TAVCn-zUc^!Oz>Wc+Mxt{W(fMM62|}5sgz!4T1GTbz9Bt zhV>(Yha6Kr!WJ(0_RHt1{RE$H37`4?d>;B3jSpo<@YQ~T&vz4_`Tl%7H~yPyZ#HU3UgNoP z6pZJ>s`G*4sQCH*n2{b;Xq5K3fo=@a}5q!Vg$ydLmkLQO_e`IPaJf1tA zsLq=%kJm#pc*xPO6IQ?A+ixFV?I-wrkMWuB&&PB5Gru;T7a)18FT&dXQ10I&z%-sG zoUT5;)YW+Icaq8{0_7)&@q7{oh2Z<;8NT`@eLVL<{fnt}@OZ8jU7a^w9{0}^Jml!t z39Dc5?RSx{_7i-*SNY8M=i_Uj zFX`jCJnCPVBi+U0`Qyv{jpt^GHOtY{7goRE+b@@|_7i-*MSSM_^YPp-iE3{)YDiw| z=N8G7Jj~C9Rr70CZl>{E9X&ULQy27j&Xle?%19kOFrbbe7*HQbU7@al+(DF!pC>@k z1d1k5G%*-uGz7Vt$kjqFehvXYe~E(s=gYR{WNv2WUE>`lvrP5&4QJlDb3f-37E%24dD}(2Hl3b*km__&b6LagAe|n^{{|38R65-~Z}M*td>T4^ z%r#oS-a19~#&tS}`XWE_k#xGcAk*oQ#c&*7KdE#5_;rcmr_Xyp$m_o^Hd8V2b`VIL zo{v8=cXWg#y_=tYaR&F z^DO=sj#kyybEA7r4TnHb#=bZ0-}8O&KHzGXO}-M2@52lL*LKB=INo2* z05=C6CEg0=wP)u1QQ*oiz3Wvm-}BlW9|P{%vKLpveCeGzJ_+2&M=!2``CQc;r~N2y zk49fS;o6|DZ$lz|<9#s;oq}674b&GaFN|L{0dRnHt{-s;!qv-h{rH_0#ZRC2tdQ5g zFHWQW90bG?eNMQH7)^qlX*Xz2MV*J%B^ydkPfuIJOJNAe>d zNzZ$~$n?Bq!SVHzI@gciO;P;xd2b7O{q;Ow^V9R-=agi>8GI`OKmW_jdoZu<*!B0- zBIUcu)beORx1)$kH-81t#G;r8J4$OhWC;`V6tMaQ*TU*GOn^=e-g`0eF2uz9G$!6xG4Za%#Jd_3 z@0y60bcFgO{hlHzze_Az^pmbDzZR~u)c=bXTn`+U`x(9-`E|RF`uf>;)Oe)HbIE)0 zWTHR!HPJjLd3Q{_`(om45%HS)-}Ud|%v$o5?nAQ~^M1?|#0`@Hye?R94sgwQf45-? s&rA9q&Xff=inH=N!|fXbu4utc0+(wHUr)bI+C}lx=k1J%w@bwP8+X0QP5=M^ literal 0 HcmV?d00001 From 7d21b9c4ad018b61321a0706310e58c826c69ebb Mon Sep 17 00:00:00 2001 From: Christopher Albert Date: Mon, 15 Jun 2026 22:42:56 +0200 Subject: [PATCH 2/3] [wien2k] pure-Python case.symqmc generator (first dmftproj port step) triqs_dftkit.wien2k.symqmc.write_symqmc builds the correlated-shell spinor symmetry matrices (case.symqmc) from case.dmftsym + case.indmftpr + case.struct, reproducing the dmftproj Fortran construction (Wigner D, orbital and spinor time-reversal operators, angular-harmonics basis transform, spin-1/2 phase blocks). It is a full replacement of the symqmc-writing, covering every path: - non-mixing spin-diagonal bases (complex, cubic): the up/up block scaled by the +-(a+g)/2 phase, with the orbital time-reversal operator on the magnetic operations; - mixing fromfile bases that couple spin (the |j,m_j> basis): the full 2(2l+1) spinor representation P spinrot P^dag with the spinor time-reversal -i sigma_y (x) T on the magnetic operations; - l=0 (s) shells: the 2x2 spin phase block. Verified against the dmftproj Fortran output for all three paths on CaOs2 (16 operations, 8 time-reversal): the cubic converter HDF5 is identical (h5diff) and every matrix matches to machine precision. The mixing fromfile path is the one dft_tools #148 singles out; dmftproj reads that basis with a single-precision CMPLX cast and a 250-column line cap (set_ang_trans.f), so its case.symqmc carries a ~1e-7 error there while this generator is full double precision. Tests: the cubic path reuses the SOC golden h5; the mixing and l=0 paths compare to the dmftproj matrix data (single precision, ~26 kB) and assert unitarity. --- python/triqs_dftkit/wien2k/symqmc.py | 293 ++++++++++++++++++ test/python/wien2k/CMakeLists.txt | 21 ++ test/python/wien2k/CaOs2.dmftsym | 124 ++++++++ test/python/wien2k/CaOs2.indmftpr | 11 + test/python/wien2k/CaOs2_jbasis.indmftpr | 12 + test/python/wien2k/CaOs2_l0.indmftpr | 11 + test/python/wien2k/jbasis_d.dat | 10 + .../wien2k/wien2k_symqmc_jbasis.ref.npy | Bin 0 -> 25728 bytes test/python/wien2k/wien2k_symqmc_l0.ref.npy | Bin 0 -> 1152 bytes test/python/wien2k/wien2k_symqmc_mixing.py | 88 ++++++ test/python/wien2k/wien2k_symqmc_python.py | 23 ++ 11 files changed, 593 insertions(+) create mode 100644 python/triqs_dftkit/wien2k/symqmc.py create mode 100644 test/python/wien2k/CaOs2.dmftsym create mode 100644 test/python/wien2k/CaOs2.indmftpr create mode 100644 test/python/wien2k/CaOs2_jbasis.indmftpr create mode 100644 test/python/wien2k/CaOs2_l0.indmftpr create mode 100644 test/python/wien2k/jbasis_d.dat create mode 100644 test/python/wien2k/wien2k_symqmc_jbasis.ref.npy create mode 100644 test/python/wien2k/wien2k_symqmc_l0.ref.npy create mode 100644 test/python/wien2k/wien2k_symqmc_mixing.py create mode 100644 test/python/wien2k/wien2k_symqmc_python.py diff --git a/python/triqs_dftkit/wien2k/symqmc.py b/python/triqs_dftkit/wien2k/symqmc.py new file mode 100644 index 0000000..22e9a2d --- /dev/null +++ b/python/triqs_dftkit/wien2k/symqmc.py @@ -0,0 +1,293 @@ +################################################################################ +# +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# +# Copyright (C) 2011 by M. Aichhorn, L. Pourovskii, V. Vildosola +# +# TRIQS is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# TRIQS. If not, see . +# +################################################################################ + +"""Pure-Python generation of the dmftproj correlated-shell symmetry file +(case.symqmc), replacing the corresponding output of the dmftproj Fortran +executable. + +Given the dmftproj symmetry input (case.dmftsym), the projector definition +(case.indmftpr) and the structure (case.struct), this builds the spinor symmetry +matrices and writes them in the case.symqmc format the converter reads. It +reproduces the Fortran construction: the Wigner D matrix (dmat), the orbital +time-reversal operator for the magnetic (SP+SO) operations, the basis transform +to the chosen angular harmonics, and the spin-1/2 phase blocks. + +Covers all dmftproj spin-orbit cases: + +- non-mixing spin-diagonal bases (complex, cubic, and a fromfile basis whose + spin-up and spin-down blocks coincide): the spin-reduced up/up block scaled + by the +-(a+g)/2 phase, with the orbital time-reversal operator on the + magnetic operations; +- mixing bases (a fromfile basis that couples spin, e.g. the |j, m_j> basis): + the full 2(2l+1) spinor representation P spinrot P^dag, with the spinor + time-reversal operator -i sigma_y (x) T applied to the magnetic operations; +- l = 0 (s) shells: the 2x2 spin phase block. + +The mixing fromfile path is the one dft_tools #148 singles out. dmftproj reads +that basis with a single-precision CMPLX cast and a 250-column line cap (Fortran +set_ang_trans.f), so its case.symqmc carries a ~1e-7 error there; this generator +is full double precision. +""" + +import math +import os +import numpy as np + +# --- angular bases (transpose(P) = , m = -l..l) ----------------------- + +_COMPLEX = {l: np.eye(2 * l + 1, dtype=complex) for l in range(4)} + +# standard cubic harmonics, Wien2k convention +_CUBIC = { + 1: np.array([[0, 1, 0], [-1j, 0, -1j], [1, 0, -1]], dtype=complex) / 1.0, + 2: np.array([ + [0, 0, 1, 0, 0], + [2 ** -0.5, 0, 0, 0, 2 ** -0.5], + [-(2 ** -0.5), 0, 0, 0, 2 ** -0.5], + [0, 2 ** -0.5, 0, -(2 ** -0.5), 0], + [0, 2 ** -0.5, 0, 2 ** -0.5, 0], + ], dtype=complex), +} + + +def _reptrans(basis, l): + if basis == 'cubic' and l in _CUBIC: + return _CUBIC[l] + return _COMPLEX[l] + + +# --- Wigner D matrix (dmftproj convention, setsym.f) ------------------------- + +def _small_d(l, m, n, b): + f1 = (math.factorial(l + m) * math.factorial(l - m)) / \ + (math.factorial(l + n) * math.factorial(l - n)) + s = 0.0 + for t in range(0, 2 * l + 1): + if (l - m - t) >= 0 and (l - n - t) >= 0 and (t + n + m) >= 0: + f2 = (math.factorial(l + n) * math.factorial(l - n)) / \ + (math.factorial(l - m - t) * math.factorial(m + n + t) * + math.factorial(l - n - t) * math.factorial(t)) + f3 = 1.0 if (2 * l - m - n - 2 * t) == 0 else math.sin(b / 2) ** (2 * l - m - n - 2 * t) + f4 = 1.0 if (2 * t + n + m) == 0 else math.cos(b / 2) ** (2 * t + n + m) + s += (-1) ** (l - m - t) * f2 * f3 * f4 + return math.sqrt(f1) * s + + +def _dmat(l, a, b, c, det): + D = np.zeros((2 * l + 1, 2 * l + 1), dtype=complex) + for m in range(-l, l + 1): + for n in range(-l, l + 1): + v = np.exp(1j * n * a) * np.exp(1j * m * c) * _small_d(l, m, n, b) + if det < -0.5: + v *= (-1) ** l + D[m + l, n + l] = v + return D + + +def _tmat(l): + """Complex-conjugation operator in the spherical-harmonic basis, + T[m, -m] = (-1)^m (timeinv.f).""" + T = np.zeros((2 * l + 1, 2 * l + 1), dtype=complex) + for m in range(-l, l + 1): + T[-m + l, m + l] = (-1) ** m + return T + + +def _timeinv_orbital(l, mat): + return _tmat(l) @ np.conj(mat) + + +# --- fromfile angular basis --------------------------------------------------- + +def _read_fromfile(path, l): + """Parse a dmftproj fromfile basis (each line: the coefficients of a new + basis vector in {|m,up>, |m,dn>}, m = -l..l, real/imag interleaved; '*' + marks the end of an irep). Return (P, mixing) where P = is the + transform matrix (reptrans.transmat), full 2(2l+1) for a spin-mixing basis + or the (2l+1) up/up block otherwise.""" + n = 2 * (2 * l + 1) + rows = [] + for line in open(path): + line = line.rstrip('\n') + if not line.strip(): + continue + body = line[1:] + vals = [float(x) for x in body.split()][:2 * n] + rows.append([vals[2 * k] + 1j * vals[2 * k + 1] for k in range(n)]) + if len(rows) == n: + break + R = np.array(rows) # R[i, :] = |new_i> in old basis + d = 2 * l + 1 + up_up, up_dn = R[:d, :d], R[:d, d:] + dn_up, dn_dn = R[d:, :d], R[d:, d:] + mixing = not (np.allclose(dn_dn, up_up) and + np.allclose(up_dn, 0) and np.allclose(dn_up, 0)) + P = np.conj(R) if mixing else np.conj(up_up) # = conj() + return P, mixing + + +# --- input parsing ----------------------------------------------------------- + +def _read_dmftsym(path): + lines = open(path).read().split('\n') + nsym = int(lines[0].split()[0]) + perms = [[int(x) for x in lines[1 + i].split()] for i in range(nsym)] + rest = lines[1 + nsym:] + starts = [i for i, l in enumerate(rest) if 'Sym. op.' in l] + ops = [] + for k, s in enumerate(starts): + ang = rest[s + 1].split() + a, b, c = (math.radians(float(x)) for x in ang[:3]) + krotm = np.array([[float(x) for x in rest[s + 2 + r].split()] for r in range(3)]) + ops.append(dict(perm=perms[k], a=a, b=b, c=c, krotm=krotm)) + return nsym, ops + + +def _read_correlated_shells(indmftpr, struct): + """Return the list of correlated shells, one entry per correlated atom, plus + the SO flag, from case.indmftpr and case.struct multiplicities. Each shell + carries l, the basis name, its transform matrix P = and a mixing + flag (True for a spin-coupling fromfile basis).""" + raw = [l.split('!')[0].strip() for l in open(indmftpr)] + raw = [l for l in raw if l != ''] + nsort = int(raw[0].split()[0]) + mult = [int(x) for x in raw[1].split()][:nsort] + i = 3 + so = 0 + shells = [] + for isort in range(nsort): + basis = raw[i].split()[0] + i += 1 + sourcefile = None + if basis == 'fromfile': + sourcefile = os.path.join(os.path.dirname(indmftpr), raw[i]) + i += 1 + l_inc = [int(x) for x in raw[i].split()] + i += 1 + ireps = [int(x) for x in raw[i].split()] + i += 1 + correlated_ls = [l for l in range(len(l_inc)) if l_inc[l] == 2] + if any(n > 0 for n in ireps): + i += 1 # skip the correps line + if correlated_ls: + so = int(raw[i].split()[0]) # SO flag follows a correlated sort + i += 1 + for l in correlated_ls: + if basis == 'fromfile': + P, mixing = _read_fromfile(sourcefile, l) + else: + P, mixing = _reptrans(basis, l), False + for _ in range(mult[isort]): + shells.append(dict(l=l, basis=basis, P=P, mixing=mixing)) + return shells, so + + +def write_symqmc(case): + """Write .symqmc from .dmftsym, .indmftpr, .struct.""" + nsym, ops = _read_dmftsym(case + '.dmftsym') + shells, so = _read_correlated_shells(case + '.indmftpr', case + '.struct') + natom = len(ops[0]['perm']) + + timeinv = [] + for op in ops: + det2 = op['krotm'][0, 0] * op['krotm'][1, 1] - op['krotm'][0, 1] * op['krotm'][1, 0] + timeinv.append(1 if (so and det2 < 0.0) else 0) + + with open(case + '.symqmc', 'w') as f: + f.write('%6d %6d\n' % (nsym, natom)) + for op in ops: + f.write(''.join('%6d ' % p for p in op['perm']) + '\n') + if so: + f.write(''.join('%6d ' % t for t in timeinv) + '\n') + for isym, op in enumerate(ops): + for sh in shells: + f.write(_format_matrix(_shell_matrix(op, sh, timeinv[isym]))) + + +def _shell_matrix(op, shell, ti): + """Spinor symmetry matrix for one correlated shell under one operation.""" + l = shell['l'] + if l == 0: + return _l0_matrix(op, ti) + if shell['mixing']: + return _mixing_matrix(op, shell, ti) + return _nonmixing_matrix(op, shell, ti) + + +def _phase(op, ti): + a, c = op['a'], op['c'] + return (c - a) if ti else (a + c) # (g-a) on magnetic ops, else (a+g) + + +def _l0_matrix(op, ti): + """s shell: 2x2 spin phase block diag(e, conj(e)) (outputqmc.f l==0).""" + e = np.exp(1j * _phase(op, ti) / 2) + return np.array([[e, 0], [0, np.conj(e)]], dtype=complex) + + +def _nonmixing_matrix(op, shell, ti): + """Spin-diagonal basis: the up/up block scaled by +-(a+g)/2, with the + orbital time-reversal operator on the magnetic operations.""" + l, P = shell['l'], shell['P'] + rotl = _dmat(l, op['a'], op['b'], op['c'], np.linalg.det(op['krotm'])) + if ti: + rotl = _timeinv_orbital(l, rotl) + rotrep = P @ rotl @ np.conj(P.T) + e = np.exp(1j * _phase(op, ti) / 2) + d = 2 * l + 1 + mat = np.zeros((2 * d, 2 * d), dtype=complex) + mat[:d, :d] = e * rotrep + mat[d:, d:] = np.conj(e) * rotrep + return mat + + +def _mixing_matrix(op, shell, ti): + """Spin-coupling basis: full 2(2l+1) spinor representation. The orbital + rotation enters block-diagonal (beta=0) or block-antidiagonal (beta=pi, the + magnetic operations); the spinor time-reversal -i sigma_y (x) T is then + applied to the magnetic operations (setsym.f, timeinv.f).""" + l, P = shell['l'], shell['P'] + rotl = _dmat(l, op['a'], op['b'], op['c'], np.linalg.det(op['krotm'])) + e = np.exp(1j * _phase(op, ti) / 2) + d = 2 * l + 1 + spinrot = np.zeros((2 * d, 2 * d), dtype=complex) + if ti: # beta = pi, block-antidiagonal + spinrot[:d, d:] = e * rotl + spinrot[d:, :d] = -np.conj(e) * rotl + else: # beta = 0, block-diagonal + spinrot[:d, :d] = e * rotl + spinrot[d:, d:] = np.conj(e) * rotl + rotrep = P @ spinrot @ np.conj(P.T) + if ti: + tm = _tmat(l) + tinv = np.zeros((2 * d, 2 * d), dtype=complex) + tinv[:d, d:] = -tm + tinv[d:, :d] = tm + rotrep = (P @ tinv @ P.T) @ np.conj(rotrep) + return rotrep + + +def _format_matrix(mat): + out = [] + for part in (mat.real, mat.imag): + for row in part: + out.append(''.join(' %.14E' % x for x in row) + '\n') + return ''.join(out) diff --git a/test/python/wien2k/CMakeLists.txt b/test/python/wien2k/CMakeLists.txt index ef7b78a..133bfd8 100644 --- a/test/python/wien2k/CMakeLists.txt +++ b/test/python/wien2k/CMakeLists.txt @@ -23,3 +23,24 @@ add_test(NAME Py_wien2k_soc_convert WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) set_property(TEST Py_wien2k_soc_convert APPEND PROPERTY ENVIRONMENT PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) + +# Pure-Python case.symqmc generator vs the dmftproj Fortran output (reuses the +# SOC reference h5; adds only the small text inputs the generator reads). +file(COPY CaOs2.dmftsym CaOs2.indmftpr DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +add_test(NAME Py_wien2k_symqmc_python + COMMAND ${TRIQS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wien2k_symqmc_python.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +set_property(TEST Py_wien2k_symqmc_python APPEND PROPERTY ENVIRONMENT + PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) + +# Generator on the two paths the cubic test does not reach: the spin-mixing +# fromfile (|j,m_j>) basis and an l=0 shell. Reuses CaOs2.dmftsym/struct; the +# references are the dmftproj matrix data (single precision, ~26 kB total). +file(COPY CaOs2_jbasis.indmftpr CaOs2_l0.indmftpr jbasis_d.dat + wien2k_symqmc_jbasis.ref.npy wien2k_symqmc_l0.ref.npy + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +add_test(NAME Py_wien2k_symqmc_mixing + COMMAND ${TRIQS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wien2k_symqmc_mixing.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +set_property(TEST Py_wien2k_symqmc_mixing APPEND PROPERTY ENVIRONMENT + PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) diff --git a/test/python/wien2k/CaOs2.dmftsym b/test/python/wien2k/CaOs2.dmftsym new file mode 100644 index 0000000..aa6f374 --- /dev/null +++ b/test/python/wien2k/CaOs2.dmftsym @@ -0,0 +1,124 @@ + 16 + 1 3 2 + 1 2 3 + 1 2 3 + 1 3 2 + 1 2 3 + 1 3 2 + 1 3 2 + 1 2 3 + 1 2 3 + 1 3 2 + 1 3 2 + 1 2 3 + 1 3 2 + 1 2 3 + 1 2 3 + 1 3 2 + +Sym. op. : 1 + 0.0 0.0 0.0 -1 - euler angles: a,b,c; iprop + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 2 + 270.0 0.0 0.0 -1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 3 + 90.0 0.0 0.0 -1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 4 + 180.0 0.0 0.0 -1 - euler angles: a,b,c; iprop + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 5 + 180.0 0.0 0.0 1 - euler angles: a,b,c; iprop + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 6 + 90.0 0.0 0.0 1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 7 + 270.0 0.0 0.0 1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 8 + 0.0 0.0 0.0 1 - euler angles: a,b,c; iprop + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + +Sym. op. : 9 + 0.0 180.0 180.0 1 - euler angles: a,b,c; iprop + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 10 + 0.0 180.0 90.0 1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 11 + 0.0 180.0 270.0 1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 12 + 0.0 180.0 0.0 1 - euler angles: a,b,c; iprop + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 13 + 0.0 180.0 0.0 -1 - euler angles: a,b,c; iprop + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 14 + 0.0 180.0 270.0 -1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + -1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 15 + 0.0 180.0 90.0 -1 - euler angles: a,b,c; iprop + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + +Sym. op. : 16 + 0.0 180.0 180.0 -1 - euler angles: a,b,c; iprop + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 -1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 -1.00000000000000 + Global->local coordinates rotation matrices + 1 + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + 0.0 0.0 0.0 1 - euler angles: a,b,c; iprop + 2 + 1.00000000000000 0.000000000000000E+000 0.000000000000000E+000 + 0.000000000000000E+000 1.00000000000000 0.000000000000000E+000 + 0.000000000000000E+000 0.000000000000000E+000 1.00000000000000 + 0.0 0.0 0.0 1 - euler angles: a,b,c; iprop diff --git a/test/python/wien2k/CaOs2.indmftpr b/test/python/wien2k/CaOs2.indmftpr new file mode 100644 index 0000000..abca02f --- /dev/null +++ b/test/python/wien2k/CaOs2.indmftpr @@ -0,0 +1,11 @@ +2 +1 2 +3 +complex +0 0 0 0 +0 0 0 0 +cubic +0 0 2 0 +0 0 0 0 +1 +-0.15 0.30 diff --git a/test/python/wien2k/CaOs2_jbasis.indmftpr b/test/python/wien2k/CaOs2_jbasis.indmftpr new file mode 100644 index 0000000..5589430 --- /dev/null +++ b/test/python/wien2k/CaOs2_jbasis.indmftpr @@ -0,0 +1,12 @@ +2 +1 2 +3 +complex +0 0 0 0 +0 0 0 0 +fromfile +jbasis_d.dat +0 0 2 0 +0 0 0 0 +1 +-0.15 0.30 diff --git a/test/python/wien2k/CaOs2_l0.indmftpr b/test/python/wien2k/CaOs2_l0.indmftpr new file mode 100644 index 0000000..15ca9ef --- /dev/null +++ b/test/python/wien2k/CaOs2_l0.indmftpr @@ -0,0 +1,11 @@ +2 +1 2 +3 +complex +0 0 0 0 +0 0 0 0 +complex +2 0 0 0 +0 0 0 0 +1 +-0.15 0.30 diff --git a/test/python/wien2k/jbasis_d.dat b/test/python/wien2k/jbasis_d.dat new file mode 100644 index 0000000..95c4843 --- /dev/null +++ b/test/python/wien2k/jbasis_d.dat @@ -0,0 +1,10 @@ + -0.89442719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.44721360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 -0.77459667 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.63245553 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 0.00000000 -0.63245553 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77459667 0.00000000 0.00000000 0.00000000 +*0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 -0.44721360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.89442719 0.00000000 + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.44721360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.89442719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.63245553 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77459667 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 0.00000000 0.77459667 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.63245553 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.89442719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.44721360 0.00000000 +*0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 diff --git a/test/python/wien2k/wien2k_symqmc_jbasis.ref.npy b/test/python/wien2k/wien2k_symqmc_jbasis.ref.npy new file mode 100644 index 0000000000000000000000000000000000000000..b7e2e0140b0500ec686a2cb6db5867dbdef4902b GIT binary patch literal 25728 zcmeI2PpI706~}*VB$X~47aC|@O;geLOKj9vO)a*<;6fn_!wV!x+C>SPAYx5EO-!9T%=!9_Q1wX~Hk((mWaZ<6<$bM9oW z;lZHylF7We_j}Lzo^$TGcYf#2lRNj^Gr#vs#m|aI%KP^px^JQU-sbX-1KZ1Oo67?S z7k;|1@8KUET)2Nf{dezs=+J)kA9`TlPxkBcmfN<^&28JdZSyZSf7bTZqNv)%#4Te7 zu9^lvOdPZfyd)1yL##80^t`*Ipy$aGdf=1GzT=!9^QAXk*uL#wOu_c-{Gy0(NWdc1 za`xqdwVZw10@m<|W9L1r<6q?3247$H?$V-z-<)_HF&vnSY%3!L8|C20MU%z*wt=-g z60s>9B3O7d8ytMU*|o+@pR-+SW3UOavumxE8?n!F_H9FoW2TR_YpupQeoMhdIXH6BXz@N@u$D(6Hibh33y)@lgU{pWY!f;7B&;L*L<+VW zk=wWZM-#Bjww!(2z*^3}Z2@a|#IcrhoCC6(4Xls1a+&F4mlNWVf{k);)&%S<-scO} z@<_y{aEM^x(QI(=dDykaOko|_cCC%UnzdGA`@A=s^)KT-Uq&qFIM#CZZA0z}!#R$% zoZ}pj-E3feyp_vLA8XfIjdfy|f{k);dKDXhP(f;c{{_e@qzA;!=ZiIs?_mdPIX?!gFXzYVEKFN( zt7ne?dphLi{20IHb=H`@BIn2Il|3Encr~N(f2Z-y`H}O(uBW6ml=OYY>WcLwaagnO zSN?O5eb&VaVI3a!S$7Q9JnPn2$H(^hE{0%iCqdd%E6I~MvM3Pg0(ynu_+uPSa>uW9DE*jtua$rN48ySW3Xne)!07o z&1U_}xX+gn%Q=p0|9(Ta9(%oPv#VaO9%V;(fkg zEssQO3Wo?59?b>^y&SwTyE4&t>|eps8;kfk;~Kz;Xjy>lC% zX+N^4k!sKS>u3I<`}3LZsig;B`Dh(|%s3?s_k(Zmz3R$83j5bXPaJ;rbbpDv=&k=< znR&7Ozr)}d6XqCL&3TqSjjaR2T>^777r6yGrTf{s#$2hZlFq~E7Kf8?xmT~(r3<`T z#U1m#>z|)Fb=hyv_b~uxWS^2QaC?M#Soh~=PR}nr_wLt1AN^mKY&hQ_K0lVOlalj} zFx+Wi+ft3y*g7z9W)3MOskv9s&lGe^_$thytb=z9Us*Hv@m+>uY9s$i?GLT ze6-)0*?Cj=F1YpW1s(uniP;@eUt! zAqNa{;VtYj0E}T5SoqL~oS|*Z(Oh&D=#=i@H+`(I4LM-24KDQKA8f%ceGUz|$QfX& zcFvESA2~nb`SG!y(a(PHQu%{V-{@Sc+_`#i{qWN_TJJyfcEK9c?7yG%T~_+0v`@$py= zKC9zVC>|~1EDquM3fou%(yiEqc$CBh8<33w;@pNizQ7jx2JL8w^#t*d?7(>zpW_RB zJG4zc4{^Q_kLB5m#G^vzz!!rWGwWLMXt5Ts4Zd)^gm~oq$oWy^{0RG1n?0PpgMDwX zx6POA8SLfwNUZ`h%<1NSwOEeqR~^n6u=o?c>>b#KA=-PiUj@z=+pp>~Z?VT5_D1%yp>3Qw>~-k6uwM=8yOI5> z!WZn-*aR0E=MsA_eA$cr^J6#h7(LG;@i@{OiO2afj~KFNUO3N>5Rc(`evx?W=Ilr~ zKXwz3NzQY{BXGW0JnA)cgm{cQ&sW7`P-Bk7W76{@=ZAlu=loDEUHE?W#mtX{dP%5( zs9q3iD|)7DQTvb!L+wE|kxd!F)d$|2;#_kDMPlKa?N&_lf!UiTU@5@!u!r{K)x{^CO-g F{|6L27^naM literal 0 HcmV?d00001 diff --git a/test/python/wien2k/wien2k_symqmc_l0.ref.npy b/test/python/wien2k/wien2k_symqmc_l0.ref.npy new file mode 100644 index 0000000000000000000000000000000000000000..679d0e0df3a80d9c022fb04897600255c8f9f99f GIT binary patch literal 1152 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7re->tItsN4WCJb+h6Z~EI6!8D1se#-e`Yb=57Q1}12Nn@D4&o#vU+)3 literal 0 HcmV?d00001 diff --git a/test/python/wien2k/wien2k_symqmc_mixing.py b/test/python/wien2k/wien2k_symqmc_mixing.py new file mode 100644 index 0000000..eb729a8 --- /dev/null +++ b/test/python/wien2k/wien2k_symqmc_mixing.py @@ -0,0 +1,88 @@ +################################################################################ +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# (GPL-3.0-or-later) +################################################################################ + +# Verify the pure-Python case.symqmc generator on the two paths the spin-diagonal +# cubic test (wien2k_symqmc_python) does not exercise: +# +# - a spin-mixing fromfile basis (the |j, m_j> basis), which uses the full +# 2(2l+1) spinor representation and the spinor time-reversal operator; +# - an l = 0 (s) correlated shell, the 2x2 spin phase block. +# +# Both reuse the CaOs2 symmetry input (16 operations, 8 of them time-reversal). +# The reference is the dmftproj Fortran case.symqmc for the same input, stored as +# the matrix data in single precision: dmftproj reads the fromfile basis with a +# single-precision CMPLX cast (set_ang_trans.f), so its output there carries a +# ~1e-7 error. The generator is full double precision, so we compare at 1e-6 and +# separately assert each Python spinor matrix is unitary. + +import os +import shutil +import tempfile +import numpy as np + +from triqs_dftkit.wien2k import symqmc + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def _matrix_data(symqmc_path, nsym, natom): + """Flat array of the matrix blocks, skipping header/perm/timeflag lines.""" + toks = iter(open(symqmc_path).read().split()) + assert int(next(toks)) == nsym and int(next(toks)) == natom + for _ in range(nsym * natom + nsym): # perm rows + the time-reversal flags + next(toks) + return np.array([float(x) for x in toks]) + + +def _run(indmftpr, extra=()): + """Generate case.symqmc in a scratch dir from the shared CaOs2 symmetry + input and the given indmftpr, returning (matrix data, shells, ops, so).""" + tmp = tempfile.mkdtemp() + try: + for src, dst in (('CaOs2.dmftsym', 'case.dmftsym'), + ('CaOs2.struct', 'case.struct'), + (indmftpr, 'case.indmftpr')) + extra: + shutil.copy(os.path.join(HERE, src), os.path.join(tmp, dst)) + case = os.path.join(tmp, 'case') + symqmc.write_symqmc(case) + nsym, ops = symqmc._read_dmftsym(case + '.dmftsym') + shells, so = symqmc._read_correlated_shells( + case + '.indmftpr', case + '.struct') + natom = len(ops[0]['perm']) + return _matrix_data(case + '.symqmc', nsym, natom), shells, ops, so + finally: + shutil.rmtree(tmp) + + +def _timeinv(op, so): + k = op['krotm'] + return 1 if (so and k[0, 0] * k[1, 1] - k[0, 1] * k[1, 0] < 0.0) else 0 + + +def _check(indmftpr, ref_npy, extra=(), unit_tol=1e-7): + data, shells, ops, so = _run(indmftpr, extra) + ref = np.load(os.path.join(HERE, ref_npy)) + assert data.shape == ref.shape, (data.shape, ref.shape) + assert np.max(np.abs(data - ref)) < 1e-6, np.max(np.abs(data - ref)) + for op in ops: + for sh in shells: + mat = symqmc._shell_matrix(op, sh, _timeinv(op, so)) + dev = np.max(np.abs(mat @ np.conj(mat.T) - np.eye(mat.shape[0]))) + assert dev < unit_tol, ('not unitary', dev) + + +# spin-mixing |j, m_j> basis: the path dft_tools #148 singles out +data, shells, _, _ = _run('CaOs2_jbasis.indmftpr', + (('jbasis_d.dat', 'jbasis_d.dat'),)) +assert shells[0]['mixing'] and shells[0]['P'].shape == (10, 10) +_check('CaOs2_jbasis.indmftpr', 'wien2k_symqmc_jbasis.ref.npy', + (('jbasis_d.dat', 'jbasis_d.dat'),)) + +# l = 0 (s) correlated shell +_, shells, _, _ = _run('CaOs2_l0.indmftpr') +assert shells[0]['l'] == 0 +_check('CaOs2_l0.indmftpr', 'wien2k_symqmc_l0.ref.npy', unit_tol=1e-12) + +print('wien2k_symqmc_mixing: ok') diff --git a/test/python/wien2k/wien2k_symqmc_python.py b/test/python/wien2k/wien2k_symqmc_python.py new file mode 100644 index 0000000..c60b24a --- /dev/null +++ b/test/python/wien2k/wien2k_symqmc_python.py @@ -0,0 +1,23 @@ +################################################################################ +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# (GPL-3.0-or-later) +################################################################################ + +# Verify the pure-Python case.symqmc generator (triqs_dftkit.wien2k.symqmc) +# reproduces the dmftproj Fortran output: regenerate case.symqmc in Python from +# case.dmftsym + case.indmftpr + case.struct, convert, and compare the resulting +# HDF5 to the reference produced from the Fortran dmftproj symqmc. + +from triqs_dftkit.wien2k.symqmc import write_symqmc +from triqs_dftkit.wien2k import Converter +from triqs.utility.h5diff import h5diff +import triqs.utility.mpi as mpi + +write_symqmc('CaOs2') + +Converter = Converter(filename='CaOs2') +Converter.hdf_file = 'wien2k_symqmc_python.out.h5' +Converter.convert_dft_input() + +if mpi.is_master_node(): + h5diff('wien2k_symqmc_python.out.h5', 'wien2k_soc_convert.ref.h5') From 334a8a7811daba98c4f2367ce456127cf7615be4 Mon Sep 17 00:00:00 2001 From: Christopher Albert Date: Tue, 16 Jun 2026 14:42:23 +0200 Subject: [PATCH 3/3] [wien2k] pure-Python case.oubwin band-window generator Port the dmftproj almblm reader and case.oubwin writer to numpy. Given case.almblm{up,dn} and the energy window in case.indmftpr, select the contiguous band range per k-point and spin and write case.oubwin{up,dn} in the dmftproj format. Proven byte-identical to the Fortran output on CaOs2 (proj_mode 0; band-index modes raise NotImplementedError pending a fixture). Part of #7. --- python/triqs_dftkit/wien2k/oubwin.py | 267 +++++++++++++++++++++ test/python/wien2k/CMakeLists.txt | 10 + test/python/wien2k/CaOs2.almblmdn | 120 +++++++++ test/python/wien2k/CaOs2.almblmup | 120 +++++++++ test/python/wien2k/wien2k_oubwin_python.py | 41 ++++ 5 files changed, 558 insertions(+) create mode 100644 python/triqs_dftkit/wien2k/oubwin.py create mode 100644 test/python/wien2k/CaOs2.almblmdn create mode 100644 test/python/wien2k/CaOs2.almblmup create mode 100644 test/python/wien2k/wien2k_oubwin_python.py diff --git a/python/triqs_dftkit/wien2k/oubwin.py b/python/triqs_dftkit/wien2k/oubwin.py new file mode 100644 index 0000000..46512ba --- /dev/null +++ b/python/triqs_dftkit/wien2k/oubwin.py @@ -0,0 +1,267 @@ +################################################################################ +# +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# +# Copyright (C) 2011 by L. Pourovskii, V. Vildosola, C. Martins, M. Aichhorn +# +# TRIQS is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# TRIQS. If not, see . +# +################################################################################ + +"""Pure-Python generation of the dmftproj band-window file (case.oubwin), +replacing the corresponding output of the dmftproj Fortran executable. + +Given the alm/blm coefficient file (case.almblm, or the spin pair +case.almblmup / case.almblmdn) and the projector definition (case.indmftpr), +this selects, per k-point and spin, the contiguous band range whose Fermi- +shifted Kohn-Sham eigenvalues fall in the energy window, and writes the +result in the case.oubwin format read by the charge self-consistency. + +It reproduces the Fortran path: read elecn/nk/nloat/eferm from the almblm +header (outbwin.f / dmftproj.f), parse the energy window (e_bot, e_top, +proj_mode) from the last line of case.indmftpr, shift every band eigenvalue +by eferm, and apply the proj_mode==0 selection of set_projections.f +(strict lower bound e_bot < E, inclusive upper bound E <= e_top, yielding a +single contiguous [nb_bot, nb_top] per k). The weight written per included +k-point is the tetrahedron weight of the lowest band nbmin. + +Spin-polarization is detected from the input files: case.almblmup / +case.almblmdn present => two spin files (case.oubwinup / case.oubwindn), +otherwise the single case.oubwin. The spin-orbit flag (ifSO) comes from +case.indmftpr; with -so the up and dn windows must coincide and dmftproj +aborts otherwise, a check this generator also performs. +""" + +import os +import numpy as np + + +# --- list-directed token stream over a Fortran free-form text file ----------- + +class _Reader: + """Record-oriented reader mirroring Fortran list-directed and READ('()') + semantics on a free-form almblm file. + + `record()` returns the whitespace tokens of the next physical line (the + common case: every almblm logical record fits on one line). `skip()` + consumes one physical line unconditionally, matching READ('()').""" + + def __init__(self, path): + with open(path) as fh: + self._lines = fh.read().splitlines() + self._i = 0 + + def skip(self): + self._i += 1 + + def record(self): + toks = self._lines[self._i].split() + self._i += 1 + return toks + + +def _to_float(tok): + """Parse a Fortran real token, accepting D/d exponents (1.0D-3) and the + list-directed 4.57E-002 form. Python float already handles E/e and the + embedded sign in the exponent; only D/d needs translation.""" + return float(tok.replace('D', 'E').replace('d', 'e')) + + +# --- inputs ------------------------------------------------------------------ + +def _read_window(indmftpr): + """Energy/band window from the last non-empty line of case.indmftpr. + + Try list-directed `e_bot e_top proj_mode`; on failure fall back to + `e_bot e_top` with proj_mode=0 (dmftproj.f:182-197).""" + lines = [l for l in open(indmftpr).read().splitlines() if l.strip()] + toks = lines[-1].split() + e_bot, e_top = _to_float(toks[0]), _to_float(toks[1]) + proj_mode = int(toks[2]) if len(toks) >= 3 else 0 + return e_bot, e_top, proj_mode + + +def _read_indmftpr_geometry(indmftpr): + """Return (nsort, lmax) from case.indmftpr. nsort is its first value and + lmax its third (dmftproj.f:95). Both are needed to walk the per-sort + almblm header up to the k-loop.""" + raw = [l.split('!')[0].strip() for l in open(indmftpr)] + raw = [l for l in raw if l != ''] + nsort = int(raw[0].split()[0]) + lmax = int(raw[2].split()[0]) + return nsort, lmax + + +def _read_so_flag(indmftpr): + """Spin-orbit flag from case.indmftpr: the single integer line that + follows a correlated sort's irep specification (the value dmftproj stores + as ifSOflag). Returns 0 or 1.""" + raw = [l.split('!')[0].strip() for l in open(indmftpr)] + raw = [l for l in raw if l != ''] + nsort = int(raw[0].split()[0]) + i = 3 + so = 0 + for _ in range(nsort): + basis = raw[i].split()[0] + i += 1 + if basis == 'fromfile': + i += 1 + l_inc = [int(x) for x in raw[i].split()] + i += 1 + ireps = [int(x) for x in raw[i].split()] + i += 1 + correlated = any(v == 2 for v in l_inc) + if any(n > 0 for n in ireps): + i += 1 + if correlated: + so = int(raw[i].split()[0]) + i += 1 + return so + + +# --- almblm parsing ---------------------------------------------------------- + +def _read_almblm_windows(path, nsort, lmax): + """Read case.almblm and return (eferm, [(nbmin, nbmax, eband, weight) per + k-point]) for the FIRST atomic sort. nbmin/nbmax/eband/weight are identical + across sorts at a given k, so the first sort's k-loop suffices for window + selection. + + Follows the dmftproj.f read order field by field: header, then the first + sort's per-l header (u_dot_norm, nLO, nLO overlap lines), then its k-loop + (two skipped banner lines, the idum/nbmin/nbmax line, the per-band + rtetr/eband lines).""" + r = _Reader(path) + r.record() # elecn + nk = int(r.record()[0]) + r.record() # nloat + eferm = _to_float(r.record()[0]) # non-band path: eferm is header line 4 + + # First sort's per-l header: u_dot_norm, nLO, then nLO overlap lines. + for _ in range(lmax + 1): + r.record() # u_dot_norm(l) + nlo = int(r.record()[0]) + for _ in range(nlo): + r.record() # ovl_LO_u, ovl_LO_udot + + kpoints = [] + for _ in range(nk): + r.skip() # "IK = .. jatom=.." banner + r.skip() # 3-int line + idum_nb = r.record() + nbmin, nbmax = int(idum_nb[1]), int(idum_nb[2]) + eband = np.empty(nbmax - nbmin + 1) + weight = None + for off in range(nbmax - nbmin + 1): + toks = r.record() + rtetr = _to_float(toks[0]) + eband[off] = _to_float(toks[1]) + if off == 0: # tetrahedron weight of the lowest band + weight = rtetr + kpoints.append((nbmin, nbmax, eband, weight)) + return eferm, kpoints + + +# --- band-window selection (set_projections.f, proj_mode==0) ----------------- + +def _select_window(nbmin, nbmax, eband, eferm, e_bot, e_top): + """proj_mode==0 contiguous band selection for one k-point. + + Scan absolute band index ib = nbmin..nbmax over the Fermi-shifted energy + E = eband - eferm. The first ib with e_bot < E <= e_top opens the window; + the first ib above it with E > e_top closes it at ib-1 (scan exits). A + window reaching nbmax closes at nbmax. Returns (included, nb_bot, nb_top) + with nb_bot=nb_top=0 when no band qualifies.""" + included = False + nb_bot = nb_top = 0 + for off, ib in enumerate(range(nbmin, nbmax + 1)): + e = eband[off] - eferm + if not included and e_bot < e <= e_top: + included = True + nb_bot = ib + elif included and e > e_top: + nb_top = ib - 1 + break + elif ib == nbmax and e_bot < e <= e_top: + nb_top = ib + included = True + if not included: + nb_bot = nb_top = 0 + return included, nb_bot, nb_top + + +def _windows_for_spin(almblm, indmftpr, nsort, lmax, e_bot, e_top, proj_mode): + """Per-k (included, nb_bot, nb_top, weight) for one spin's almblm file.""" + if proj_mode != 0: + raise NotImplementedError( + 'oubwin generation is implemented for the energy-window ' + 'projection mode (proj_mode==0); band-index modes 1 and 2 are ' + 'not yet covered by a test fixture') + eferm, kpoints = _read_almblm_windows(almblm, nsort, lmax) + out = [] + for nbmin, nbmax, eband, weight in kpoints: + incl, nb_bot, nb_top = _select_window( + nbmin, nbmax, eband, eferm, e_bot, e_top) + out.append((incl, nb_bot, nb_top, weight)) + return out + + +# --- output ------------------------------------------------------------------ + +def _write_oubwin_file(path, ifso, windows): + """Write one case.oubwin spin file (outbwin.f). Integer fields are i6; + the per-k weight is a list-directed real. Not-included k-points emit only + the flag line.""" + with open(path, 'w') as f: + f.write('%6d\n' % len(windows)) + f.write('%6d\n' % (1 if ifso else 0)) + for incl, nb_bot, nb_top, weight in windows: + f.write('%6d\n' % (1 if incl else 0)) + if incl: + f.write('%6d%6d\n' % (nb_bot, nb_top)) + f.write(' %.16f \n' % weight) + + +def write_oubwin(case): + """Read .almblm{up,dn} (or .almblm) and write the matching + .oubwin{up,dn} (or .oubwin) in the dmftproj format. + + Spin-polarization is inferred from the input files. The spin-orbit flag + written into every file comes from case.indmftpr; under -sp+-so the up/dn + windows must coincide (dmftproj aborts otherwise).""" + indmftpr = case + '.indmftpr' + nsort, lmax = _read_indmftpr_geometry(indmftpr) + ifso = _read_so_flag(indmftpr) + e_bot, e_top, proj_mode = _read_window(indmftpr) + + up, dn = case + '.almblmup', case + '.almblmdn' + spin_polarized = os.path.exists(up) and os.path.exists(dn) + + if spin_polarized: + win_up = _windows_for_spin( + up, indmftpr, nsort, lmax, e_bot, e_top, proj_mode) + win_dn = _windows_for_spin( + dn, indmftpr, nsort, lmax, e_bot, e_top, proj_mode) + if ifso: + for u, d in zip(win_up, win_dn): + if u[0] != d[0] or u[1] != d[1] or u[2] != d[2]: + raise ValueError( + 'spin-orbit run requires identical up/dn band ' + 'windows at every k-point') + _write_oubwin_file(case + '.oubwinup', ifso, win_up) + _write_oubwin_file(case + '.oubwindn', ifso, win_dn) + else: + win = _windows_for_spin( + case + '.almblm', indmftpr, nsort, lmax, e_bot, e_top, proj_mode) + _write_oubwin_file(case + '.oubwin', ifso, win) diff --git a/test/python/wien2k/CMakeLists.txt b/test/python/wien2k/CMakeLists.txt index 133bfd8..1385242 100644 --- a/test/python/wien2k/CMakeLists.txt +++ b/test/python/wien2k/CMakeLists.txt @@ -44,3 +44,13 @@ add_test(NAME Py_wien2k_symqmc_mixing WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) set_property(TEST Py_wien2k_symqmc_mixing APPEND PROPERTY ENVIRONMENT PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) + +# Pure-Python case.oubwin band-window generator vs the dmftproj Fortran output. +# Reuses the committed CaOs2.oubwin{up,dn} references; adds the truncated almblm +# inputs (header + first-sort band block, ~5 kB each) the selection reads. +file(COPY CaOs2.almblmup CaOs2.almblmdn DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +add_test(NAME Py_wien2k_oubwin_python + COMMAND ${TRIQS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wien2k_oubwin_python.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +set_property(TEST Py_wien2k_oubwin_python APPEND PROPERTY ENVIRONMENT + PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) diff --git a/test/python/wien2k/CaOs2.almblmdn b/test/python/wien2k/CaOs2.almblmdn new file mode 100644 index 0000000..c123dc5 --- /dev/null +++ b/test/python/wien2k/CaOs2.almblmdn @@ -0,0 +1,120 @@ + 65.9999999999000 + 1 + 3 + 0.652900122465311 + 4.580826538128749E-002 + 1 + 0.291129952525005 -0.192673733463551 + 0.296506201594592 + 1 + 0.576909222153695 0.442291231651807 + 9.383683280012439E-002 + 0 + 4.414705076471807E-003 + 0 + IK = 1 jatom= 1 + 391 92 1 + 1 1 92 + 1.00000000000000 -3.22056014343655 + 1.00000000000000 -3.21461811001121 + 1.00000000000000 -3.20923859624437 + 1.00000000000000 -3.20329567607539 + 1.00000000000000 -2.88017488464145 + 1.00000000000000 -2.87982724156708 + 1.00000000000000 -2.87959375545391 + 1.00000000000000 -2.87923434784543 + 1.00000000000000 -2.87874570634521 + 1.00000000000000 -2.87863164877396 + 1.00000000000000 -2.87857086935103 + 1.00000000000000 -2.87819960621795 + 1.00000000000000 -2.87581635861086 + 1.00000000000000 -2.87566233853908 + 1.00000000000000 -2.87518920177259 + 1.00000000000000 -2.87514478212652 + 1.00000000000000 -2.67534239892586 + 1.00000000000000 -2.67488944653131 + 1.00000000000000 -2.67360463788332 + 1.00000000000000 -2.67320408277393 + 1.00000000000000 -2.67314971219148 + 1.00000000000000 -2.67311757700548 + 1.00000000000000 -2.67288602767347 + 1.00000000000000 -2.67286801422143 + 1.00000000000000 -2.67264620389985 + 1.00000000000000 -2.67249102814415 + 1.00000000000000 -2.67035533452816 + 1.00000000000000 -2.67031314980662 + 1.00000000000000 -2.66921415575644 + 1.00000000000000 -2.66887544870739 + 1.00000000000000 -2.66780705408376 + 1.00000000000000 -2.66765986562395 + 1.00000000000000 -2.44299374928113 + 1.00000000000000 -2.43426468040143 + 1.00000000000000 -2.43097928431342 + 1.00000000000000 -2.42225049463072 + 1.00000000000000 -2.42118669930322 + 1.00000000000000 -2.41239084306900 + 1.00000000000000 -2.40763407939665 + 1.00000000000000 -2.39885659106941 + 1.00000000000000 -2.21435965117213 + 1.00000000000000 -2.21282426067862 + 1.00000000000000 -0.854563982242140 + 1.00000000000000 -0.854128628470620 + 1.00000000000000 -0.828069969330602 + 1.00000000000000 -0.827589665926083 + 1.00000000000000 -0.826853408823867 + 1.00000000000000 -0.826466495582154 + 1.00000000000000 0.170136891056207 + 1.00000000000000 0.187688586353930 + 1.00000000000000 0.365639030027639 + 1.00000000000000 0.366354232101503 + 1.00000000000000 0.388306651259108 + 1.00000000000000 0.392177730952558 + 1.00000000000000 0.440123333257828 + 1.00000000000000 0.445647914935332 + 1.00000000000000 0.456228714168976 + 1.00000000000000 0.474050343790756 + 1.00000000000000 0.499840018089393 + 1.00000000000000 0.505702836123879 + 1.00000000000000 0.590212638912709 + 1.00000000000000 0.596108423307904 + 1.00000000000000 0.605960267184670 + 1.00000000000000 0.629169067489843 + 1.00000000000000 0.646971209176368 + 1.00000000000000 0.652900122465311 + 0.000000000000000E+000 0.722947919361931 + 0.000000000000000E+000 0.723016469783698 + 0.000000000000000E+000 0.753171127004679 + 0.000000000000000E+000 0.756694891508889 + 0.000000000000000E+000 0.798069895423337 + 0.000000000000000E+000 0.806381846577283 + 0.000000000000000E+000 0.857718544540452 + 0.000000000000000E+000 0.864990407532834 + 0.000000000000000E+000 0.866969267538417 + 0.000000000000000E+000 0.873860134466866 + 0.000000000000000E+000 1.10536621684366 + 0.000000000000000E+000 1.13380762504908 + 0.000000000000000E+000 1.13409196038627 + 0.000000000000000E+000 1.13686681812038 + 0.000000000000000E+000 1.13689552810630 + 0.000000000000000E+000 1.14001566027642 + 0.000000000000000E+000 1.31823590897055 + 0.000000000000000E+000 1.32493751926670 + 0.000000000000000E+000 1.36151964560207 + 0.000000000000000E+000 1.36796391236228 + 0.000000000000000E+000 1.39825835320191 + 0.000000000000000E+000 1.40490553835370 + 0.000000000000000E+000 1.41091008237414 + 0.000000000000000E+000 1.41551620057964 + 0.000000000000000E+000 1.48813355036653 + 0.000000000000000E+000 1.49202147850405 + + 1 + (1.236383618996560E-014,2.028035379238497E-014) + (6.006614831195222E-014,9.724817045921756E-014) + (-2.470535339447682E-015,-4.133116012878050E-015) + (-1.775100680890137E-016,-2.092430195826677E-015) + (2.660611694557938E-015,1.772537282833006E-015) + (-1.779516918326250E-015,-8.324438740320463E-016) + (-4.916331813620154E-014,3.410335661092729E-015) + (-2.093809740249459E-014,6.925352532032053E-016) + (2.907832754084928E-014,-3.985843884523681E-016) diff --git a/test/python/wien2k/CaOs2.almblmup b/test/python/wien2k/CaOs2.almblmup new file mode 100644 index 0000000..21e80b9 --- /dev/null +++ b/test/python/wien2k/CaOs2.almblmup @@ -0,0 +1,120 @@ + 65.9999999999000 + 1 + 3 + 0.652900122465311 + 4.570735184308691E-002 + 1 + 0.291072595910975 -0.192435873632398 + 0.296924659084150 + 1 + 0.576660006370798 0.442697300203438 + 9.401779905760564E-002 + 0 + 4.415570408150498E-003 + 0 + IK = 1 jatom= 1 + 391 92 1 + 1 1 92 + 1.00000000000000 -3.22056014343655 + 1.00000000000000 -3.21461811001121 + 1.00000000000000 -3.20923859624437 + 1.00000000000000 -3.20329567607539 + 1.00000000000000 -2.88017488464145 + 1.00000000000000 -2.87982724156708 + 1.00000000000000 -2.87959375545391 + 1.00000000000000 -2.87923434784543 + 1.00000000000000 -2.87874570634521 + 1.00000000000000 -2.87863164877396 + 1.00000000000000 -2.87857086935103 + 1.00000000000000 -2.87819960621795 + 1.00000000000000 -2.87581635861086 + 1.00000000000000 -2.87566233853908 + 1.00000000000000 -2.87518920177259 + 1.00000000000000 -2.87514478212652 + 1.00000000000000 -2.67534239892586 + 1.00000000000000 -2.67488944653131 + 1.00000000000000 -2.67360463788332 + 1.00000000000000 -2.67320408277393 + 1.00000000000000 -2.67314971219148 + 1.00000000000000 -2.67311757700548 + 1.00000000000000 -2.67288602767347 + 1.00000000000000 -2.67286801422143 + 1.00000000000000 -2.67264620389985 + 1.00000000000000 -2.67249102814415 + 1.00000000000000 -2.67035533452816 + 1.00000000000000 -2.67031314980662 + 1.00000000000000 -2.66921415575644 + 1.00000000000000 -2.66887544870739 + 1.00000000000000 -2.66780705408376 + 1.00000000000000 -2.66765986562395 + 1.00000000000000 -2.44299374928113 + 1.00000000000000 -2.43426468040143 + 1.00000000000000 -2.43097928431342 + 1.00000000000000 -2.42225049463072 + 1.00000000000000 -2.42118669930322 + 1.00000000000000 -2.41239084306900 + 1.00000000000000 -2.40763407939665 + 1.00000000000000 -2.39885659106941 + 1.00000000000000 -2.21435965117213 + 1.00000000000000 -2.21282426067862 + 1.00000000000000 -0.854563982242140 + 1.00000000000000 -0.854128628470620 + 1.00000000000000 -0.828069969330602 + 1.00000000000000 -0.827589665926083 + 1.00000000000000 -0.826853408823867 + 1.00000000000000 -0.826466495582154 + 1.00000000000000 0.170136891056207 + 1.00000000000000 0.187688586353930 + 1.00000000000000 0.365639030027639 + 1.00000000000000 0.366354232101503 + 1.00000000000000 0.388306651259108 + 1.00000000000000 0.392177730952558 + 1.00000000000000 0.440123333257828 + 1.00000000000000 0.445647914935332 + 1.00000000000000 0.456228714168976 + 1.00000000000000 0.474050343790756 + 1.00000000000000 0.499840018089393 + 1.00000000000000 0.505702836123879 + 1.00000000000000 0.590212638912709 + 1.00000000000000 0.596108423307904 + 1.00000000000000 0.605960267184670 + 1.00000000000000 0.629169067489843 + 1.00000000000000 0.646971209176368 + 1.00000000000000 0.652900122465311 + 0.000000000000000E+000 0.722947919361931 + 0.000000000000000E+000 0.723016469783698 + 0.000000000000000E+000 0.753171127004679 + 0.000000000000000E+000 0.756694891508889 + 0.000000000000000E+000 0.798069895423337 + 0.000000000000000E+000 0.806381846577283 + 0.000000000000000E+000 0.857718544540452 + 0.000000000000000E+000 0.864990407532834 + 0.000000000000000E+000 0.866969267538417 + 0.000000000000000E+000 0.873860134466866 + 0.000000000000000E+000 1.10536621684366 + 0.000000000000000E+000 1.13380762504908 + 0.000000000000000E+000 1.13409196038627 + 0.000000000000000E+000 1.13686681812038 + 0.000000000000000E+000 1.13689552810630 + 0.000000000000000E+000 1.14001566027642 + 0.000000000000000E+000 1.31823590897055 + 0.000000000000000E+000 1.32493751926670 + 0.000000000000000E+000 1.36151964560207 + 0.000000000000000E+000 1.36796391236228 + 0.000000000000000E+000 1.39825835320191 + 0.000000000000000E+000 1.40490553835370 + 0.000000000000000E+000 1.41091008237414 + 0.000000000000000E+000 1.41551620057964 + 0.000000000000000E+000 1.48813355036653 + 0.000000000000000E+000 1.49202147850405 + + 1 + (2.039359160566527E-012,6.023934835533450E-013) + (9.904547903728787E-012,2.755995943545251E-012) + (-4.835022705989683E-013,-1.342146542713132E-013) + (3.494101415706669E-014,-1.479669210816435E-015) + (2.095209225257023E-014,1.695374785647943E-016) + (-3.809476322787844E-014,5.130351005667586E-016) + (1.668932143036430E-014,-6.097270174711555E-015) + (-3.145304744035062E-015,-1.540187039927944E-015) + (2.332050706159039E-015,2.356193897060498E-015) diff --git a/test/python/wien2k/wien2k_oubwin_python.py b/test/python/wien2k/wien2k_oubwin_python.py new file mode 100644 index 0000000..3d3c339 --- /dev/null +++ b/test/python/wien2k/wien2k_oubwin_python.py @@ -0,0 +1,41 @@ +################################################################################ +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# (GPL-3.0-or-later) +################################################################################ + +# Verify the pure-Python case.oubwin generator (triqs_dftkit.wien2k.oubwin) +# reproduces the dmftproj Fortran output: regenerate case.oubwinup / case.oubwindn +# from case.almblm{up,dn} + case.indmftpr and compare byte for byte to the +# committed dmftproj references (the same files the SOC converter test consumes). +# +# CaOs2 is spin-orbit + spin-polarized; the almblm fixtures are truncated to the +# header and first-sort band block the window selection reads (the projector +# payload that follows is not needed for oubwin). + +import os +import shutil +import tempfile + +from triqs_dftkit.wien2k import oubwin + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def _check(case): + tmp = tempfile.mkdtemp() + try: + for ext in ('almblmup', 'almblmdn', 'indmftpr'): + shutil.copy(os.path.join(HERE, f'{case}.{ext}'), + os.path.join(tmp, f'{case}.{ext}')) + oubwin.write_oubwin(os.path.join(tmp, case)) + for ext in ('oubwinup', 'oubwindn'): + got = open(os.path.join(tmp, f'{case}.{ext}')).read() + ref = open(os.path.join(HERE, f'{case}.{ext}')).read() + assert got == ref, f'{case}.{ext} differs from dmftproj reference' + finally: + shutil.rmtree(tmp) + + +_check('CaOs2') + +print('wien2k_oubwin_python: ok')