diff --git a/python/triqs_dftkit/wien2k/ctqmcout.py b/python/triqs_dftkit/wien2k/ctqmcout.py new file mode 100644 index 0000000..009d456 --- /dev/null +++ b/python/triqs_dftkit/wien2k/ctqmcout.py @@ -0,0 +1,602 @@ +################################################################################ +# +# 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 correlated-shell projector file +(case.ctqmcout), replacing the projector path of the dmftproj Fortran +executable (outputqmc.f subroutine outqmc). + +Given the alm/blm coefficient files (case.almblmup / case.almblmdn, one per +spin), the projector definition (case.indmftpr), the structure +(case.struct) and the symmetry input (case.dmftsym), this rebuilds the +correlated (Wannier) projector pr_crorb%mat_rep and writes case.ctqmcout in +the format the converter reads. + +It follows the Fortran path field by field: + +- almblm read order (dmftproj.f:559-689): header, per-sort per-l overlap + block, then per-k banners + idum/nbmin/nbmax + rtetr/eband lines, then the + per-(l,m) (Alm,Blm) / Clm complex coefficients in the canonical Wien2k lm + packing lm = l*l + (m+l) + 1. +- band-window selection (set_projections.f:89-129, proj_mode==0). +- raw correlated projector P(m,ib) = Alm(lm) + sum_ilo Clm(ilo,lm)*ovl_LO_u + (set_projections.f:243-267); Blm and the radial s12 do not enter pr_crorb. +- local rotation rot_projectmat (Wigner-D of rotloc, identity here) then the + angular-basis transform mat_rep = transmat . (Rloc . P) where transmat = + is the cubic-harmonics transform (set_projections.f:450-478). +- Loewdin orthonormalization of the stacked correlated projectors, + P <- O^{-1/2} P with O = D D^H over all correlated rows + (orthogonal_wannier_SO, dmftproj.f:847). This step is what the ctqmcout + numbers carry; it is applied per k over the full ndim x nbands stack. +- the Rloc spinor block rotloc%rotrep (outputqmc.f:303-313), built from the + symmetry operation mapping the representative atom onto each equivalent one + (set_rotloc.f / setsym.f). + +ctqmcout layout is outputqmc.f:66-613. The cubic transform coefficients are +stored in dmftproj via a single-precision CMPLX cast (set_ang_trans.f:146); +to match the committed file the transmat is cast to complex64 before use +(the dft_tools #148 noise, e.g. 0.70710676908 for 1/sqrt2). +""" + +import math +import os +import numpy as np + + +# --- list-directed token stream over a Fortran free-form text file ----------- + +class _Reader: + 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): + return float(tok.replace('D', 'E').replace('d', 'e')) + + +def _to_complex(s): + s = s.strip().lstrip('(').rstrip(')') + re_s, im_s = s.split(',') + return complex(_to_float(re_s), _to_float(im_s)) + + +def _read_complex(r): + """Read one list-directed complex `(re,im)` value, possibly split over + whitespace tokens.""" + buf = list(r.record()) + while ')' not in ''.join(buf): + buf += r.record() + return _to_complex(''.join(buf)) + + +def _read_two_complex(r): + """Read a record holding two list-directed complex values (Alm, Blm).""" + buf = list(r.record()) + while ''.join(buf).count(')') < 2: + buf += r.record() + s = ''.join(buf) + cut = s.index(')') + 1 + return _to_complex(s[:cut]), _to_complex(s[cut:]) + + +# --- angular basis: cubic d transform transmat = ------------------ +# Wien2k cubic d convention dz2, dx2-y2, dxy, dxz, dyz (set_ang_trans cubic); +# identical to symqmc._CUBIC[2]. + +_CUBIC = { + 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): + """transmat = . dmftproj stores cubic/fromfile coefficients via a + single-precision CMPLX cast (set_ang_trans.f:146); reproduce the float32 + truncation so the written numbers match bit-for-bit.""" + if basis == 'cubic' and l in _CUBIC: + return _CUBIC[l].astype(np.complex64).astype(np.complex128) + return np.eye(2 * l + 1, dtype=complex) + + +# --- Wigner D matrix (dmftproj convention, setsym.f dmat) -------------------- + +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): + 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 _sqrt_inv(O): + """O^{-1/2} of a Hermitian matrix (orthogonal.f sqrtm with inv=.TRUE.: + Z diag(w^{-1/2}) Z^H). dmftproj evaluates 1/sqrt of the eigenvalue as a + *complex* sqrt (W_comp = CMPLX(W,0)), so a (numerically) negative + eigenvalue contributes i/sqrt(|w|) rather than NaN; reproduce that with a + complex power. The final result D1 @ conj(Z).T matches sqrtm exactly.""" + w, Z = np.linalg.eigh(O) + D1 = Z * (w.astype(complex) ** -0.5) # Z @ diag(w^{-1/2}) + return D1 @ np.conj(Z).T + + +# --- inputs ------------------------------------------------------------------ + +def _read_indmftpr(indmftpr): + 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] + lmax = int(raw[2].split()[0]) + i = 3 + so = 0 + sorts = [] + for isort 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_ls = [l for l in range(len(l_inc)) if l_inc[l] == 2] + included_ls = [l for l in range(len(l_inc)) if l_inc[l] in (1, 2)] + if any(n > 0 for n in ireps): + i += 1 + if correlated_ls: + so = int(raw[i].split()[0]) + i += 1 + sorts.append(dict(basis=basis, correlated_ls=correlated_ls, + included_ls=included_ls)) + last = raw[-1].split() + e_bot, e_top = _to_float(last[0]), _to_float(last[1]) + proj_mode = int(last[2]) if len(last) >= 3 else 0 + return dict(nsort=nsort, mult=mult, lmax=lmax, sorts=sorts, so=so, + e_bot=e_bot, e_top=e_top, proj_mode=proj_mode) + + +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)] + starts = [i for i, l in enumerate(lines) if 'Sym. op.' in l] + ops = [] + for k, s in enumerate(starts[:nsym]): + toks = lines[s + 1].split() + a, b, g = (math.radians(float(x)) for x in toks[:3]) + iprop = int(toks[3]) + krotm = np.array([[_to_float(x) for x in lines[s + 2 + r].split()] + for r in range(3)]) + ops.append(dict(perm=perms[k], a=a, b=b, g=g, iprop=iprop, + krotm=krotm)) + return nsym, ops + + +# --- almblm parsing ---------------------------------------------------------- + +def _read_almblm(path, info): + nsort = info['nsort'] + lmax = info['lmax'] + mult = info['mult'] + nlm = (lmax + 1) ** 2 + natom = sum(mult) + + r = _Reader(path) + elecn = _to_float(r.record()[0]) + nk = int(r.record()[0]) + r.record() # nloat + eferm = _to_float(r.record()[0]) + + nLO = {} + ovl_LO_u = {} + kp = [None] * nk + + for isrt in range(1, nsort + 1): + for l in range(lmax + 1): + r.record() # u_dot_norm(l) + n = int(r.record()[0]) + nLO[(l, isrt)] = n + for ilo in range(1, n + 1): + toks = r.record() + ovl_LO_u[(ilo, l, isrt)] = _to_float(toks[0]) + for ik in range(nk): + r.skip() # "IK = .." banner + r.skip() # 3-int line + head = r.record() + nbmin, nbmax = int(head[1]), int(head[2]) + nb = nbmax - nbmin + 1 + if kp[ik] is None: + kp[ik] = dict( + nbmin=nbmin, nbmax=nbmax, eband=None, weight=None, + Alm=np.zeros((nlm, natom + 1, nb), dtype=complex), + Clm=np.zeros((1, nlm, natom + 1, nb), dtype=complex)) + eband = np.empty(nb) + weight = None + for off in range(nb): + toks = r.record() + if off == 0: + weight = _to_float(toks[0]) + eband[off] = _to_float(toks[1]) + eband = eband - eferm + if kp[ik]['eband'] is None: + kp[ik]['eband'] = eband + kp[ik]['weight'] = weight + for imu in range(1, mult[isrt - 1] + 1): + iatom = sum(mult[:isrt - 1]) + imu + r.skip() # banner + r.record() # idum + for off in range(nb): + lm = 0 + for l in range(lmax + 1): + for m in range(-l, l + 1): + alm, _blm = _read_two_complex(r) + kp[ik]['Alm'][lm, iatom, off] = alm + for ilo in range(nLO[(l, isrt)]): + clm = _read_complex(r) + kp[ik]['Clm'][ilo, lm, iatom, off] = clm + lm += 1 + + return dict(elecn=elecn, eferm=eferm, nk=nk, nlm=nlm, natom=natom, + nLO=nLO, ovl_LO_u=ovl_LO_u, kp=kp) + + +# --- band-window selection (set_projections.f, proj_mode==0) ----------------- + +def _select_window(nbmin, nbmax, eband, e1, e2): + included = False + nb_bot = nb_top = 0 + for off, ib in enumerate(range(nbmin, nbmax + 1)): + e = eband[off] + if not included and e > e1 and e <= e2: + included = True + nb_bot = ib + elif included and e > e2: + nb_top = ib - 1 + break + elif ib == nbmax and e > e1 and e <= e2: + nb_top = ib + included = True + if not included: + nb_bot = nb_top = 0 + return included, nb_bot, nb_top + + +# --- correlated / included orbital descriptors ------------------------------- + +def _build_crorbs(info): + crorbs = [] + for isort in range(1, info['nsort'] + 1): + sortinfo = info['sorts'][isort - 1] + for l in sortinfo['correlated_ls']: + for imu in range(1, info['mult'][isort - 1] + 1): + atom = sum(info['mult'][:isort - 1]) + imu + crorbs.append(dict(atom=atom, sort=isort, l=l, + basis=sortinfo['basis'], first=(imu == 1))) + return crorbs + + +def _build_orbs(info): + orbs = [] + for isort in range(1, info['nsort'] + 1): + sortinfo = info['sorts'][isort - 1] + for l in sortinfo['included_ls']: + for imu in range(1, info['mult'][isort - 1] + 1): + atom = sum(info['mult'][:isort - 1]) + imu + orbs.append(dict(atom=atom, sort=isort, l=l)) + return orbs + + +# --- Rloc spinor representation (set_rotloc.f / setsym.f) --------------------- + +def _rloc_rotrep(op, l, transmat): + """rotloc%rotrep(l)%mat, the 2(2l+1) spinor rotation in the new basis for a + non-mixing SO shell, with identity struct local rotation (rotloc_ref + Euler = 0). rotloc%rotl = blkdiag(ephase*D, conj(ephase)*D) with + D = D(R[isym])_{lm}, ephase = exp(i*phase/2); rotrep = S rotl S^H, + S = blkdiag(transmat, transmat). Returns (rotrep, timeinv).""" + a, b, g, iprop = op['a'], op['b'], op['g'], op['iprop'] + krotm = op['krotm'] + det2 = krotm[0, 0] * krotm[1, 1] - krotm[0, 1] * krotm[1, 0] + timeinv = det2 < 0.0 + phase = (g - a) if timeinv else (a + g) + D = _dmat(l, a, b, g, float(iprop)) + if timeinv: + D = _tmat(l) @ np.conj(D) # setsym.f:320-326 orbital time reversal + ephase = np.exp(1j * phase / 2) + d = 2 * l + 1 + rotl = np.zeros((2 * d, 2 * d), dtype=complex) + rotl[:d, :d] = ephase * D + rotl[d:, d:] = np.conj(ephase) * D + S = np.zeros((2 * d, 2 * d), dtype=complex) + S[:d, :d] = transmat + S[d:, d:] = transmat + rotrep = S @ rotl @ np.conj(S.T) + return rotrep, timeinv + + +# --- ctqmcout writer --------------------------------------------------------- + +def _fmt(x): + """One list-directed real, gfortran-style (leading sign space, ~17 sig).""" + return ' %.16E' % float(x) + + +def _w(f, arr): + f.write(''.join(_fmt(x) for x in arr) + '\n') + + +def _fmt_scalar(x): + x = float(x) + return '%.16f' % x if abs(x) < 1e5 else '%.16E' % x + + +def write_ctqmcout(case): + """Read .almblm{up,dn}, .indmftpr, .struct, + .dmftsym and write .ctqmcout in the dmftproj format.""" + info = _read_indmftpr(case + '.indmftpr') + nsym, ops = _read_dmftsym(case + '.dmftsym') + + up, dn = case + '.almblmup', case + '.almblmdn' + if os.path.exists(up) and os.path.exists(dn): + spin_files = [up, dn] + else: + spin_files = [case + '.almblm'] + ifSP = len(spin_files) == 2 + ifSO = bool(info['so']) + ns = 2 if ifSP else 1 + + spins = [_read_almblm(p, info) for p in spin_files] + nk = spins[0]['nk'] + elecn = spins[0]['elecn'] + + crorbs = _build_crorbs(info) + if any(cr['basis'] == 'fromfile' for cr in crorbs): + raise NotImplementedError( + 'ctqmcout for fromfile/mixing correlated bases is not yet covered ' + 'by a test fixture; cubic and complex bases are supported') + orbs = _build_orbs(info) + ncrorb = len(crorbs) + norb = len(orbs) + + # window in [e_bot, e_top] + windows = [] + for ik in range(nk): + kp = spins[0]['kp'][ik] + windows.append(_select_window(kp['nbmin'], kp['nbmax'], kp['eband'], + info['e_bot'], info['e_top'])) + + # window below e_bot (for qbbot) + win_below = [] + for ik in range(nk): + kp = spins[0]['kp'][ik] + win_below.append(_select_window(kp['nbmin'], kp['nbmax'], kp['eband'], + -1e6, info['e_bot'])) + + # qbbot: point integration over bands below e_bot, is=1 only under SO + qbbot = 0.0 + for ispin in range(ns): + for ik in range(nk): + incl, nb_bot, nb_top = win_below[ik] + if incl: + qbbot += (nb_top - nb_bot + 1) * spins[ispin]['kp'][ik]['weight'] + if ifSO: + break + + transmats = {(cr['l'], cr['sort']): _reptrans(cr['basis'], cr['l']) + for cr in crorbs} + + # rotloc Euler angles per crorb: the symmetry op mapping the representative + # atom of the sort onto this atom (set_rotloc.f). With identity struct + # local rotation, rotloc%(a,b,g,iprop) are that op's Euler angles, and + # rot_projectmat applies dmat(l, a, b, g, iprop) in the |lm> basis + # (rot_projectmat.f:59-65). For atom 2 this is a non-trivial in-plane + # rotation (a=270) that mixes the m-rows; omitting it flips the m=1,2 rows. + rotloc_op = {} + for icr, cr in enumerate(crorbs): + iref = sum(info['mult'][:cr['sort'] - 1]) + 1 + rotloc_op[icr] = next(o for o in ops + if o['perm'][iref - 1] == cr['atom']) + + # ---- raw correlated projector mat_rep, then Loewdin orthonormalize ---- + # mat_rep[(icr, ik, is)] -> (2l+1, nbsel) + mat_rep = {} + for icr, cr in enumerate(crorbs): + l = cr['l'] + atom = cr['atom'] + sort = cr['sort'] + transmat = transmats[(l, sort)] + op = rotloc_op[icr] + rot = _dmat(l, op['a'], op['b'], op['g'], float(op['iprop'])) + for ik in range(nk): + incl, nb_bot, nb_top = windows[ik] + if not incl: + continue + kp0 = spins[0]['kp'][ik] + off_bot = nb_bot - kp0['nbmin'] + off_top = nb_top - kp0['nbmin'] + for ispin in range(ns): + sp = spins[ispin] + kp = sp['kp'][ik] + nlo = sp['nLO'][(l, sort)] + nbsel = off_top - off_bot + 1 + P = np.zeros((2 * l + 1, nbsel), dtype=complex) + for mi, m in enumerate(range(-l, l + 1)): + lm = l * l + (m + l) # 0-based packed index + for j, off in enumerate(range(off_bot, off_top + 1)): + val = kp['Alm'][lm, atom, off] + for ilo in range(nlo): + val += kp['Clm'][ilo, lm, atom, off] * \ + sp['ovl_LO_u'][(ilo + 1, l, sort)] + P[mi, j] = val + # rot_projectmat (local rotation) then the basis transform + P = transmat @ (rot @ P) + mat_rep[(icr, ik, ispin)] = P + + # Loewdin: per k stack all crorb rows (is=1 block then is=2 block per crorb) + for ik in range(nk): + incl, nb_bot, nb_top = windows[ik] + if not incl: + continue + blocks = [] + layout = [] # (icr, is, nrows) + for icr, cr in enumerate(crorbs): + l = cr['l'] + for ispin in range(ns): + blocks.append(mat_rep[(icr, ik, ispin)]) + layout.append((icr, ispin, 2 * l + 1)) + D = np.vstack(blocks) # ndim x nbnd + O = D @ np.conj(D.T) + S = _sqrt_inv(O) + D_orth = S @ D + row = 0 + for icr, ispin, nrows in layout: + mat_rep[(icr, ik, ispin)] = D_orth[row:row + nrows, :] + row += nrows + + # ---- Rloc rotrep per crorb ---- + rloc_blocks = [] + for cr in crorbs: + l = cr['l'] + transmat = transmats[(l, cr['sort'])] + iref = sum(info['mult'][:cr['sort'] - 1]) + 1 + op = next(o for o in ops if o['perm'][iref - 1] == cr['atom']) + rloc_blocks.append(_rloc_rotrep(op, l, transmat)) + + # ---- write ---- + with open(case + '.ctqmcout', 'w') as f: + f.write('13.605698\n') + f.write('%6d\n' % nk) + f.write('%6d\n' % (1 if ifSP else 0)) + f.write('%6d\n' % (1 if ifSO else 0)) + f.write(' %s\n' % _fmt_scalar(qbbot)) + f.write(' %s\n' % _fmt_scalar(elecn)) + + f.write('%6d\n' % norb) + for o in orbs: + dim = 2 * (2 * o['l'] + 1) if ifSO else 2 * o['l'] + 1 + f.write('%6d %6d %6d %6d \n' % (o['atom'], o['sort'], o['l'], dim)) + + f.write('%6d\n' % ncrorb) + for cr in crorbs: + l = cr['l'] + size = 2 * (2 * l + 1) if ifSO else 2 * l + 1 + f.write('%6d %6d %6d %6d %6d %6d \n' % + (cr['atom'], cr['sort'], l, size, 1, 1)) + + # Rloc block per crorb (non-mixing SP+SO whole shell) + for rotrep, timeinv in rloc_blocks: + for m in range(rotrep.shape[0]): + _w(f, rotrep[m, :].real) + for m in range(rotrep.shape[0]): + _w(f, rotrep[m, :].imag) + f.write('%6d\n' % (1 if timeinv else 0)) + + # complex-harmonics -> basis transform block (crorb%first only) + for cr in crorbs: + if not cr['first']: + continue + l = cr['l'] + transmat = transmats[(l, cr['sort'])] + d = 2 * l + 1 + spinrot = np.zeros((2 * d, 2 * d), dtype=complex) + spinrot[:d, :d] = transmat + spinrot[d:, d:] = transmat + f.write('%6d %6d \n' % (1, 2 * d)) + for m in range(2 * d): + _w(f, spinrot[m, :].real) + for m in range(2 * d): + _w(f, spinrot[m, :].imag) + + # number of bands per k (skip is=2 under SO) + for ispin in range(ns): + if ifSP and ifSO and ispin == 1: + continue + for ik in range(nk): + incl, nb_bot, nb_top = windows[ik] + f.write('%6d\n' % abs(nb_top - nb_bot + 1)) + + # projector block: DO ik, DO icrorb (non-mixing SO whole-shell) + for ik in range(nk): + for icr, cr in enumerate(crorbs): + l = cr['l'] + for ispin in range(ns): + P = mat_rep[(icr, ik, ispin)] + for mi in range(2 * l + 1): + _w(f, P[mi, :].real) + for ispin in range(ns): + P = mat_rep[(icr, ik, ispin)] + for mi in range(2 * l + 1): + _w(f, P[mi, :].imag) + + # k-weights + for ik in range(nk): + f.write(' %s\n' % _fmt_scalar(spins[0]['kp'][ik]['weight'])) + + # H(k) eigenvalues (skip is=2 under SO) + for ispin in range(ns): + if ifSP and ifSO and ispin == 1: + continue + for ik in range(nk): + incl, nb_bot, nb_top = windows[ik] + kp = spins[ispin]['kp'][ik] + for ib in range(nb_bot, nb_top + 1): + f.write(' %s\n' % _fmt_scalar(kp['eband'][ib - kp['nbmin']])) 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/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 d9968e3..c651c72 100644 --- a/test/python/wien2k/CMakeLists.txt +++ b/test/python/wien2k/CMakeLists.txt @@ -11,3 +11,55 @@ 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}) + +# 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}) + +# Pure-Python case.oubwin band-window generator vs the dmftproj Fortran output. +# Reuses the committed CaOs2.oubwin{up,dn} references and the gzipped CaOs2 +# almblm inputs (shared with the ctqmcout test). +file(COPY CaOs2.almblmup.gz CaOs2.almblmdn.gz 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}) + +# Pure-Python case.ctqmcout correlated-shell projector generator vs the dmftproj +# Fortran output. Reuses CaOs2.ctqmcout / indmftpr / struct / dmftsym and the +# gzipped almblm; floats compared at 1e-6 (dmftproj single-precision floor). +add_test(NAME Py_wien2k_ctqmcout_python + COMMAND ${TRIQS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wien2k_ctqmcout_python.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +set_property(TEST Py_wien2k_ctqmcout_python APPEND PROPERTY ENVIRONMENT + PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) diff --git a/test/python/wien2k/CaOs2.almblmdn.gz b/test/python/wien2k/CaOs2.almblmdn.gz new file mode 100644 index 0000000..b8fabd6 Binary files /dev/null and b/test/python/wien2k/CaOs2.almblmdn.gz differ diff --git a/test/python/wien2k/CaOs2.almblmup.gz b/test/python/wien2k/CaOs2.almblmup.gz new file mode 100644 index 0000000..b8a7d3d Binary files /dev/null and b/test/python/wien2k/CaOs2.almblmup.gz differ 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.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.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/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_ctqmcout_python.py b/test/python/wien2k/wien2k_ctqmcout_python.py new file mode 100644 index 0000000..5ee017d --- /dev/null +++ b/test/python/wien2k/wien2k_ctqmcout_python.py @@ -0,0 +1,65 @@ +################################################################################ +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# (GPL-3.0-or-later) +################################################################################ + +# Verify the pure-Python case.ctqmcout generator (triqs_dftkit.wien2k.ctqmcout) +# reproduces the dmftproj Fortran correlated-shell projectors: regenerate +# case.ctqmcout from case.almblm{up,dn} + case.indmftpr + case.struct + +# case.dmftsym and compare to the committed dmftproj reference. +# +# CaOs2 is spin-orbit + spin-polarized, cubic, two equivalent correlated d atoms. +# Integer fields must match exactly; floats are compared at 1e-6: dmftproj stores +# the cubic basis transform through a single-precision CMPLX cast, so its +# projectors carry ~1e-7 noise that the double-precision generator reproduces to +# the same floor (cf. the symqmc mixing test). + +import gzip +import os +import shutil +import tempfile + +from triqs_dftkit.wien2k import ctqmcout + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def _gunzip(src, dst): + with gzip.open(src, 'rb') as fi, open(dst, 'wb') as fo: + shutil.copyfileobj(fi, fo) + + +def _compare(got_path, ref_path): + got = open(got_path).read().split() + ref = open(ref_path).read().split() + assert len(got) == len(ref), (len(got), len(ref)) + max_int, max_float = 0, 0.0 + for a, b in zip(got, ref): + ia, ib = a.lstrip('-').isdigit(), b.lstrip('-').isdigit() + if ia and ib: + max_int = max(max_int, abs(int(a) - int(b))) + else: + max_float = max(max_float, abs(float(a) - float(b))) + assert max_int == 0, f'integer field differs (max {max_int})' + assert max_float < 1e-6, f'float field differs (max {max_float:.2e})' + + +def _check(case): + tmp = tempfile.mkdtemp() + try: + for ext in ('indmftpr', 'struct', 'dmftsym'): + shutil.copy(os.path.join(HERE, f'{case}.{ext}'), + os.path.join(tmp, f'{case}.{ext}')) + for ext in ('almblmup', 'almblmdn'): + _gunzip(os.path.join(HERE, f'{case}.{ext}.gz'), + os.path.join(tmp, f'{case}.{ext}')) + ctqmcout.write_ctqmcout(os.path.join(tmp, case)) + _compare(os.path.join(tmp, f'{case}.ctqmcout'), + os.path.join(HERE, f'{case}.ctqmcout')) + finally: + shutil.rmtree(tmp) + + +_check('CaOs2') + +print('wien2k_ctqmcout_python: ok') diff --git a/test/python/wien2k/wien2k_oubwin_python.py b/test/python/wien2k/wien2k_oubwin_python.py new file mode 100644 index 0000000..bb80d2b --- /dev/null +++ b/test/python/wien2k/wien2k_oubwin_python.py @@ -0,0 +1,49 @@ +################################################################################ +# 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 gzipped to keep +# the tree small (they are shared with the ctqmcout test, which needs the full +# projector payload). + +import gzip +import os +import shutil +import tempfile + +from triqs_dftkit.wien2k import oubwin + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def _gunzip(src, dst): + with gzip.open(src, 'rb') as fi, open(dst, 'wb') as fo: + shutil.copyfileobj(fi, fo) + + +def _check(case): + tmp = tempfile.mkdtemp() + try: + shutil.copy(os.path.join(HERE, f'{case}.indmftpr'), + os.path.join(tmp, f'{case}.indmftpr')) + for ext in ('almblmup', 'almblmdn'): + _gunzip(os.path.join(HERE, f'{case}.{ext}.gz'), + 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') 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 0000000..e541e6b Binary files /dev/null and b/test/python/wien2k/wien2k_soc_convert.ref.h5 differ 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 0000000..b7e2e01 Binary files /dev/null and b/test/python/wien2k/wien2k_symqmc_jbasis.ref.npy differ 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 0000000..679d0e0 Binary files /dev/null and b/test/python/wien2k/wien2k_symqmc_l0.ref.npy differ 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')