From a35551a53c3e24283391567a77931bd0c43555a0 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 14 Jan 2022 15:14:27 +0900 Subject: [PATCH 01/21] =?UTF-8?q?73=E8=A1=8C=E7=9B=AE=E3=80=80=E8=A8=88?= =?UTF-8?q?=E7=AE=97=E7=B2=BE=E5=BA=A6=E3=82=92=E2=86=92=E8=A8=88=E7=AE=97?= =?UTF-8?q?=E7=B2=BE=E5=BA=A6=E3=81=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/jp/dla/tutorial/spindimer.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/jp/dla/tutorial/spindimer.rst b/doc/jp/dla/tutorial/spindimer.rst index b3427188..0271a3e2 100644 --- a/doc/jp/dla/tutorial/spindimer.rst +++ b/doc/jp/dla/tutorial/spindimer.rst @@ -70,7 +70,7 @@ DSQSS/DLA を実行するには, $ mpiexec -np 4 dla param.in -乱数並列計算では並列数 (この例では4) だけ独立に計算が行われ, その分モンテカルロサンプル数を増えるために計算精度が向上します. [#fn_ompi_macos]_ +乱数並列計算では並列数 (この例では4) だけ独立に計算が行われ, その分モンテカルロサンプル数が増えるために計算精度が向上します. [#fn_ompi_macos]_ 計算結果の解釈 From 16ecd5f2f82d0db6eb0acb2d732c8c7ed7d5aa66 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 14 Jan 2022 15:56:55 +0900 Subject: [PATCH 02/21] =?UTF-8?q?425=E8=A1=8C=E7=9B=AE=E3=80=80=EF=BC=BCve?= =?UTF-8?q?c=E2=86=92\cdot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/jp/dla/users-manual/input_expert.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/jp/dla/users-manual/input_expert.rst b/doc/jp/dla/users-manual/input_expert.rst index f9cf1238..74ba735a 100644 --- a/doc/jp/dla/users-manual/input_expert.rst +++ b/doc/jp/dla/users-manual/input_expert.rst @@ -422,7 +422,7 @@ Algorithm/Vertex/InitialConfiguration/Channel 波数ベクトルXMLファイルは, スタッガード秩序変数 .. math:: - M^{z}(\vec{k}) \equiv \frac{1}{N} \sum_i e^{-i\vec{k}\vec\vec{r}_i} \left\langle M^{z}_i \right\rangle + M^{z}(\vec{k}) \equiv \frac{1}{N} \sum_i e^{-i\vec{k}\cdot\vec{r}_i} \left\langle M^{z}_i \right\rangle や動的構造因子 From ea673c9751400755c714b67023146294f3a4231f Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Tue, 25 Jan 2022 14:55:49 +0900 Subject: [PATCH 03/21] Update spinchain.rst --- doc/en/dla/tutorial/spinchain.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/en/dla/tutorial/spinchain.rst b/doc/en/dla/tutorial/spinchain.rst index 4b34dc80..0135003c 100644 --- a/doc/en/dla/tutorial/spinchain.rst +++ b/doc/en/dla/tutorial/spinchain.rst @@ -55,7 +55,7 @@ Before executing this script, ``source`` a configuring file ``dsqssvars-VERSION. The result of :math:`S=1/2,1` will be written to ``xmzu_1.dat`` and ``xmzu_2.dat``, respectively (:numref:`fig_spinchain`). The :math:`S=1/2` chain is gapless and so the magnetic susceptibility remains finite at absolute zero (note that in the simulation the finite size effect opens energy gap). -On the other hand the magnetic susceptibility of the :math:`S=1` chain drops to zero at finite temperature due to the spin gap. +On the other hand, the magnetic susceptibility of the :math:`S=1` chain drops to zero at finite temperature due to the spin gap. .. figure:: ../../../image/dla/tutorial/spinchain.* :name: fig_spinchain From b3531ab4a8d94bac1e34effc75609bb4923a6071 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Tue, 25 Jan 2022 14:59:16 +0900 Subject: [PATCH 04/21] Update about_dsqss.rst --- doc/en/dsqss/about_dsqss.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/en/dsqss/about_dsqss.rst b/doc/en/dsqss/about_dsqss.rst index 2125bf9e..454608ff 100644 --- a/doc/en/dsqss/about_dsqss.rst +++ b/doc/en/dsqss/about_dsqss.rst @@ -6,7 +6,7 @@ About DSQSS Overview **************** -DSQSS is a program package for solving quantum many-body problems defined on lattices. It is based on the quantum Monte Carlo method in Feynman's path integral representation. It covers a broad range of problems written by flexible input files that define arbitrary unit cells in arbitrary dimensions, and arbitrary matrix elements of the interactions among arbitrary number of degrees of freedom. +DSQSS is a program package for solving quantum many-body problems defined on lattices. It is based on the quantum Monte Carlo method in Feynman's path integral representation. It covers a broad range of problems written by flexible input files that define arbitrary unit cells in arbitrary dimensions and arbitrary matrix elements of the interactions among arbitrary number of degrees of freedom. For example, you can perform finite temperature calculation of XXZ spin model by specifying parameters such as dimension, size of lattice, anisotropic coupling constants, length of spin, strength of magnetic field, and temperature. You can calculate Bose-Hubbard model as well as quantum spin model. PMWA (Parallel Multi Worm Algorithm) suits for large-scale non-trivial parallel calculation by domain parallelization. From 998ffa6ae69d175f3e271db6075a2ae5ec736595 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Tue, 25 Jan 2022 15:10:56 +0900 Subject: [PATCH 05/21] wording correction --- doc/en/pmwa/tutorial/intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/en/pmwa/tutorial/intro.rst b/doc/en/pmwa/tutorial/intro.rst index 49b8a89f..8454ba07 100644 --- a/doc/en/pmwa/tutorial/intro.rst +++ b/doc/en/pmwa/tutorial/intro.rst @@ -3,4 +3,4 @@ About DSQSS/PMWA --------------------------- -``DSQSS / PMWA`` is a numerical package of the world-line quantum Monte Carlo method with non-local updates algorithm for large-scale parallel computing. PMWA can treat :math:`S=1/2` quantum many-body system such as XXZ spin model, Heisenberg model, transverse Ising model model and hard-core boson system with large lattice sizes at finite temperatures. Basically, any physical quantities can be calculated within the statistical error. By default, the energy under a longitudinal worm source field, longitudinal magnetization, transverse magnetization, winding number, and imaginary time :math:`S^z S^z` spin correlation function are calculated. +``DSQSS / PMWA`` is a numerical package of the world-line quantum Monte Carlo method with non-local updates algorithm for large-scale parallel computing. PMWA can treat :math:`S=1/2` quantum many-body system such as XXZ spin model, Heisenberg model, transverse Ising model and hard-core boson system with large lattice sizes at finite temperatures. Basically, any physical quantities can be calculated within the statistical error. By default, the energy under a longitudinal worm source field, longitudinal magnetization, transverse magnetization, winding number, and imaginary time :math:`S^z S^z` spin correlation function are calculated. From ba165cf0ccb5dcf5b5f5257740c6677646abee7b Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Tue, 25 Jan 2022 15:19:20 +0900 Subject: [PATCH 06/21] wording correction --- doc/en/pmwa/tutorial/lattgene.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/en/pmwa/tutorial/lattgene.rst b/doc/en/pmwa/tutorial/lattgene.rst index f618f9c6..f205d3b7 100644 --- a/doc/en/pmwa/tutorial/lattgene.rst +++ b/doc/en/pmwa/tutorial/lattgene.rst @@ -25,11 +25,11 @@ The parameters to be specified are as follows. Examples of use are described below. -1. One-dimensional 8-sites chain, inverse temperature 10.0, definition of lattice file when division number is 1: +1. One-dimensional 8-sites chain, inverse temperature 10.0, the definition of lattice file when division number is 1: ``$ lattgene_P 1 8 10.0 1 1 0`` -2. Two dimensional 4*4 sites lattice, reverse temperature 10.0, definition of lattice file when division number is 1: +2. Two-dimensional 4*4 sites lattice, reverse temperature 10.0, the definition of lattice file when division number is 1: ``$ lattgene_P 2 4 4 10.0 1 1 0`` From 6925e261f6ad6411824199913ad0033f9e1703ba Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:20:12 +0900 Subject: [PATCH 07/21] Create standard_mode --- doc/jp/dla/tutorial/standard_mode | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/jp/dla/tutorial/standard_mode diff --git a/doc/jp/dla/tutorial/standard_mode b/doc/jp/dla/tutorial/standard_mode new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/doc/jp/dla/tutorial/standard_mode @@ -0,0 +1 @@ + From 5ff92665b48656181d36214b2fac63ded3bd026b Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:20:35 +0900 Subject: [PATCH 08/21] Rename standard_mode to standard_mode.rst --- doc/jp/dla/tutorial/{standard_mode => standard_mode.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/jp/dla/tutorial/{standard_mode => standard_mode.rst} (100%) diff --git a/doc/jp/dla/tutorial/standard_mode b/doc/jp/dla/tutorial/standard_mode.rst similarity index 100% rename from doc/jp/dla/tutorial/standard_mode rename to doc/jp/dla/tutorial/standard_mode.rst From 3ed78c3c2d7ceec567bddafcf64d71df94cce044 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 4 Feb 2022 16:19:11 +0900 Subject: [PATCH 09/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 108 ++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 8b137891..5e43a2d2 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -1 +1,109 @@ +DSQSS/DLA のスタンダードモードによる反強磁性ハイゼンベルグダイマーの模型や格子の定義 +=============================================================== + +このチュートリアルでは, :math:`S=1/2` 反強磁性ハイゼンベルグダイマーに外部磁場が印加されている系 :math:`\mathcal{H}= \sum_{\langle i,j \rangle}-J_z S^z_i S^z_j -\frac{J_{xy}}{2}(S^+_i S^-_j +S^-_i S^+_j)-h\sum_i S^z_i ,~J_z<0, J_xy<0, h>0` の格子の概形を計算をすることで, +DSQSS/DLA のスタンダードモード使い方を学びます. + +DSQSS/DLA のスタンダードモードによる計算は, + +1. シンプルモードの入力ファイルの準備 +2. スタンダードモードの入力ファイルの作成 +3. 計算の実行 + +の3段階に分かれます. + + +シンプルモードの入力ファイルの準備 +******************** + +DSQSS/DLA を実行するには, + +#. ハミルトニアンの情報 +#. 格子の情報 +#. 逆温度やモンテカルロステップ数などのパラメータの情報 + +を指定したTOML形式のシンプルモードファイル std.tomlが必要です. +そのため, まずはこの入力ファイルを準備します. +反強磁性ハイゼンベルグダイマーのファイルは以下の場所に用意されています +(sample/dla/01_spindimer/std.toml) +:: + + [hamiltonian] + model = "spin" + M = 1 # S=1/2 + Jz = -1.0 # coupling constant, negative for AF + Jxy = -1.0 # coupling constant, negative for AF + h = 0.0 # magnetic field + [lattice] + lattice = "hypercubic" # hypercubic, periodic + dim = 1 # dimension + L = 2 # number of sites along each direction + bc = false # open boundary + [parameter] + beta = 100 # inverse temperature + nset = 5 # set of Monte Carlo sweeps + npre = 10 # MCSteps to estimate hyperparameter + ntherm = 10 # MCSweeps for thermalization + nmcs = 100 # MCSweeps for measurement + seed = 31415 # seed of RNG + +このファイルにz方向の外部磁場の印加の効果を付け加え, 格子の次元とサイトの数をそれぞれ2と4にします +:: + + [hamiltonian] + model = "spin" + M = 1 # S=1/2 + Jz = -1.0 # coupling constant, negative for AF + Jxy = -1.0 # coupling constant, negative for AF + h = 0.5 # magnetic field + [lattice] + lattice = "hypercubic" # hypercubic, periodic + dim = 2 # dimension + L = 4 # number of sites along each direction + bc = false # open boundary + [parameter] + beta = 100 # inverse temperature + nset = 5 # set of Monte Carlo sweeps + npre = 10 # MCSteps to estimate hyperparameter + ntherm = 10 # MCSweeps for thermalization + nmcs = 100 # MCSweeps for measurement + seed = 31415 # seed of RNG + + +スタンダードモードの入力ファイルの作成 +********** + +このファイルを dla_hamgen に与えます. +:: + + $ dla_hamgen std.toml + +この結果, サイトハミルトニアンや多体相互作用の情報を記述するTOML形式のテキストファイル hamiltonian.toml が生成されます. + + +次に, std.toml を dla_latgen に与えます. +:: + + $ dla_latgen -t lattice.toml std.toml + + +この結果, ユニットセルと基本並進ベクトルを用いて空間の情報を記述するTOML形式のテキストファイルlattice.toml が生成されます. + + +計算の実行 +**************** + +lattice.toml を入力ファイルとして, gnuplotファイル lattice.pltを作成できます:: +:: + + $ dla_latgen -g lattice.plt lattice.toml + +lattce.plt を gnuplot に与えると2次元の格子の概形が得られます:: + + + + + + + From fb872407f7982fe243a6f07b503140a9dd8e4f2f Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 4 Feb 2022 16:22:03 +0900 Subject: [PATCH 10/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 5e43a2d2..600a118d 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -101,6 +101,12 @@ lattice.toml を入力ファイルとして, gnuplotファイル lattice.pltを lattce.plt を gnuplot に与えると2次元の格子の概形が得られます:: +.. figure:: ../../../image/dla/tutorial/spinchain.* + :name: fig_spinchain + :alt: スピン鎖の帯磁率 + + 反強磁性ハイゼンベルグスピン鎖の帯磁率の温度依存性. 青が :math:`S=1/2` で 赤が :math:`S=1` の結果. + From eef6148f8cc342f3125e353a8c52c07096edf2e2 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 4 Feb 2022 16:23:58 +0900 Subject: [PATCH 11/21] Add files via upload --- doc/image/dla/tutorial/2Dlattice.png | Bin 0 -> 75087 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/image/dla/tutorial/2Dlattice.png diff --git a/doc/image/dla/tutorial/2Dlattice.png b/doc/image/dla/tutorial/2Dlattice.png new file mode 100644 index 0000000000000000000000000000000000000000..c79e68f5c9932968e7d036be6752042e83bcc29f GIT binary patch literal 75087 zcmZU)1zcOt(f}HuxI=NLxVr{uaS8-?2vVHl0TR5$y(LH~R*DrUQVPX_TX6|iiaVuP za0>M0fA4+Ycfa?}{x-Xr-I+aScFxSs?4AUDkOnaUJplj!AlA}UH3R@Kq3A4zhl7Tg z8#jpn07M>cDk}O~Dk`k{e%{V*FP#7Y&4f%dTyvu#>H@3uH*Y2}$=^@}Q>wZHc-b28 zFb%O8*zh?rXenPOGEq@kx5YcCnW;UtA!JQTTp0Pd@Ws|l>*3Ut6ij`b z+s=_cR+IF@0WO^LN`rr^_VAqb9(-3YKox0~%*AMx++q&w; zCij{iOq@C1hi7&$^VU=TaDQlGXEPg1bEArEEDOLu=gHLLD`r?MJzD}kw%(o_#)%InT=4guPW)$pWG@eOV9WoRgaVJ9a zyHdXg#JEO2Jg82*#ZDF*UFkQt7?a)ymDEd<5S9T+(v)lZJIr1-mx^#(S2RU0s1&f& z79??RclTFp42qY)zTj8NoW2%V`DAVaye1&SmSKG)@(S}CM1;-}!`I)%lRMNXB^rbI z%_|+&N8|2eUCCPy-Y^c{EE(e2;GQ|2pYc1{(EV7G?Q3DB z*y;*W`ztW?p^4*!$i46H$#_%>>E_rgUD=1@3#>(NdZ`)J3dux_G@U~XZ3iCFXxe8) zPvq7Hpn#(|jcymRmtHc2S9ISua~0NQi(*cqec+SNo8`5vdH%2sPko?5#Z`E`eFziu zvHHHBfV=tdhDmIbXo*&4lX;Sqfi${6p(v|3)yjfuhjb}oWUb9s#Zx1Yvv`Ybi?#kf zO}vq@5r}J%(fH7zSZR*LJs6{7yqQwkZTm%N$8uB5`HfaSI=>g>KvReFnOfuvr8!d| zoqSneRMmmS-(U16)blKQQd{JIds*}jjV!cUJTg7v4qRr<3w$gK{5E~Lw97~Oay|mN z7{ZyNb!wuI#gg}Te(m5yqO6K<{{#>2{f%W!PFjV;kYb$Z?H?R?T$d%i{&VFczx0s5 z3JEj;Or~P_gtOVQjhOBGY)1k9ayG1k#4(+_2o`!nmm+CSu%59#PR0~v#VCnPs2gT) z9(S_idxyXCid`SmG_uhSYXS3H)Uq9m44(TlEE)Xq*V=1*&G<*Xvq&89E1?tSb9Ovs zWmh~VQRPu`hCX~>6?07hMWQO3uO>lytRp*x>Z?)JohO{%`5dw8i7QmYpQW;Mza`Wp z^rL|#Ls-4v>hZ)H8idU}Zd8ja7RX3Z|A@c$NP;r|HT4I=Nheo2%U4Hg9+U7r&U3EC z#17>)(MUH3qESr$0drd1q;A76L^`o!1BqV@KVw!6{8~Q_W%B5k`;sO@UcRZbL|3zh z2PEI!G&=clZ5WEx!BE?+w>f`02&H+*eEQ@aSsq@;BO!YMHn>QpzA6vrZw^MbyjLL= zDJKP*9Afc-s@}~sM)4MXbbY0Lx_$S3>JEgbykBxv+3DWqX+D(DQlw>Q@Ud5OA9Cii z+B|7|8!RCqIV!m%(Ia6f$w41OUrHY$k?LWMgceO{&$0b{6E-C3hyjy>$-;133PNL+ z)Q?K{41e=HWITFK?ZjM~Y^W=%0(%N8uc&aV*e{kA{(3%`6IP`R%G!vU$kmge^7N)J*eQ>MmdZ7SO|u3me! zF>6hj3LEQvXnN}1w!+(94oUV>+nu~Qzd2_*7eAK@``D4MXr`pysTxrj{xv-NRl%#c zXX)J%QGQV`aH@%t?MK$c{Afq$aOs+83uE7r*prfzScsJbe{W=CA&R5Np(7wpBEDi+ zk+^g0lOT{Bma=p+_BfxUl@63(egT|?em$kz951?6xsOG~QIjgjoEPA`Z@5ypi1j+Q z4LQNRjKq;XMiu+PNTafRXQHpHUj@EOIuDM?jqdMY>^PiB?r@LViV?qi=}hu98TS5% zlf47EeNo+l^VG{J4>y+_R}0scRa6mGf1*>Sed9poQ02(tQgFkC&H>*+h?FBkR?2th z{4v>F(ryOdWpL zE$g;63O4@MLCq^HMbZv4@jc`hPgYuGTThpVm%W;iOTA0G&GRjtr#>jM;Fp)pn_5?l zhb`Z~4xJ@sH)W4jEmrmZT$CRRDZcW|QsmES%m`SCTci9fK3LwpTU?v%U2yztRp~zO zzW)C5x-qSRftRu6#gRb`XZ|JeP<7~wM{Mk3 z4o-cZHN4pq)mwonC}v5InSD)n$Iz|V@7xBd2KAqAr}p*?ip|o($vi0q6KYa0M3>&p zijuxKbSUq8kc*Y!3e>rIx9j_4!+9V-seDi`ah39~BAbjotmj_!kE)u3QF`F?b;)oE z=@8pcRl3z635&eP@6yMckA0up@bOCW2DrFiHBb6_3^t}*G1^Kz%spzuM{-%ea|MdJ zY<$sLghSyZrR3A;$jg$jo&FO(=<@#3dCI;`C`km<-%M7`I`v7mbDA28j_)TE=9yCk z`-LrXUsWFS@KFUM%5D&ENL!FwSk)^!4mutWAB|{@|0t|_o0}D4{E>SoE3e?C6l`&e zx&q#yxhU5kG`z@bQ?L00B+FjNT04S_i@O~m2wL){frXc>{}BJ;U&0%5J2 z=bT8}$I(=GK&-;X$TaPAI_%q)$Upmz?c&o{E#3A$x)c1_yit`{lRFL|yt$?o}uiyU}A0x|*;1FD@2oB|H2=WEUX!lGPz$53midj?%8p&!@wa64q<*t6WKrgvVvKTvK} z(1U!>^`Gv1FZrK0Q8w**M|3=K8*C}GP%=A`Sh1)-8xb0+nOpX4(=!V;Gd&Xh@fAT( zZD<_uo2m2aSI3*MfZ6fcpO@m7*^B_($GG5!^vjXzsJFPeBwt8OSiZ?3PVw$FeTfal z+smp}(5J zrlotOm!c4`dHxPL=E6Rar^FC=IU{@7Lb-cCA#Huq?sLw5;Bd%Ut1X$WAk1OsLUT#r%2s~iw&cAGv4O(3q z>6{OVIKt|Q+K7`Q)n>^7R$ec!U)@)Os|T6mfE{-n4@39mcjdJOLxo{pRwsFvi1V16 zq~XA(%h=Sq)GFb@_Lm`?VY5Fi&f|_)7;JxbD&DzF7G}2%1U9z6ZQl=RJI|kLvx$J+ z&CW3Wyx$8u`m;jXub{5brc|$3@F(MLU+s8iqGZC!ma$_dBIWM(gK$%=-Z1?1HVu>Z zrK>s)z&ohhUzq>^fqEAw8!co1!8Ta7{X>4OXC7etn?@K=X@{7srk?ChelJu(drd>*x@cx2p@naLxPJ8pRib zcT8l3m9bY=WG8g}%=ij9bR7@y z2!kGgjjmy!vmyq=|J2nncmP=cf@1;zac+P||LFrlm;YRE(D@&nf0tP4u>f53KMHh) ze!%>Hdt*XBVEs>B4BZBJW~8E}g)WU=_&GUw`MY{UwrSph(ExlOO$&bjfSU84jG<-7 zae}5l=VojUG1t|Rd*SUVWbf$h;3Nd~^!bMl00@;sS3R8|_N-9PmtOvIPzCmX^^il? z{{aiLv;M0K#6yAITvwk}#oNz`RZ2)iNQ7OHfR&XM=;!DxXQ-h?}<; z>pyhu9lQe|3heCv4D>(Ozwgrt>h`}QdHMh6vCt1F{7;LpsE~;8|IkLG0{?-^>AOLl zURtQSd7^oS9z#)5N(}g~{{O$0{~htaFwOrLQ%d~*VE$Lj{}z`MDc&8 z>p#Q(cjJE$fx`bh`G0ZZ-)#OD6wPNv0-*5!%$XuVrcTla^fWTMsp=V{OSF*vb79b- ze|Y{~{!`CY#rxuq7P+SYE!AhnP>kR0_;0KSVO-Z{0VWsADe9|FvGxXtH@NU#(`de7 ze|kE-z&2d}8E+(u5hVj`y9{>rtaYJU&q-KFNbxb}*Nry&`pwJmv6ewep9(?`@aP#P zE6GMjntJhZTUBLM>(yV>g>8O5^rEtI!kv}!(|Bl3#KX<*U)1)WmBMUc>Lg;ywsre$ zws$_xdEwP@oKbWx;HdFr@!FVy-80^An)AJUV!cXoq_v;-r(vg)NUq$%aVyf0%+1WQ zv+oi>lTf1}(G|bJT;WWh^DT6kPLKKP(tayQV-Dgf_BN>g#>wz9<>^70Qd9F#O;rY) z;`PD$5RW$+&JNEI4CjJzE6dMrzf#IW1aY%_aKXxp!IafTayQGa=Q0Wcw{K-mIl-ag z;2Nw~k#CxB6)~WinGF0L%-k&(65`7`;>Zh+$;3BaH|MD7BFbPS&B|I)T!01Sfnx4P zQ?ZXzo8}>12*v?Mv4b}tmiPzT&&^Ta8?PyZ6*oAERw2%G%Eg1);p^D8dNc*j;31a* z!Z1GDiDT1(EgHENYTM!d#sb?tT^0z1ORO((HmFr)|BlJKWeCc;qKlIdMOvO+#eO{j zMRF*Gwlik10R!k0=AGVz%H^L#)gpgMr0a!h!9A{hg2S~`5X=LOGDC45O$an}Qj2*~ zdto%qLq?&HQe0|W&}O2%T$@%g?>qk~-}GkMq*i!7ZjW>82~Ae|L~{1IW4KsH59tlW z=KY;+tK;_GY5L&S0asGr{>_C?JtTpK1;#e8`q&AmPzqX+<0pK-Zu^ju8Nw=8t?;P{s4y*8@Y}E92wh+^G+f;D>zFY9Z zmQxv<0xeOG_OH;WsHg-}zG0k3=F3)4_V^at@cicT#+!mvO4$#O@I$t>v&WMLA?0Hk zqm;ZsTqsb!;H?5pN2~C;9Mi_R2mZlnx?UP(2SxcVT&5}1`TdqQ!&=eilsxBt zd|$Tm_Tu?lA>Sca&Xp7?3+qZ?aH|!qSb~_U;yt~6LeR)Db@}ewy8S1GefvNTP^f~S z1#?22aQ*XeB#mWJucUPu1SE8&E`aE!1l4d(Kttb72-X&q#Vxy%y9{%}AS{qKRvR3J zU>XJD{e2mQv}j$HP!14u!_u0ME`2*QG`RI7Q-W6|G~aY%O&f6?Y|STE6mx7+Qy{dx z*HQ8WL>g5N+BJt7eji0f{wYqu!Z9(1LEHV}Ik z5=9d;L2zy8o*Os-t9|l43=JW-)kF5C3w4}4Ugc+&V6U3YQFP@XvG=9m?&!R)ylj}O)YmCK;PHB zA3Tc`Cni+-ho#?N4E(u&IM@<(+gdy~sOd`}D$>_{UDF{o{qQCiE&!z4CljM% zd25KKjns=97={0`guYMI$rS!MZIJc@9Ooz}d2CSM%9W%yaOE6d_zA@IKB6*!=w{7p z=9|*&ZLZM6kCoKvsa~B~`_^H}5z$&TjiC+BFsYm1&bO6dIl*79VD0t`D1Op$mfrN5 zwhW!kB7ijW75w@BJVosvyxvzJ*KNxy@>ojx)BJ@gXukS%djI}Dh189*sB_+=<*K_K zpM>4dC1clFR0F+cHO8OcrE_mfX=ft=+)Ph2mv}NmcV5R(Q@0i%yqOp`w|}1vnpf)4P&ppfZ_?rkt;rVn^wpOh_e%1aB`lm z=L%UBP=N-YlGC4%%dJ1@$gl@L0Z*iPtiL*e=4U+VU?{8*n6CyVp>w;et* zp9h@PSoO8cLlfX0%h`34@xrGSp+#}E@SA|J9%3#V*!%sx9p$ zl_k&M1iA`uo`TJqO>?Y53uuNsZhL-i3c zE-x;Ads|cHoaNPe3_pC~av2_yDHPUnJ>+@;5q}Ae!rd5!-qU+xHft_^EZM)|Ah{zT zAXwuJ=y>(&l_)jP4bm!X??bL1s|+PoaQE;i-q~^fb$qNBDLARkeElI)COQW9dVjw; z7LIT>=S(dj)Vtn@rm5lleCAgSmqE^-&7T^e?Vp9909%?^}7h|;b*cP22`KCk!hK`(Q#_w(b%ocu8M2l zLhdj1WQNMm&OcJ#>Vyi1?`KpYIrz9>|FZ2a+z^G=aeDo~!n~8Ys_Z^|LnQz3> z7OKqG>~Qq`C@iM&+GIy4(Yk-ba+9$e2Z@eziH*q zZ3)8qq}|kZz4p;oe%xv|3ZkI97hpS|nImlyo)0E1AKooVo6Qu0n}vT>bZ$wXpD8@i z2;061D3-j@R)h!g4eJW|qg*C4w6o2o*9g6BylPwJV1q$vlfs+U7Uo;ZMb?#-l|{m# z>x2ys{RDNo=RZFnBX}{GqrTcZ0^N;b-SnzLk1LxO|%+OJlMm)n9w>kf)8FE1Yf zAbyLTrda%&DaJJfJ}$KYk08#=qJn8JR`sh22F|-pP~$b<|4a4qiebP zc-Y<&oByAbtc`_sUkRE8EoYvlDc;gngWKgq%dNWd?P}7~DJH~1+uPd-B651`Fn>W< zbkbOq)b$iDI06C#^))o&xcxa|W%Pvp`pGcvt^$f1Xa%Ae#~&Gq5)z2Ptrdfb*J;I* zh{W_n#%6rOBi`Jc=(W(E*@Jr#pQI^s#02N2t%yf)h}UvxxS0~Hts-_L?T#l#SF!kC z&2|~P1F~9BD1zYYb&dUkkRt;RM!RJs26K-a1`xxS%$%iC4FOQP=2<&gS2_P$c%R&} zjv)yQxhL$x@CF2GD`T{_vu0<-zBb;vGFY7y$xkJjK6=2*Pw9*I%_RIlAJ!6&N$3~W z04Yk761YOX=2H^2`gQa~F5Es|QC?P6*R%JrnS9MV7{>g$4D;?dH=kus*_acN;)u+$ zv`&^4R6oPWb3fMOn%iGO$@zLsmyB0shS+FT3^R=p z;t#Z*?ns`!sEa7z6%R}tYK7LeEkq^vtgmxDs< zyws539CHOb2K({RZjAfVU}`|>=!?zR+4k=HXN3ay{W;mLLE41Ple7ak;>%Y_IJk+)){^NmDjZv!xy4lCiS=Ai6L#X7YB*_ z;++~T^9H#v-J>B#kZBFG();)eAi0(s;jSpnbpDMK?>#>& z{F}^99u$cS+N)`z-kEyAi7g@gruQb#y_mOnc&c&Vj*V0AO$H)~hAsvf@Rts+3ujMYBXc>|XHfO6KryJPeD^H%2 zLLX+%fGF1I8d0kIPY{oB=+RE>f&5Xk5k`F!E-BxeI0-ljY_f%limE~|2M4!!6pIyN z%=}r=!`1ZzvRn^ol4bR@63pD=HJ-sVzfj3KZkq~t$zHo9xvjF=^1%y3(7ZXayf&}M zW4@-MMM6?iQUK{7=eH$d~ zn`XFOI7uW{Q6w;dlI7Gcbn82LFlwmqD|YQ)Il_WptvT~MuYtG4_3ZB_)<{-MK-r3X z>XA1P-@%&+!F-4eBd2w4>JNRPs5(IpzrCv?LVdTl-hI!dv(i_!Am_iy6s`i3g>1w- zBQ;#v05k??k%fHUPDXlDl96$Atbr^nA3ctVjWVi(?;h&L-PdC00R@u4*V@@aCU%5b zB08PlCnk(2LrIzBR9V8#$+7a^{lbd99^vC2gvqEkX<()q*x{6-eIpzm6^lK+waL!V zeQjGq#A?`;P2)C&D~8ltoClxyT=^g&&&_eK996{(()()5 z#zcUzuyym(BzsyOZ1fPjWL|QCkaEgc!h*M9{yzcc-4GVjVR|iClFbl zni}d)xy*Y*c>{>05sUA;+f7e5#7Wmhta)AqgnbdJBDO+n_EBcy?_WvYT=fepD*ycE zX%vQi%W$LhH%f5|Jypf}?RatwB2p2-K-w^L)anU;tn~$AUur?sLYo_|z#(yv1r4PM|xGzwn)p zX4`w0EN&tceZm(~`3t?ydhxi#<{c_AnU$PrBy6(2;zQ27PWGKMuqLMbWO78U)w=Ce zGYj`-Z3!jAJ8nBvJE$e|)emFAjxKmFiS%@Ef-LNM9khbDdylCYwB(ChZQYViW7^(T zweyEgb#3v$K*s)Bw+jXRM9 zGPWq$5WXDj?%w)592t~UKbNl*0Y1gi?2A3A zuCBIDbH?$uZ#@`qdwjgJLtS=iU|;ki^O3oLGuiyu+Tq2#tu%Gr&9&m^4?n%ybi*96 zAi}mCc~aghp8=eT2z$@y- z^la&qN`#@|2GNw_`6P{vAQbbwj<-JB2r#k#fiV*IDQ-EIycVtzgroDi->9;;kD9kq ziH;ZJD>&=Rk3*|%&W7aOWmpAXlF(wa%B@l@N{bfgc(8z_o(brvqS>7+1kxL-d|is* z3J~E64ULWqTTL{?#gZt8GjOsvck>;ePa)zK_||A2sZ*wqx&9NePL%{@))lb!=~j&Gt~+Bb5<6>)Uq<10ci6G*xpt+ut`i!=(-+^Lr13;vJ^VSY z8dH$=?#S1`>&fV4<N6@i4__lWWk|Qjp3EkShj0(x*hb^P_o!A8$C}M>XM%&p4FU9L-+5Dzx zUAZQ|X9p&!CAkQn{LhT=IW&o>8$zX`d1Q2fwk`lc5xiFv=f+@lLKf%p^KN~MP?!s+Dy5jYk$_l{{hX3sB?C^8R(Y0+w;@DW6mE^N$*e4D|)<>JEdx9%~`;Agj3s!Ft+W$uS5++lY9xCvN3sNmr*Dtijw@`403A)< zt3{t*w*?)Rt#p6`I^PVAq%_%pw&683N!QaD)?Ai zS!rx4GnykmLOme83f+|R;cg-ddux7I$BM~H`{6_;O8q>hZmB4(>x3tjTKV?ojOMY7 z)#%(aBD!KQtzn?)G)a{#BwmAwjmB}OAQod+tTq4H(m`!|P3-p~ZkZCouBcfO0BP1x zC{DC|;P15#Xk_<}mn4LQzbN1zH~Xs@7IY;a)>?WOs#J1oa_%YD3>Q)CY0pcGv&bp@ z%0v)~ukBJX_=;Svvb=DBtorjus!M=6I6nVTu06|=DMBJS z#?Lv^Cg0Cj?7bC&F(%EYb87E{zX>oolHssYueG?{5arbooKI=672HE5D#xaP+LRfkxg2}RjJre&X=%1c8}K7 z9+L&1ztz~EUA+gzh_aA&kyU+v*!_F=_fvcm%)O&IWUOv-8rM(k zG52|=XoJ5}=SMhp7fEic!@`xA6&(XTeTE51mW=tDx;)8w)Y_o`BCX@L=$k$-l(vON z=Bx=MaYS+8-Y%os7vSona_58>*_0mFO3EzvNh-Qfyj*9@_7U;7>|eX%Zqe4;zNpi9 zERDJGDkp`d>Kz7$sYkcAzHhKEFc+$8YgxY3gAH-vO4n;Nv|Zp$`@MFeb9VX&H-n$jJi#!~! zmvdydL@t6e4Rk>5vg2D!L$9E_(MPl5SB-rBo|zjG{63oVKg2Mqt@0+5geAPrmEoWk zxs($fZY9^~m6SMU?mGl3lKC!u8+j(i33ni2rZ%w0m_tX6s&1vupJ4vxNPhS+as%}f zyGk0uC;%v2+a=b{*(%->Ud%3(?X0Cx(XZx_o?P^+k7Pprp-2*|f@AM>R!SO_em5!I| zPfh`ur!VO^AX_h?m*(wI+B|czOnP&@HfvTXs zIMcT`Fa9wzwDA%ZMf&E&M~E{}K+0?jDeweaQreS6*bn*+W`}`;Dl&@J@tIKk^VzcD z6gT3;Wamqv)13|medhNFyT)E>K6CrU$;qer2!aa$(yo#BR`BF?KOvKgw>QgR5Z_w7 z1OVtF`P)_LQ8*yFPRs$1mQZ~X7jr4!At~=OPZo+PvdI`jZj`i7M4FM>_i38B&g<~N z26zxP)UL+PW;ryI^o&yJ`UJ~~w|@y?u)Af|3Q3^9jEy0qRs{@GecrqWHiYHHuu>x^nA;cL0-%^jeHyDV{b2C;U{%`y0LV0ne*%{gQO12371!gB zj8mg7X38=mYW*mN6PT7kJssAMs88*6Hk%!?9XUQfpQ>F9aRsO_f=uT-8>zyB_do@9 z2tLhzY{iS1#Bho*sR^sHs%n+6)zdVV#xz1)TpCAcUr-9ZYJg+>9QHg%;n^eVs#I-1@T7ZgG(@HS_ zuZuzIQf(DA#9dgaMlEB^FxR@=rsQDPoDpXx{i&bffw2?QTpqSS+nWb?_paE~{M`hK z(b(@<)82`Q5-GnqVUDzE6|<7B^(&y!l{shfI9B9QH!h2@Z92=*oj&oGUk$XEF{89| zDX7XukOB)cufrJO{Z{S^ zs1PEKv#?b|ln%!dGgPEr@&4YW8jB$!sXcXfAyUDrdmr|t+a5=#w)Tn$Pc%ktW$z+a zXV$`|v{pALGA{gC7gOk+AttZ@FAqJhTT7vR-S+X9KU^YY#Z-R|h`v~-i=^2Z!C3GV z8ZIVAWSbHTH+T6u861_=oQAex-P2LNvZm%nWHY{99Jq$QrRiE1MWQ!^e+9Hs5TwXsbYy90#xQklZG4bMz-2El? zZ=k4Zd#Kz1*`=p%dPZ%Hs*rt&p}I$!>-U1s)|`1cX3*4=>9bVT6hT&USqcTi6-X8# zc?s}TO~822$js2TRDe5s#zK!Gyfv*Jvin|`EfOSa8q+%3BPN)mVLlFNdEvfeVq3xJ zqRA)z&drnJtcj10&!il~gErE_-(Q?G0K9SY!r&W<>Z_zTdA>8DO*9ShqbRmY?@#4( zS*DE+kI&ZYw8R*94(yA!NLDN#@wZEPEj%@&ul)r5EgP2-iP2~GqvthIB$t3Wfaf)p zmr(6+3>-D}*Uq-hoteFVNe(bd_;TpAibfptB_#P!vj*(BK{{E7`5d1rK~en|VK{?1 zR|X*<$)nx#>A>x++GA$Cs@4lscrfk2Yb?5u{=&%c||CaHH_^=7)CTX_S z(7Ad0(gHN+OoGewmJ3d|ZSO^Lj$JrGzS|O)oe@g1$M|!O(uoeEqWoHu`N__^q^Z$_ zTP|2Qr7o|*t0_b!QL2X3XtQ0-vRMls@o`*XU#Wu-dI9O_8 ztYcj}Pht+;4X6veG0+NUt$5-L{bddi;&n?pdV<^}igie$w-NaagR=(&trsagTvwz{jYos)P0X9ayup z4cLy_PTS7w2CwVIifBO-%^~B*Zf20Gy_@(8%Y)B2UaZ72O!!I+ccTvLfLP|!ryn+B zHV381rD`>h>P_s=7(e^H`xEP_K3H<cn|+bW^yhp5!Cq2r8rk=w?Z{M-VM z5}5=s?Vv-RQVzIG{z0ywx15}ox;VKF=cerJsW_YXaJ0YYXV7%UKj)iz-8-esuk37k z$sBj;^;9Q@&OSy&sdVlfrSArmYkclSYUvF~!;TWllQnh{vVYBle47noZ>@)M7tfaL zh>|Om?-b-Yuy2DTgoO#52*dCT)spu4ua>@=U;vpG@E5F_ee6+uK8b1Eirm;x%-?;u z+`oA*s%#a?Elvy-W(+N^eYo07|=$_AnE?^TD#IBLPn zkX(V<@4MUFBm7Q#=)(k8Z@pG*74+)Su?_gt!Kq<5mv6eu$L)_g?HxVn-A+>NTgU7q zvFIi%7=?6!UyOG>B3;PI`WQ>e9{%EUJ&k^V0+j;-QccO z)z<0>5tLs;SF|1CO$CB5_aKDKJ=Y1?q-RP#Kz&rL?S!BAifRLm8Lr~c_F%!IH(r*~MxL9_#@9Og!DYkwDOb=kh$P`K_IMAY)yuEZDO<-Kf4l=uN84gqOe$iVnH?RKfLe;vsA=TOc+iB*BP>r?Dm?U$BT0I&~Z0b^z#KsqQGEW28& zojowxt&MZU!AuPV0DqHt@2JreK10bCr$riqHL>tPo zMvy=-MJ*P>_WqaI@M{;0f^sjS+m~_dfApPN`{QI62qe*h{4-^?yS9g zxGC;yFk!E_=o&v!+;=%aKzpiauc*lP+_O!5?7)5SO^5&CcO z$Z-eUXM9ckmUqGHzxN)n~) zdX59gO^1C}auprEI*%oNDWV?8CoEY0YubHyVyyhA!^?gDW$DqJ5WPFYM>~#BstlJc zU8boN`Z5+MED_0*a5?n0l}TJ@?{kI}b;>L9s}~1z)$Y@~R^IKUNA2NhqGo`7KoB}m zo-gpFW-}@fPoyQj+cB({ol`F|EtY=mOxbtuHb>lL7FO0gA%6cc7Q}`Xd793dRFOFG zLM`Nx%z(dt>ML{r)@(+Sc_9bF?hz0mDF|MA+Sn+WQJ6h35th6Nljn%M{pvDNab|<{ zs!JzP?x=o>Yts2kbyq5ryzAI|$-DJzy>-oZ@2`oL&|%c*e}Zhk4iB{({`k^3i(CHd zO-MGv+N4a4pvrg?-#lV{0r7^Cw}B zj?Bb8M;{G!v)Iz7LtGbxqIfGeqlVwogwCX`=heIW66bkP`8;KI)fd0aERT~V$bO$4efWFLVm$m}k;kKzsmmrJTq$7uumlye9V)adW-_rjY+3oueU$}4E3iSTHG5uZ05dqlXx&H2ck;eWw`n@BWp-w^P$i69soxyCW1W^N#=-a< zL+JoN4V`27$1*aV7{>jRXhnX0epmj3lE4SdUwdapSAaseT%XFSfJZn0rCw3ho}efX z)noz*12~u-;A&A~r@djzkOOsh^ZJaQQ|n(2uwvi50Q&N!yk~s;@kWpjQHm>nc+sK< zqDtHK{U$r=b^}+s!BMzec=3y{rKKe&@OVX+CE`vrUk3KN#@dS!dE{bs{~7VGIFK#Y z9vpjZIcPO(-s0p$sE_n1DN7}IJm~Vbg&AQ%q{8mn@2P5|6V%@^@9!jk;c9B|g2sREfLCGB$bqq4dm;XJu7YUg_@5 zPnVIt$KvBlXD!Qz3lC)dQU3dDIg0N42?k!|5!W9Y{TLVtG%7?yRJGlsGUR8}HAoI! z4mNXCf3moIp>yi}8tLK$_7wE|;m1v7HiJwUF=$;J%Cef{zkz}1{TUq(T)#`Jj_hn3 z>S{$_9^c2OqD-|=Y*_|H;;PB5J6qTLmx4{m!mxu0*ZpayJGS@Q8mWv$$DzCO!*U6V zRdsdx0q?~*$^_^BWs#nSL0-gDv#bE1R^MJ4gh@VSB2t#?>iv}a&->KH2tE%s#|^?O zF76{c^p5!R^8mn1&`pSiiN{j=nv)oKiurdvEnFwS4FJS|5Ns9ch-~>!luYZDz6z8J-lNP*?wyT77ool(hf7pQmx~wei(u?kQFVnB}G4n_wv8SdwrRHA)nM?%DwKeGPXJ~jz`m3l<9%GJn5*m8Auw+t; z>XU3uW>yhtrb$oVY-YQKF-3LVnJ%`U*{tAx4I6eE`(Rm6^6B{hVe37Bn(Df!;Tu8` z5{go#3Ko!VL0V`cDpHl+LJk`|PvMK6|a?OgLt@bNLy6*~!STkixhA__NS-swdV?C*>b?Ph>Pj z^*{Iwcg+s)iO?qkM8~GH*TW)^G0IwcmFeTXH5rwIWLcktBgw)g(!LNf^^!IU4uDh8 zf+a%?1c$NF*DfL$aVMP`LvP)p$uQyfw%FG z$WQh;B%I}oW3@hN9r7l0!)`KRUaqWn+x#flLojsfvZZuiqcNj7ZsRwE&t;tJtNPCv z0@8P8|n@bY%6(Z7eO)F|`fownQD?du86@e=dLN!?(QR>@dT``sLmJ8~m49(h&4J&ouXnb5pgJY5^vRiI*{ux?!4^?ju$23hc#Ekp9U zEdh=6cRzSn8JZj6rByl4suM=wxA`4KlZj6{>*jmwlXU0=-+B6IrknqiN?&>t2Sn)~M3#Zetp6l!_2e9#?A*?+s5k z9I8oZ-d~&$*YW|ghdtX(R_jZfB9O=HDg|tKlKeK*#tXCS_ z`;RX+yL}fe%L1$t$5AO(#$WV>fi6nqAz<~gGvR|Oltg+-vSr>4F~3t4~$ zGK=mu2Za=XO+DSsrNKQ9dr#spc{5ONw!P<#efIOoxvaJG$KzK@Prp6zLuY^&l461r zzkX?eH__>ONKYmI2pZ0olLY(Yb=LxbYyn2djBMxa-jNB}+moC!mz1s<6n~1zy zb63mg5u5v-+f5&4CWdXE$Y-*~wMmPycpaA$&*h6Wiq*iILkg3vZN_85Z=<`X2-g;rrK-I-FqCwGt}b-dIgP-+-*Hg${hq z6sjuWmv_bB2dz&I%3`n{Pu!(H*7Jz0hTW?%pCdoNFe8~{KWy6I^g(u99CAPn?$y-gR5%-$E!zuZn!yL{H%oz(OLD@?*cYIDH)4)xC|G*~G zwtdU&tK&OeAbDjCpjE8OA)^hl$hf_@R_9MDt~?*KqXj|1MIls&5!>{DM#<-pC(K-1 zSKnWxmB+-Su?PoVr=769LNk#K%yS@6n*I#p1~*v6H78a4hkXtGCT{Qx3OysJZOwa- z>SiPBT!Pe7rGJckRBsH|w2xftdMV3k@hyoL9lJViYpXvb&uGPnAdw^?5W{DwZj0uOsVnM8$i>pb+X|l!Rr0qn+>`0AB0COgVT+w&Q7?-)P=Uls!DIF#_VNl zYbJH;rqe;QpRsN;m)jR9n$nV;P7O^Acboa4Th0O*R@k$Su*()3bfp=xdojF?s!B>htF4;@ z*p${f6fk8hV@Ld6)`mVm2N@4EwVL?mlCPQ^q zS}aTYo7p025E9x%*K>i89!~PDhnaa}4NS}$ViJyjA4Cp7j0} z(%L69P`*xDWR(N;(>F(xE1bs1c8PhrY=1TY2LElU3*4QmxRb4T66na~x%;bsE1X}7 zIpowiPo;uY7c% zsbV(~?SErgELAVE#PDlK@KRBZmJH$zvf~P$Uwke-ygvy`M;5l0m!JE7kvJRCV#fBR za#)g`?S-8iO^`upx})4wCEt^i*NrVFwAGepnm6|Myk`YWXUw-DvLQ>Pfg5j9pq~D| zn_G`oXpjbBv=N!9TsmBDo4n5Tuo6p(Rx%?Ks2qnDFyH%c^7;EmP*kefN3!Wci5xgU z+e_*JplYVQ3au}Kp=vdt`huApo zGX;~Jgln={wzS_lyU~Vvzw=%2%9_*SJ;PJqcz>#UcVEES=hn3&n`-jnyb3-2A0E-g zM920GBxGa7l&HxLe>o=|wTY^-<%T)%@|~~I9o65iN$P0mH%0bwq01Wk%V~&dSA8;{ zFLNF>!)RdKkuA(ToRig4{WdA#4E7Z3 zM^GV#HM{KQb76ASl%U@GRb4Sr0*nu>m+Gynb`u@+s(^hL{rZ@gX_|3IW@kmvDJ4-a zwwvpURWzQ~*7p^q)5^2Q{mw~Vo=vUiIVwZHhTCSHy$Re)bfwEh?*jgQa*V(k$Hjl5!A(@XjLJpHa!P^goa!A^z6GXxaGe_1^k_OsE+oTO zW?c)(g9FoePicD9-BCyii3j|eDw;x&JRGw2%1q?9G zL=i8~!FPy;Srrj3%$PB+stY;yV&I)dD3NL{YxSMUGFeVxOYLcyxcg_GSPwQM$FdHR z3lReEj=UR`OopcW)Elsm1F29E6&aq|riL0|rZzGDgDDtcaCq0OZ?r@f+SGxzVh2RH zYnX5iC8hY158>SOOkG7kQR42wOapZgPOhFgE!jg|asyK=lyfaoj{Fcqom&1rX!Pva zdkWU)jR@8k=$e9en1-*k>fLlggp|USG%+VODb;anlFs(@DUeeH?1@TSs z7DDYEzdVAitRyer-8wedZogk8x}2NQSc&~JgA}_~P-C#Jt0wVo>1v#K7qZ-zgYn0& z4j@9Wk35sT{fblk!P0XyGmUWC4qUr?jyb=8$m-wPtRJEs?5we{-%X9>#&;% zOy3eqf}ySdv(c;C06tYT#J{e3q>!_OQ0OR#Kekpm%a|ro($haw~NpN z!an*;qsJQ2DF8ZYV{sB~bXV%}$-Ym4`rKipc&iwO4a_|KZvKiaHI2?>NF@lisQJ_? zpQqh+%-Ju#*Hl7d-Jw|fKAHAUtsm&j$J8~ei1N^T&&D*ScBJy`I5v|<2$`p5vcX9+ zJpa`Kh&k!bM`)^ZlLHLqbP}T9*znsq9SzumeUF}8Z-&~{)7#Y6S8t{EBfTkzHHg(EFUmv!=#0b3e*Q(vRk}TmBdF;v8U%aj!d>YBf(K_3v^0K*WVg+vWptS93v>r?5 z6*+HTc{iX-Ky#rs(`s7M8%J+XNa#1kp?24ujoIPq)*love@!RbmW*q6N_{+L zVr1S5{;uNr#s152M+-@=-0}D*O6i1deWFQY-5(?LlKgofLfi!{XLBob=8e62mT}_f zzZjo~Rh~;ov1%-t1fca1l+F5)if*!8xCu+4ne8c~*#_l0h)C~sF+CUS$=0-Q`rX$X#5|J-w^+`Rt+HT}6lgxyiP{ZX?QW=8Rd=Mkbh9Y?q0jo{jx4T3#i zOvwH;EM$_b|B)@{{MeBni8FhDKoh9QA<9ggT?oUr@TlwbyYR0ST$2l=)&K3rjE{KM zejlmhO+kCPv^zZ`z=D%gART+5$>7BELY&6^ciU9oo%P~*WT4vL+8;Bn7hE&lJPiJr zrZJ@;(kBxx^D(n)m)o%Kc?EB^qUXVs$FOEiFEsX^WC48Xyk2rLRh7f-UEJ=#mxI2~ z{`c!It>m)H;>F|o9fd^-I?T;xpRY}c8nrOgKJQ~N7Z}vM8xhOIH24W?w>vH%LUcYK zlMMXa^-)-6e4LrKRl#tl)~I8oE}(@(OoYLw z4Gem}2K5agGE;Lg9q z773G8CX#x!G`#LX{{WtJS$0OM_;nq}If@ z(C`-sWF{F?xGAXH2Mr93Jn-BChTXKals)PaTyuA3Of+rs?%rQlG0eBK;tJ|Q!6MTU zvLXJa5*Mp!wz0*Jxu9PgFQf+G>SxTyLq(0KG@@O-j+qeI*5m`gOC=?xCtN%fyTQz| zOol+Tg*5%7;#m+y8kvj*y(M5LL%sF5{R|zhMuDv5y6u5i)p#vL?K8M2?J4m}$Y=Uu zcC`)dCT)l7x0ZQpwD>nbgbFv0pPLzfW2mY9utsO8KPHN6kj<&F7v&|Grlvdn zV3u28{7&2M`ztnFrM!S<7v zYLea4Zvtee&-_WQp`3FE6m*jcDqI$9t0ktDm@|XisuPz;E0DLclDcz?59fMGauhfd zJ}kavk)X)GlKXaPI!0^D>}tdDc4=Mm-9q&j{8m5SijQAAPOT@~sq=|C)`!#@b)HC< zAl<_%<}EJL>ADB%`hJc!fBE++4BVriL6=jl-Z3#@|B?pwbV!K1>El(9l$Uj_UjS(t zYU>v*0Tgsrj!^;3^hGbyC{Q41Pui)V?2porQ3^xRa0YAkZ6#cxeM2Wgb2QKU>M^Eg z%$Zr9%sRjVFWwRKJS}=5yqRO)@{U3%v15oCJ*qpQ>i;Cgs6FainfX?kUwl1}$q>hS z&Z+;EVPt;xCt1#M*3YTD3!*piHP7kdx=-G>dG-U+IvV->Zx-8NLPz?-)~49Wl>1cs z#4@44ZZ{6MActpV%cSx&Y3d$*7kk^=a(W&^8#c_Wf{cNo7p${wF0ivTnwO|_&bb|x z@(WkBhykZNOQZe8MjPp7Z5C3ku{}4CLTq7sThktI9Qj+X=@TswciE^a7GCrk8;XfX z*rGbha|@GY=RbTduV*d{%pF${xqiLP?N>ELKGqz{;qaj^o0F6LePz*`Pn3>gRjdbF z&pfI>4Kv}>8C_vEkWw&2_+kVT!Jeaq{V2gCqNaPIs%za5TKa8|?Oy*WV@*FJCx2t# zu-aK*gMH_7JI?NIHjQmWGo5%PNdcc=whrU2Mt3{Oo+r*o^i0X)`~m{kbl9?E4QGzVamND16> z4R;>0C#|Tkqrj_SLi4krBk>Mev#nz`r@jenEs0`P)X_Er+M_t*Bk$Oq!x@?NvQmzP ztt`J3kzi9KE!U=7W5N>?L6mwBQ4bKH&=DguQ(z9You@Sol>fAMEuw7svQ%@J2?gqL zYbb}kNW^d= zJv8-OW8zP2ik1ov80t0pxV!V+K3+WNp=pOhUO>$u-}|lARe{{Rf(m2m?!9tVi9{A% zYruQRy?|qXa{{~ID9d3X^My7jFQ)kMnIK5NkdsKxLR$%08-%euRvH)H>bLSOa3ZX~ zLH%k4ueJL*$u-KN)hV1?zBk&9IAjIufMS09RtA?@cG?Z1m&9ikuSfWw8LPSzHbYXr zYhn9xQ%ANlg4lgayz0GeMmJ2V{C>&qHH!~>seR{iD2Q+7P`}iiR1aQ1-i$QvJusgO z{;-<4xtl-ubnC>^voy9_PKI5jN z#l%&(P7y#}OOL5|%1i9`&-xZfLul!i1VmIvyGk{k(Bgp$j9*%@xh%cm3+{|v_&Iub zmk9ADTu*=xBXoT_+@I6vH!(1X=9JznJacG|1-JC$hwAX!&6jYJoNsl_$CSp` zJTxeGVH6WIQCC{{g4IlaXSHyY4^Ogy%3x`y#p>NQu9;ZklJJi#g)l{kES}P z-QEeO{4>^DjOGO#!N1v9nY5s5uhrc-$Y6)0;aBjq59H`Jav$pnr0#epg!}mFyWbW- zRsPm7uKBVydJ(v*o9$QSeURlS9qpL>ii@!}QLiwCK1t~VEyM0j&|tJ;7j~9Utbv!l#y!zjGs==*Sc?rtx|6*Qz7n3^uUZ6acmGz>{D3GU8aE~`k3fn z%^{o;)*W2A5}V5R*k?P}u+8Nny*A-~zOphvBF70MArWY~BY+#t<3a}sR-pGT)YEfZ zg)uz^IvURQCqnAn`WS8KA{xG%HSCO2;Io(CXJ~TnR|*Iub~8PiejYA_kr<$MU?4Om zoBp0c#KG4Y4(M8Ufa1h^zaDn8*qF@ER*&`;vn*-ajGvzU@3nMW*N_xUuVKM#a=cJ3+ zBYHe}j>_93NlcOh_Ll40g9F86c?tt@;^N5KsFUXLIU(?1#fSV4iafV_#xwa&ZZyW~ zvV5hnJ|hfvcU4QvsFkT75Xq|Vc-2c0GM$pE^3W*!pIE2-4OaO-WN6G&v7%3HFTO9Y zsXAlUqJhoj{!H7CWXNr)GL;w2J0vJN5)qU6HW))dj!W88U~?rmhK%-h+SORDZI$+< z9tzs|z%NkOb-M4}9P}rCy=;8of@C}8;gA-GzbP*xu>Cp={v>&#)G_}=t--qbQxNa%6T-Yf4b-#J1Ahk+htFErh zb^Lt_tyx(tX1xrsTpxG0)u;*&f9>^wdHl`kR{LsWK@tsAW-Tk2JGY}Cj(7d?D;p1+ z2nhkyhfnS?6&a2A!dQ>>@$4K<)dEfBcuAN0NQ}H6&2?CcE845a$*9@PO@=mbk$HZw z{mtTz(diZ@;(AqnzDwjST%?=mS@73#GngBM-=XGwpVIrCM&( zBP*hdcLId7`X0_#I}eWJaUQtEyYrO1tF=$SvV|RS+5#7i*g47-+3MYkyS%G#vtF^T ztN;OK7gYJ2ymo)M?&Q0}wm0iF8^Swe5Yu$NSNf8+sVa@_rs>kh3p?GGSK^kubnXq{ zuzX5SJkMD*k`5Mj)H-L#E)>PRF^zQbCW-dQj@%Y57t2jnK$0>k-do-(6W$+S6P^iK ze-lcUs)C=eM&AsK6@?;lpna`fhJOHbN~N+(#wna6uVy8!iM*OHa}8!66+m_|hfG7g z0!@Zz&j{L6HXxSV9hlbGPxw9jCHLIeRaN~O7$m6&uB!Z8t#X`_BHRDvyQX%GW;Szs z{kk{rjhE0CJE1kJu~GJxC2VcFBw2cR|E|7Zz`m?j{g71~NF>I*9>moLA-lT;miwCV zLp((=EZNhprH9t>FId)@@!J7p?ggrH-4Hw8lruhjC!Ewpd!o&_zn5lmV$I(#LCN6u zzgyPJQQ%m@Kq;{&fcMH~uk_|_G@h3U;r1QXpD6cDC4q)Gxk#943k*=eq_V|}Wx&ClMdpJ9%SM_XA*0VIH{17lpw&BwawL;uywx15NIr(s>s__OM2@b}ecz59 zBl6&~Z9*IO?b?M$NeP(tlgcl8#F9U-<9usQqpia?cy`%jfFS&>^&R(OVt2P0j9f8# zkSR-(7vHvKMb{qhD1ljPR{SbE%^tTjuO--J)a*R2$wljNumht?3-?E&Bi>P!T^GgR zD}Gp#6?X_7P>5JhDVVYp1dEZk7U@6Egd*l!je$2hxP-SenkKyQi5NG*EF3X+#W@v6 zyU_EtHA%H7kDTS{$=R*QHkt2KMm=1u7%I!5wY&5#8LGelYqgZ{{K-@Nw#68`*RO7e zi&|Gj$sk@mWZ>)!S22Fs_^cEt)d zr>PFEsJ7M5T=PG=TM=*AmySO8_%xhe^oj+g2DD%OOv|Mlow!{FrpDI3yo>g@2q16L z_D{>+eh}sh=Q>$--RizTphUYuJ>JnrVwhoqDAdh*2zF}{qWuue{b}6Z{uKW6N1Q}Q zaJrdl!FN%9#%@oxKiD!yiHJ1(D4WyxT*FSXwlf<-~i<53)$$P$Ip&E?er1 z3`n3Nm#nMc{sfr|4YI}IJveI(+e{#^C@nTqC))!IKUTcko-cb1yHv!rG_Vz#eC%bsq@~>R>T!x^i<8LcixOtZ7TFdr4U;CE{k8dpcXO zI{M1o;`c6MipD&Iqn7wS_tc8(*BK#i#W9x>E$F6cDDdi$2Rn+a=xf2h%H{L2FQb#2 zucQiF{3n2BKL8xxnF^@+xFj{#a5GIE;4INHB-TQ8C$ioJk%`a%Qh*TTHK>V)j$2W= zw3`p4VBOrgj;^E{UP(s>YBbpFb4lP5Z^$WOXgRu;uU`;g*nbCQX}V{%0+(b zZ(5j~4$KA$1z%o1@^Y~`WQDfaVIeLO^F>)|kN7^2AGe%7{=FQ*d~2h0gXoSvLBB?G zExTi|Hu}K+3*@(}90yRZK@PVIxC?ePOhr8mxIk6Fb8l~t>bqUqi}-?-+U+#|X{R#Z?H4w(eW#SctU5uJlHNH1l`XM2d}vJJ4UyS-}IK~7(Q_(ZBom8~b(j$!P zLQsB9$p;(vx8!y|y*kWj(u5;;gO;{#bSQ9EFAP>454#CqAR3BTbNEf@ zJVai6NW4s`<`K2fb9b@e{q{Lv(bl%W=4mUB)fX*T&S81yjCEl}MW`R6+dT2&c+(&B zu|%`0{eKO72$=rS32+`8a4egj+!k31B%>9f#J=6K0K>%Qbxf=PLbXa91E$y^AG36^ zS^AzKEE8xn@5|B?C`F@~;}U6)$jQreVAYAs+B@Hohd;uwMrZx6{H6JnFDX=K9ib#b^g74^;_+qp z{v8wEz_0h@g7D?n_a3}+Nj%yOjrLylRE|MVA5hBk{JeLwk7B>BRdZi@6FXPmalbbs zxy#|%r_n2w3}^(}z&`z%p6J*s8oQRJqHqxjc$P*VXR`(S6yw$4Xbdm{O5 z>&2GI2V&x}TuEYfx`pX~z`HS{;w+_KAF1o(;Xa0(f8maJDmhxw63l5wEf4++I3qAu z=_j&)yE7POS)}u^#%x;vCSAgnQAkR!NL5KT3ud-muS7yj@!2=n__k)EJSAm6uW0QT zQ)4;Sx|8R-GYhjF>#|b_64=RqXSvoQKMiVN{LVNXh7)W(O{;l0zYEU0%3PkLW+?Zi zqPRTY_EI!%snYygY>gZxHIWC7eDHLPGt0jc{z-#qd0gqK?OYt+JariSVlY32lBixL z);+m=_>ctEM=8rMYW(4O5mD5D)9*pYjBTfX45!KcMDAi%$Q-}Q{ruJ+(KzA- zBb9Q$YqHK2O1j{POS`F#WstY#>ECtvkg5e2dJfT$Ity5)2R3`ZI_l-7y?ITDJbq_9 zR2I3`r0-DpmW*i=yW?o#n`>msjV*HeC*eMF9mMMIe34ukN=@X@1jhzNmQ5>>r8^K# z+-CrRmg1P_Mhc=11McB7loaT$MbWTV(d{~&FFFl9L73>T6t%_OHO`!iAZDGrGWQN9 zB9zYsnYv&eT8Qme$LML6Z{wA=zTV@O+w%R_1_mdDlGhw&*;S0?cS-dOB8$CQd2;D?;_$7Wvuma+ZEC9drT0YI`kVP*?s)sP3-Y z&BsB>Z49$QIz#=IS~sukG+u^qYV%*w&}D)OnsdLK-p|qByIhVj20U3R+K@qGx33$4 za5P7ExMJZVS3sXo%9bjJE@8UDi_u6lt}keZc^J_c6vjln$@WU>4e=d`?=rEd5=1y4 z#<>V4ESW44nh(uNGKLk9Ptf8>Sjq(5x+NcTjLM#(zsx9EjeF{_hK6q(H_>!!6b2bXc;P>q&K!r(|*+dhN{goL6 zIufn~lQ-;B<@ks~Ay2cQFaKs)5gzsf$7)jnya4T48qEfsIvXJ*TfNAGc#&7m7)&@7 zdmw%BdN&M$po_Je@(7E&O*S@T*s|^N(M~xEF}NP46mHI^=aS{d=q6ld)#WC=%;0^& z0xza-B&r>9QnE(liW6e&z{wg!hH93&?iUuy(txO7+$PY`2EBlla2n(S% z#ibb=$;nU?re`Sxcztse6VZibLs=AL5Mz=YMPv?6Blu zfH*gr0>H$51thUW*WsqVY5hxtI-!aVrt1ch|K274_xnW@IVk}$Z@xr&IfD_FqQB{! zJP^>%HdqiP2+X=gT0^GoZ7=ES{`2;~K{GIH_Ok>6AmII75E2riB@OZ+KpQ4V+SA!r zq)+_j!aG_|1|}tq1c*;0ev0{5qxL_97$cCyi$G&3jfif4TX)t(x=e`+jJW&l`MZ5E zja-M~9h6{T{XdkRzvLcKNmih?)i<|n`ZE*4C-2?@U9o*shS63}8Cn*ND9UJirNd{* zL-9@{oK=wde_9E)lMN)G5<2r4Yb>}BvJRACg4bxqRD$gWNl+H)e*=5)AG3xw>M022 zznWGuL>zSWO%I!5b~V$#2jTyI-zkIuSgl<3{*%q7REdlMVi>s~gC53FXF=Fmh^2pyOIPn+Vb=>5>iA~MOQ7*J z1T@e|J(cvZ6!2<*1K7m*L#YVsW94(?&+>~y|KE4?*qY%}WT*(kBO?VnHV~ql8Lz<0 z8po;Cn|b)|0BaHiAOr8;_|=r!xL54-kqnhm|0U$VUHJF!<(D`ZVI>w@C4>T;Eb<3i z>%}yHlrID;w^G6K|EDr}LsmMpo|e{~?*X|+TLY{a!!^nmMKS4y<$4guYPzD$9u&|3c}eH@qlObinsT^4;=EQg%2@Fr%Muef&#U<4*Es-t`u_ z!)DsNj0_%!HvRkmudVzn@K>flv0RF&^SIHMSi)^+PsC*QogbzC`5ewE^TgfVeRpcp zR~$l|oiSf+V!G-l{M6Tq=IFHXr`MmNNv$IP$B&YZ6D+jr?>>-Jm{8BrpQ=posg+TO zPL@Us!#>KHO>`ACe%2CvQ!Dfk`r{S9Nw358_Uf3Mx(C$Fz6h-zu)`;W5HgJ-6g_JO zVvN&>a&t#)@>x0R?Ne*}SeG>Eq zPW%mxMFGxEqUuh`ng0HZEbgYPS)pQ{(NT8N7B*yDnzP>rR~}EZ{b+ymeACKNz;365 ztHOcoV6>X?KzG{1J@T0KxpsN@MCh5b_LB;SwuWMPk?zZ1PghdUUw+?w0YO#Jrucpe zvXA<75l0X3;?z%9NKtVjra4U~Uz;*xW0^oI^RuPt^YvfnLO$zurdm|Tr^8{perK&7 zH=j)^O!#dgy9zsAjs8|+@}6lS^EzJ1UD^C|zUfqvz+1YpmHK)hXsW?&!Y?n)#rKub zqqlX%5-&s%IPV z2|(y?Kidf8Ewq8mqa|)>!<;dxms4zE(>NTOHDP^oQ;&M_%P2C_?>N^l;{%&`fpRbg zDf{Tp8CT;Yl@Xz=KYLu~@2Qv#(3ppTA9BG({wD#XGX<)S_fe~z%=~frK=Y>{xp8+; zNxLSK5L{wcA7kg}n8Ta;<`Z$?Jgn(3%&l^Y=(g$iHAL1gKhXD2+@7|#={dFOFE@VF z-l~q*YJTpJ%E`p9^Vd=aj#LRA=kxr@sN$%`Qwylhl(`)Ht3mU41*80;B5hvdDF$lp z4^JBRMvUHyk%}~(Zoh@3=o8(X<8I-gX!`EtLyKnmKJj6&tGAzyGzU_=T{5;vn-~^{PpBlUm3YhmBeNG%tyK)R#J({K-Q>4Dk{N-2g z&m{9K`b7y_Vo`p6i0|nfmzIJ8fkvre7 zJJ{Q6J6M6zle=-CVT(H|-6{IXX8KjN9l4SvhjPC)JpEjbJ-soES!6)NcbmSTq$Ee~ z&yE~kGgDkx60ZI0&-uY$jtQ$cE-~8S8EFsYJ7`{1?Fu=nb_(#EagI0Z1Q}8)?@f7u z>EO0q@jr*m+LLAw&fUGA)~WeA?KY1`Bw0}h6M77|lLphfnrE49xH)OWZ~YR7HTob%k7*EF zy#E}qZEgpS8Gpat+AH;&s*brx4G?@by?-T^k!hG(rW+A&Cj?ptNOKUBS!9`H3D?3t zON5P(AP%f4~S5b#ss~hY?FgDJ|@c>X0H@ z)Wm@b0)zmmr9=mcpz#hLgT4?<{H{8v?!Uy5V1Iw*{mBn*F+aVmD>Q^*#EQ)n%fbg* zAU8HNjtLi~Qw6w#LMy+?i8)>$gGPT;Fd;j>H^090|gN z?cVQf|4sl!kF?}gtOC_>BPr}s9Qzd$$WX|dp&Y9)azR{otn|k-7kzZx*#V!?wJJcw zXyd_t_pQrdP84A!Oz@jm+!i|mf;!eL1`u28?AYH<+Pe22fz|ztjVuA5SJBgo?Il4> zkPm>0xFiTTo@Cx(s(x6DJyr67fIMw$rA31xdx;QkXDC~(hX-t4oRav}Zl!WSq}xf8 zDa0CrWSV*}$ZT~Rn9ic@4<*xB{6*OT?t$G#QH)OS!3x+iX}o9BAuu8$`gzoM8*qqj zt(Gx!vc^9_Q^1g-EUG@*pL?1?%z>uSm43Ux8!PiQbYw1kJgcZ5O@=aX6{tYcfx~#t zWc2~fM6mi%+~K8=LqY%{RZm+t>YXly7brpiC78cs0@=W+;~&B+8-1pRNDR>)TEEWU z^E*M14_E8+LxgZ&^PT)2#-viAdBX%qm#19uGAXx@R6$s`@oiKgB{^^@UnMbKiM0$6 z33GfH8)gAP#{NnZyo4vg3f5mX5bm;s{DoBCccp6S(QyMHZq^7kYa8`Xek+9Q-e$6D zQ~BGsxBT{3g8mL``jy0_KClCnI%D!w)T%ddJ11wWWAc|180D`2V+OAPXJV8;0!Dl` z`7|*}>~Fnxj!Gjiu-=hh8ATWSNU%k9j0Pf)M<9qKUfx3MAKZozpVyglMNWFU@+07@ zt1o92g5x?c9GzVW;H&-J#6&Lx_{nAc;1_p574CR?I$mAGmU|yKNA)$M13$9Bb|osW z<4Y=paET@db~m!W08Tf)$bIcf0S5&~BkOyU*`R~2m~w-37cx)TrBsx16CRWtw& zX65uz&zb`SxhVD3z*YZ0Wf?|5qlN$mwtAG9q~htFL0PBf%84vX-%5w@m0_@ngN2(v zjX`s*Jlaqz{mn#BD{ZuPeQ5wCPBQ5&Ga)FAVAJ-Fj^c6Pzd+f1Z=Nq;i+IMr)@_3| zx=w9|485)Zra|-qh8=JL7;F?zNqbv z(s~3V-gp!t4rPWB9fQ9jB;At)(U=e6<+Lf38v_Y}aT`1^0P#7{gMfn^FN!xQg92dj z>}pw^3&ifF<)%MNn}ea$VJqMd4v6H{a!0;US9x9ew^4sm8(blk1@+sf{Aqyy{b|iB znmQS2w=N3ZqP?{m$sn~gm^Bzezkc*d`}2dO^5=7-&vTC6zh3e$J(M3zF!M-SaWuWN zVoAaRp}a`1)K(C=4H>7}=9f>=L4?jetsKoathv{2bdchWmtC6l+5dBFa!|MQ<>0tf zZR(eacd3u@4r*(kgcv&7`$YhPD)GdkyfewM@`_ar5Kd_FgLR37b};z{JDdDLU`_`> zGnY=^8zsk8{`B6e=J>btf`rH~Adp{Oeb0^*&qq)ubvirVdwU_}$5ii!YH%irm6YI{ zZ)m&CaRLbOQ~Q=D^yqdN$C@(Jx%oKOl~|!flz7HV$>en{;@}R!{4)dnM!QUgHdt47 z{Yt$!AYyXPkn@6H3z#3=`DsX<_!BId*l z;ITO`8?OFaio1#1;WZE)qnu}CY~Hc%ry`isq#UWEr5|PjfC#I}AW9EFvNo`O03{b~ z+|=ewGD#5rU*%niyH?LgfA3y@M!Hc;O2{r}%Ne`@Af?V&gLD8apSIeP3lT0C-1kPKZ>CwC{yCXz8}@vRZ#)NjA3y#4+=tdXJY?22`)_c z*WIZpQo`2lo9EYHA+uzlkve>42$tp`S|+N1qc%h~Xa@sC8XCnMK*vy(vC_cxZ^>W? z&200TLAiqPI9c|AfF|!ngd`2_&J?wC6CVRWP)fIz+N8v(fj*57#IU|qT zkYlmJs-J{tvBH*jEsF%eMv_RmNdkCoYs_6nH1jigjIcNaRrg7d1d;;pzdhDD!PPdH z4jz+f_B6xP$Os0%vGIvCxG)3futM+*{I}#tLUg%q@YhN((w7T{mwuVkAbT31!$HqL zqk1BnD@;z1T-eb3PC~rjxir-FlqAJ+V9|sEpQVcuoxefiL{J^;=HcjJ!f^z|X zx7;BFpu#1_(O_T?$|L0h(?Z8Nq(2WQ#KgsEP5+&{PP!u5U*QLxMm*ji-?F^?W2DmB zW05aIsz6G1xJuej089Fyrs~OmN>4$a8%Nw}FI)2*x1rn+We?@#tIiXYBd0Yue3zDm z@+z)?wno;uu-geBa;Hoqw*YLwyvwnr7J7**BWA`xc;_Jq+c_24nWSFV%jI;T0A#`B z<@{R!_VI$+@DB(o-^DuXdprr&9z+wK{yeBl=~0h4D{QXrNjq`|f>XotKwX&;z(z~l zCcguqZoNzT#IFi)ibUOh{v9sT8Gx}Q`(68hROC7b*$aje04R0-VcbB1UMg6E)v%%U zYG0Hf&8dhI0i(GZsS!AnX7uRKpDRL`41DvP!&wLuIOf9}wsBJc;_GRQCCJWEE^yNO zZ%GYE@%zjWGOK(|q>ru`{^Ph=J=jr=WEuo*|L}0Y-!&NQ_;_^%6pqN!QkT3whXDyY zUSNjpOHc$C$x3{goBR;eBG=Z{efT3xyzkT#X0y7>n&92eUXZsDS4YF9DX#~ha|`{~ zjls!t$q#&9PXZuJsO^`Y;YbM!UY~->1r0fX)`!H`81JW=$}B_TIZzoKtR z_Mq;)x{#32E=b}Wh!rxj8OTyb#&$638AEX0d~ZKo0bd%B_tsS(0$xKXXoB;k5YyuM z6pBpaHZ-8Xb2ZTCMe(IXn?oX+9jEHu?>ZCY>-Wd)R_fPEGC}PLu|bgDI3`~+^_opB z1@W2X_YKu}c^w@cUdXh;7cHBOb@4tzr_Y^Hb12m^Sd*JrS+WWQKnlA%tN!0!34#L5 zf5kTpt86~jyf7(oJ!{u3MXJG=g|GRMYH(#x!%?5a)-Z@*DTs8GMgN*KK#WL-tLroIV{r6D5Qmtq9-W$#_5+ zeFU~@LF+=h5(G%$^B*Xcx3d$FIX|4MdO3K*No@u^tzKGU7erzuv`Hf%5w3JBzezVN zr8n=lAJY}fCvkR0`8*3ILo|xh4&FwLjE;I!GHD>T-ij}UheTs6k63sOCqcE^yEc7S z49m>?Fn4`??l`{@|Y zZM4J6K=$sJQlAftJ)h?k*l8=bmq2Nhar)IjTG_P1(#CP`4WUx#RfDR*Ub$q)Iv*P9 zk`{I>!l(CVE2vFqVp=u>I*seD`y@b0Wr@fbk#CW}2uE$_-S$U-+s3<*YlQWQnh2KP zwd}HQY7fdLpJqP1NZT137dHqFo6T^6&QOJqv>JjB>IYcU(Ev|u6ls3FvYUj`L7T4G48qtl(LA=C0qlI=X!d5vO5X! z_pZ^UV)B1W2>{}c6bk;D#KV|8oB;05H_dY6;3)Gb!IoO8i&)XsI(H!eFXV?QXF@YS zl&L8pBh)QyijF)aL$NnU@gb)#q%^9A;yB`@#yal-BJaPxa!3NLbyj;~qaHxLJ`w31 zf&N=kg{1hUKllHd!GnUkl6c*wjgZ^92jDkomY%IaP{N+lNyPxx`MAza48UJ^!c>Y; z;Ra{IYrrjF_ZqC%nK6$Z{Q2}`d9GlaR!I)M_P=n5GkH)G!~@jG_wAsnFG4CeoeA9P z463l&?4{7(sea6S0ZV?`pW*l?;O4KW=ZYr>QoLnFMl1kic~_kW2Y{DJWwtA)1P`5- z%^#(GcP_b*f$(NtJ=p5H3-8IrW`U8ZT48n2`MoM|@Gt@W{28+~*w}wcHvl|W^B~3s z3Sy|)Yqq?p*S&bJFA{!E%^2It{M!W(4yen;m5>wa=GUF869DWq59+pYqIf{Ab^mRg za+Z3Ux~$5lAVguuff}o@b0X)Pw~azUgCHp{T{@z|1$w241`xqLUJ=IY2hlD zbABXRrbAOW>*gGkYa<=VRcCtu@%MqbF%viw&&JQaGDr}Ya~5th z5R@4rAR0WL@qyNU?XJz>nt>tjJ--Uz--ioNlA)IZ;(m3;)P{)54IBV=SxjAp8bl)xwzk2IngijFxao<~&3KK~SR`-< z#KmsJIZ6YlmHkrXH2`&ESoNUcKP3<^$c5=H{!;$TOgsg-604`z0esfltI|A15UmwE zdu`C-R3bz&t4Yz!Us_h`nr`Ai2qDvXKf?p==~-!WJ)m8_U9pV4c+TN3HjH>h`Y#ws zOaY;&%KtAEWgsK0I5YEg20%2@N@|_~8WlDWRKMGW$>Ah$-*h$1Ia3F)Ro-JsKL07* z07OQmQ2yX>z5Zm}oW@(m+g|(NlhXKCORwKhLUw!HQzHahfQ@t~ zUJHv&SI=Gngv0>iz-;I8`a2RL={6NPf@5{p0U`~0f_@M95Z&L2K~bC3 zK><9Y2BwA{&5Tsk+b|;`o_1$3kfGpiB+kdxzX!Pt$Z@XO-s29u0N(LW+fOe5nPfX* z0-itqDS<%%fleMGox{DnC?68fXBMBMCB9x*<<|w@{y(eb7Er3cF!{B_5{Q`j@CzIn z=UixtFZ)HrfmFc9oPxG_##kZsMZA1I@;6#qy(=TRkhTn;;8`91BV;6%-bR z4Tt@IArZ6PSzZq(ILiBn{422}#83NZnLQ}+_m<9pkQgOONv@#hkD#H9A+KWPu`Im* z#*~AmAKhPAqunA|1b}yjSMor|oc3e}p@nY8XT$`BOO^**MV$(Zh~U8oQ*DDb! zh)$B^5hn1-Y83y`Yp|jNe<2}&@N+hQe&X_V0_E}oN5+D6|8aWwO!%*3Iw2=0@zdsA z8wFADk!H6RgLi+C1qgDOjRi*Wf}rnVYL3c+g-k2ojW|&GM7Bt%oAyze@CA@BPjaIT zF&B{khp+bzYijGhg%hfD>4KDFL8OV&g@8(x-a%Rr=^!9IfJg)d6#?neLhn_22@vD} z(mO~GBE5w!AaGaC@qNDce)o6pKk`hUy|edTWv)5L7;7#bpUlcB0t}ziMU2imK794y zm#d62y*AkJa2e4b%NHI9`W>;x z;3gEo<7V@B&SwJH1sjZg*QPHyVfcfPMmbJt%gTrW0@v7lQT7Hno7ggUl_Gm^e1ZF8 zGI3I*;nzN%FF6SiwCh5%m3@gJZVGmB5fLpjGc%@&jHyvHg0MHW z2AQK#nqKGKlm21t)u4W`lu0q@0f(cuNs#0extW-O1Q&1p0tNjr8W}#XgYCGCJ0RRs zI$gh|c<95h0@}zUZ*pAUItiK=+#x-d(Pi+;mao{~LEL{e-y!j(!dnFaCEW#szX%b{ zCF#TG!=GvkmHe4_{z4v&&Y?77nW@V27VR9S$wB_aB5b3T_cr_txMF;A+fLWAeiIZz zB4YoZfeP@`^G_2x;2f-H79R{G4N%eTE6KU)j7Dj&j8h@3Q%0II1gUgVPY;)ccia?S z_tDFf*05)XkI|3#WE7T`ZI+%ri?3!g&D(GzbAm=QYjFAKrM;iO^~W{78-s?)Yqz_;_bsHXZFhYsY3AcS z{?r`w>tOfDc%_kfa^=HYdi$UEa}lS%0<6~x?Jgh1(ys8aXtT|MuJ{m+?PQaBKdsDD z#%&GU)OknM!f5Nrezch$e6S|R*=jGu2c>4-K2 z_MI%@dg{Kvkb50Iwoti5$~n{$mpP)e%_msUH01WCK(IJXx837_(dB^bz&m@XD_!KE zG`Q~C<)WTKByg3U`0<$<67T)aV625cZ9(U{FQw;6(oqKiqC?VtxIAdTz2AG-r{-hV zOV{STp`3Q>8W5X!TS5$WpbtV#Pat=wPNedG>r^s{`b3(joZE_TQ^@AVu_rWlGBx`-mxCXc z36&Cn@Z%wT_9g{8?#kBBUI2zv(SHji#MOpZ`#V+o_*~sIedMv)N1_ThaIE4T5>PTic;gHoCsneNV4K<+!WIpj$|I2$_Wlpf*lM-+D2lSYXx z)*Glf?3~$W?$;Z>$@q4jIl#X8tl!Umdur2ThX4Yv_mzDGN)W-(K2rWaaw0{%f?46~ z=l9BfTs6r%o;w;aeB~~wUR&uXaq;M${0nQmrL zuypVXeim=mkT45JN0bzaS10tZ<*`2 zH4qz4W!+y2i%VhR^KGcWxjs9uSyr{LOuIn zBa6peI#w}dd@uW~>&QFLeA3VUFz~(J{R%!__Y66zhWzxHv7-pBP4qo4){h3v#Te}a z%co(i;nI8c7G{y>TY{VME;Ab2{Buf%Fv<7rrr!^;dk1GP5WWxCr(ebNU2tZGme4a# z=06MxtP*{2@+rsP|4P`e&#WIdxA+1+7e?_LR1Yz~y7yjDefz`4PE3S1YFd;1G{TSe zfs}w^p*k<-J|W+EZOp6lzcuYU>4*_$Jz&}HC0`-_fIT4bDxaf4fZ|(v=H{H8k_eax z+P$F*X<8X=Fne@M9bK2wbTG#%g!IleCUyDN^2KA3y9xBK-JH)y>X$D*2BQX3PiWQ? zU`|68wTAY*n1N~{D0e6X!um^D{*hkcmy}?G_+dzF+bwsT%*(2j!@~D_3lHu~?8&9= zNoY^`vBQ}b^S0^?vh5j-8Q&66IyKals;$n&D$JZ^H@Y8KILwSaqLð)xIyJnd>= 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 N002ovPDHLkV1nTOm(TzJ literal 0 HcmV?d00001 From 39f8f24b249ad033ffb58188b80640345bbeda93 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 4 Feb 2022 16:26:55 +0900 Subject: [PATCH 12/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 600a118d..e9529e74 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -101,11 +101,11 @@ lattice.toml を入力ファイルとして, gnuplotファイル lattice.pltを lattce.plt を gnuplot に与えると2次元の格子の概形が得られます:: -.. figure:: ../../../image/dla/tutorial/spinchain.* - :name: fig_spinchain - :alt: スピン鎖の帯磁率 +.. figure:: ../../../image/dla/tutorial/2Dlattice.png + :name: fig_2Dlattice + :alt: 2次元格子 - 反強磁性ハイゼンベルグスピン鎖の帯磁率の温度依存性. 青が :math:`S=1/2` で 赤が :math:`S=1` の結果. + z方向の外部磁場中の反強磁性ハイゼンベルグスピン鎖の格子の概形. From 3b95350d659760b9db3a448a16018f9bb7e3940b Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:05:31 +0900 Subject: [PATCH 13/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 86 +++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index e9529e74..e0e6bd8f 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -106,6 +106,92 @@ lattce.plt を gnuplot に与えると2次元の格子の概形が得られま :alt: 2次元格子 z方向の外部磁場中の反強磁性ハイゼンベルグスピン鎖の格子の概形. + + + +lattice.datとkpoints.datの作成 +******************** + +lattice.tomlファイルでは格子の情報をユニットセルと基本並進ベクトルを用いて定義しました。一方, lattice.datファイルは格子の情報をサイトの数やサイト間の相互作用を用いて定義します。lattice.datもTOML形式のシンプルモードファイル std.tomlを用いて作成できます。 +上で用いたz方向の外部磁場の印加の効果が入っているstd.tomlを dla_latgen に与えます. +:: + + $ dla_latgen -o lattice.dat std.toml + +この結果, 以下のようなlattice.datファイルが得られます +:: + + name +hypercubic + +lattice +2 # dim +4 4 # size +0 0 # 0:open boundary, 1:periodic boundary +0 1.0 0.0 # latvec_0 +1 0.0 1.0 # latvec_1 + +directions +2 # ndirections +# id, coords... +0 1.0 0.0 +1 0.0 1.0 + +sites +16 # nsites +# id, type, coord... +0 0 0.0 0.0 +1 0 1.0 0.0 +2 0 2.0 0.0 +3 0 3.0 0.0 +4 0 0.0 1.0 +5 0 1.0 1.0 +6 0 2.0 1.0 +7 0 3.0 1.0 +8 0 0.0 2.0 +9 0 1.0 2.0 +10 0 2.0 2.0 +11 0 3.0 2.0 +12 0 0.0 3.0 +13 0 1.0 3.0 +14 0 2.0 3.0 +15 0 3.0 3.0 + +interactions +24 # nints +# id, type, nbody, sites..., edge_flag, direction +0 0 2 0 1 0 0 +1 0 2 0 4 0 1 +2 1 2 1 2 0 0 +3 2 2 1 5 0 1 +4 3 2 2 3 0 0 +5 2 2 2 6 0 1 +6 0 2 3 7 0 1 +7 2 2 4 5 0 0 +8 1 2 4 8 0 1 +9 4 2 5 6 0 0 +10 4 2 5 9 0 1 +11 5 2 6 7 0 0 +12 4 2 6 10 0 1 +13 1 2 7 11 0 1 +14 2 2 8 9 0 0 +15 3 2 8 12 0 1 +16 4 2 9 10 0 0 +17 5 2 9 13 0 1 +18 5 2 10 11 0 0 +19 5 2 10 14 0 1 +20 3 2 11 15 0 1 +21 0 2 12 13 0 0 +22 1 2 13 14 0 0 +23 3 2 14 15 0 0 + + + + + + + + From 9d03f978bb63941d6a5f636bf90f13a220ae8194 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:06:08 +0900 Subject: [PATCH 14/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index e0e6bd8f..719b512a 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -122,7 +122,7 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 :: name -hypercubic + hypercubic lattice 2 # dim From bbef9cdd2d040b5164a6f28b295ba8fe6ba78ea0 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:08:44 +0900 Subject: [PATCH 15/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 719b512a..f7381aa5 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -120,16 +120,16 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 この結果, 以下のようなlattice.datファイルが得られます :: - + name hypercubic -lattice -2 # dim -4 4 # size -0 0 # 0:open boundary, 1:periodic boundary -0 1.0 0.0 # latvec_0 -1 0.0 1.0 # latvec_1 + lattice + 2 # dim + 4 4 # size + 0 0 # 0:open boundary, 1:periodic boundary + 0 1.0 0.0 # latvec_0 + 1 0.0 1.0 # latvec_1 directions 2 # ndirections @@ -183,8 +183,7 @@ interactions 20 3 2 11 15 0 1 21 0 2 12 13 0 0 22 1 2 13 14 0 0 -23 3 2 14 15 0 0 - +23 3 2 14 15 0 0 From d7180c3274287e51e353cbc21b80ba77cd522d5d Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:10:30 +0900 Subject: [PATCH 16/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 106 +++++++++++++------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index f7381aa5..7e73e293 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -131,59 +131,59 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 0 1.0 0.0 # latvec_0 1 0.0 1.0 # latvec_1 -directions -2 # ndirections -# id, coords... -0 1.0 0.0 -1 0.0 1.0 - -sites -16 # nsites -# id, type, coord... -0 0 0.0 0.0 -1 0 1.0 0.0 -2 0 2.0 0.0 -3 0 3.0 0.0 -4 0 0.0 1.0 -5 0 1.0 1.0 -6 0 2.0 1.0 -7 0 3.0 1.0 -8 0 0.0 2.0 -9 0 1.0 2.0 -10 0 2.0 2.0 -11 0 3.0 2.0 -12 0 0.0 3.0 -13 0 1.0 3.0 -14 0 2.0 3.0 -15 0 3.0 3.0 - -interactions -24 # nints -# id, type, nbody, sites..., edge_flag, direction -0 0 2 0 1 0 0 -1 0 2 0 4 0 1 -2 1 2 1 2 0 0 -3 2 2 1 5 0 1 -4 3 2 2 3 0 0 -5 2 2 2 6 0 1 -6 0 2 3 7 0 1 -7 2 2 4 5 0 0 -8 1 2 4 8 0 1 -9 4 2 5 6 0 0 -10 4 2 5 9 0 1 -11 5 2 6 7 0 0 -12 4 2 6 10 0 1 -13 1 2 7 11 0 1 -14 2 2 8 9 0 0 -15 3 2 8 12 0 1 -16 4 2 9 10 0 0 -17 5 2 9 13 0 1 -18 5 2 10 11 0 0 -19 5 2 10 14 0 1 -20 3 2 11 15 0 1 -21 0 2 12 13 0 0 -22 1 2 13 14 0 0 -23 3 2 14 15 0 0 + directions + 2 # ndirections + # id, coords... + 0 1.0 0.0 + 1 0.0 1.0 + + sites + 16 # nsites + # id, type, coord... + 0 0 0.0 0.0 + 1 0 1.0 0.0 + 2 0 2.0 0.0 + 3 0 3.0 0.0 + 4 0 0.0 1.0 + 5 0 1.0 1.0 + 6 0 2.0 1.0 + 7 0 3.0 1.0 + 8 0 0.0 2.0 + 9 0 1.0 2.0 + 10 0 2.0 2.0 + 11 0 3.0 2.0 + 12 0 0.0 3.0 + 13 0 1.0 3.0 + 14 0 2.0 3.0 + 15 0 3.0 3.0 + + interactions + 24 # nints + # id, type, nbody, sites..., edge_flag, direction + 0 0 2 0 1 0 0 + 1 0 2 0 4 0 1 + 2 1 2 1 2 0 0 + 3 2 2 1 5 0 1 + 4 3 2 2 3 0 0 + 5 2 2 2 6 0 1 + 6 0 2 3 7 0 1 + 7 2 2 4 5 0 0 + 8 1 2 4 8 0 1 + 9 4 2 5 6 0 0 + 10 4 2 5 9 0 1 + 11 5 2 6 7 0 0 + 12 4 2 6 10 0 1 + 13 1 2 7 11 0 1 + 14 2 2 8 9 0 0 + 15 3 2 8 12 0 1 + 16 4 2 9 10 0 0 + 17 5 2 9 13 0 1 + 18 5 2 10 11 0 0 + 19 5 2 10 14 0 1 + 20 3 2 11 15 0 1 + 21 0 2 12 13 0 0 + 22 1 2 13 14 0 0 + 23 3 2 14 15 0 0 From d80f0ee6887819ac29075f861db0e3232403cb42 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:11:48 +0900 Subject: [PATCH 17/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 7e73e293..7102cd46 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -184,6 +184,9 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 21 0 2 12 13 0 0 22 1 2 13 14 0 0 23 3 2 14 15 0 0 + + +次に, kpoints.datを作成します。 From 4f4c24c1706d3e355a13ee4a0a12e9cba1bc3b31 Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:32:58 +0900 Subject: [PATCH 18/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 7102cd46..31899da7 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -186,7 +186,24 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 23 3 2 14 15 0 0 -次に, kpoints.datを作成します。 +次に, kpoints.datを作成します。kpoint.datは波数ベクトルを逆格子ベクトルで展開した際の係数を指定するテキストファイルです. 格子サイズを指定する -sを用いた dla_wvgen -s に std.tomlファイルを与えます:: + + $ dla_wvgen -s "8 8" std.toml + +この結果, 以下の kpoints.datファイルが得られます +:: + + dim + 2 + + kpoints + 4 + 0 0 0 + 1 0 4 + 2 4 0 + 3 4 4 + + From 6bc35a271284e3a09f04b6b26dab54c45b9e202b Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:34:41 +0900 Subject: [PATCH 19/21] Update standard_mode.rst --- doc/jp/dla/tutorial/standard_mode.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/jp/dla/tutorial/standard_mode.rst b/doc/jp/dla/tutorial/standard_mode.rst index 31899da7..cc216bbf 100644 --- a/doc/jp/dla/tutorial/standard_mode.rst +++ b/doc/jp/dla/tutorial/standard_mode.rst @@ -186,7 +186,7 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 23 3 2 14 15 0 0 -次に, kpoints.datを作成します。kpoint.datは波数ベクトルを逆格子ベクトルで展開した際の係数を指定するテキストファイルです. 格子サイズを指定する -sを用いた dla_wvgen -s に std.tomlファイルを与えます:: +次に, kpoints.datを作成します。kpoint.datは波数ベクトルを逆格子ベクトルで展開した際の係数を指定するテキストファイルです. -sを使うことでサイズを指定できます. dla_wvgen -s に std.tomlファイルを与えます:: $ dla_wvgen -s "8 8" std.toml From 9ab1d24ec753f981b767ef088daf6ca84503dc2d Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 25 Feb 2022 11:39:24 +0900 Subject: [PATCH 20/21] Create standard_mode --- doc/en/dla/tutorial/standard_mode | 220 ++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 doc/en/dla/tutorial/standard_mode diff --git a/doc/en/dla/tutorial/standard_mode b/doc/en/dla/tutorial/standard_mode new file mode 100644 index 00000000..cc216bbf --- /dev/null +++ b/doc/en/dla/tutorial/standard_mode @@ -0,0 +1,220 @@ +DSQSS/DLA のスタンダードモードによる反強磁性ハイゼンベルグダイマーの模型や格子の定義 +=============================================================== + +このチュートリアルでは, :math:`S=1/2` 反強磁性ハイゼンベルグダイマーに外部磁場が印加されている系 :math:`\mathcal{H}= \sum_{\langle i,j \rangle}-J_z S^z_i S^z_j -\frac{J_{xy}}{2}(S^+_i S^-_j +S^-_i S^+_j)-h\sum_i S^z_i ,~J_z<0, J_xy<0, h>0` の格子の概形を計算をすることで, +DSQSS/DLA のスタンダードモード使い方を学びます. + +DSQSS/DLA のスタンダードモードによる計算は, + +1. シンプルモードの入力ファイルの準備 +2. スタンダードモードの入力ファイルの作成 +3. 計算の実行 + +の3段階に分かれます. + + +シンプルモードの入力ファイルの準備 +******************** + +DSQSS/DLA を実行するには, + +#. ハミルトニアンの情報 +#. 格子の情報 +#. 逆温度やモンテカルロステップ数などのパラメータの情報 + +を指定したTOML形式のシンプルモードファイル std.tomlが必要です. +そのため, まずはこの入力ファイルを準備します. +反強磁性ハイゼンベルグダイマーのファイルは以下の場所に用意されています +(sample/dla/01_spindimer/std.toml) +:: + + [hamiltonian] + model = "spin" + M = 1 # S=1/2 + Jz = -1.0 # coupling constant, negative for AF + Jxy = -1.0 # coupling constant, negative for AF + h = 0.0 # magnetic field + [lattice] + lattice = "hypercubic" # hypercubic, periodic + dim = 1 # dimension + L = 2 # number of sites along each direction + bc = false # open boundary + [parameter] + beta = 100 # inverse temperature + nset = 5 # set of Monte Carlo sweeps + npre = 10 # MCSteps to estimate hyperparameter + ntherm = 10 # MCSweeps for thermalization + nmcs = 100 # MCSweeps for measurement + seed = 31415 # seed of RNG + +このファイルにz方向の外部磁場の印加の効果を付け加え, 格子の次元とサイトの数をそれぞれ2と4にします +:: + + [hamiltonian] + model = "spin" + M = 1 # S=1/2 + Jz = -1.0 # coupling constant, negative for AF + Jxy = -1.0 # coupling constant, negative for AF + h = 0.5 # magnetic field + [lattice] + lattice = "hypercubic" # hypercubic, periodic + dim = 2 # dimension + L = 4 # number of sites along each direction + bc = false # open boundary + [parameter] + beta = 100 # inverse temperature + nset = 5 # set of Monte Carlo sweeps + npre = 10 # MCSteps to estimate hyperparameter + ntherm = 10 # MCSweeps for thermalization + nmcs = 100 # MCSweeps for measurement + seed = 31415 # seed of RNG + + +スタンダードモードの入力ファイルの作成 +********** + +このファイルを dla_hamgen に与えます. +:: + + $ dla_hamgen std.toml + +この結果, サイトハミルトニアンや多体相互作用の情報を記述するTOML形式のテキストファイル hamiltonian.toml が生成されます. + + +次に, std.toml を dla_latgen に与えます. +:: + + $ dla_latgen -t lattice.toml std.toml + + +この結果, ユニットセルと基本並進ベクトルを用いて空間の情報を記述するTOML形式のテキストファイルlattice.toml が生成されます. + + +計算の実行 +**************** + +lattice.toml を入力ファイルとして, gnuplotファイル lattice.pltを作成できます:: +:: + + $ dla_latgen -g lattice.plt lattice.toml + +lattce.plt を gnuplot に与えると2次元の格子の概形が得られます:: + + +.. figure:: ../../../image/dla/tutorial/2Dlattice.png + :name: fig_2Dlattice + :alt: 2次元格子 + + z方向の外部磁場中の反強磁性ハイゼンベルグスピン鎖の格子の概形. + + + +lattice.datとkpoints.datの作成 +******************** + +lattice.tomlファイルでは格子の情報をユニットセルと基本並進ベクトルを用いて定義しました。一方, lattice.datファイルは格子の情報をサイトの数やサイト間の相互作用を用いて定義します。lattice.datもTOML形式のシンプルモードファイル std.tomlを用いて作成できます。 +上で用いたz方向の外部磁場の印加の効果が入っているstd.tomlを dla_latgen に与えます. +:: + + $ dla_latgen -o lattice.dat std.toml + +この結果, 以下のようなlattice.datファイルが得られます +:: + + name + hypercubic + + lattice + 2 # dim + 4 4 # size + 0 0 # 0:open boundary, 1:periodic boundary + 0 1.0 0.0 # latvec_0 + 1 0.0 1.0 # latvec_1 + + directions + 2 # ndirections + # id, coords... + 0 1.0 0.0 + 1 0.0 1.0 + + sites + 16 # nsites + # id, type, coord... + 0 0 0.0 0.0 + 1 0 1.0 0.0 + 2 0 2.0 0.0 + 3 0 3.0 0.0 + 4 0 0.0 1.0 + 5 0 1.0 1.0 + 6 0 2.0 1.0 + 7 0 3.0 1.0 + 8 0 0.0 2.0 + 9 0 1.0 2.0 + 10 0 2.0 2.0 + 11 0 3.0 2.0 + 12 0 0.0 3.0 + 13 0 1.0 3.0 + 14 0 2.0 3.0 + 15 0 3.0 3.0 + + interactions + 24 # nints + # id, type, nbody, sites..., edge_flag, direction + 0 0 2 0 1 0 0 + 1 0 2 0 4 0 1 + 2 1 2 1 2 0 0 + 3 2 2 1 5 0 1 + 4 3 2 2 3 0 0 + 5 2 2 2 6 0 1 + 6 0 2 3 7 0 1 + 7 2 2 4 5 0 0 + 8 1 2 4 8 0 1 + 9 4 2 5 6 0 0 + 10 4 2 5 9 0 1 + 11 5 2 6 7 0 0 + 12 4 2 6 10 0 1 + 13 1 2 7 11 0 1 + 14 2 2 8 9 0 0 + 15 3 2 8 12 0 1 + 16 4 2 9 10 0 0 + 17 5 2 9 13 0 1 + 18 5 2 10 11 0 0 + 19 5 2 10 14 0 1 + 20 3 2 11 15 0 1 + 21 0 2 12 13 0 0 + 22 1 2 13 14 0 0 + 23 3 2 14 15 0 0 + + +次に, kpoints.datを作成します。kpoint.datは波数ベクトルを逆格子ベクトルで展開した際の係数を指定するテキストファイルです. -sを使うことでサイズを指定できます. dla_wvgen -s に std.tomlファイルを与えます:: + + $ dla_wvgen -s "8 8" std.toml + +この結果, 以下の kpoints.datファイルが得られます +:: + + dim + 2 + + kpoints + 4 + 0 0 0 + 1 0 4 + 2 4 0 + 3 4 4 + + + + + + + + + + + + + + + + From b39386a1bc0df242617468b3b9c113226ebc13df Mon Sep 17 00:00:00 2001 From: MasakiYama <94419424+MasakiYama@users.noreply.github.com> Date: Fri, 25 Feb 2022 12:22:58 +0900 Subject: [PATCH 21/21] Update standard_mode --- doc/en/dla/tutorial/standard_mode | 72 +++++++++++++++++-------------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/doc/en/dla/tutorial/standard_mode b/doc/en/dla/tutorial/standard_mode index cc216bbf..f5cdd9d9 100644 --- a/doc/en/dla/tutorial/standard_mode +++ b/doc/en/dla/tutorial/standard_mode @@ -1,30 +1,29 @@ -DSQSS/DLA のスタンダードモードによる反強磁性ハイゼンベルグダイマーの模型や格子の定義 +Definition of models and lattices of antiferromagnetic Heisenberg dimers by standard mode of DSQSS/DLA =============================================================== -このチュートリアルでは, :math:`S=1/2` 反強磁性ハイゼンベルグダイマーに外部磁場が印加されている系 :math:`\mathcal{H}= \sum_{\langle i,j \rangle}-J_z S^z_i S^z_j -\frac{J_{xy}}{2}(S^+_i S^-_j +S^-_i S^+_j)-h\sum_i S^z_i ,~J_z<0, J_xy<0, h>0` の格子の概形を計算をすることで, -DSQSS/DLA のスタンダードモード使い方を学びます. +In this tutorial, we will consider a system in which an external magnetic field is applied to a :math:`S=1/2` antiferromagnetic Heisenberg dimer :math:`\mathcal{H}= \sum_{\langle i,j \rangle}-J_z S^z_i S^z_j -\frac{J_{xy}}{2}(S^+_i S^-_j +S^-_i S^+_j)-h\sum_i S^z_i ,~J_z<0, J_xy<0, h>0` +by calculating the approximate form of the lattice, +you learn how to use the standard mode of DSQSS/DLA. -DSQSS/DLA のスタンダードモードによる計算は, +The calculations in the standard mode of DSQSS/DLA are as follows -1. シンプルモードの入力ファイルの準備 -2. スタンダードモードの入力ファイルの作成 -3. 計算の実行 +1. prepare an input file for simple mode, +2. create an input file for standard mode, +3. run the calculation. -の3段階に分かれます. -シンプルモードの入力ファイルの準備 +Preparing the input file for simple mode ******************** -DSQSS/DLA を実行するには, +To run DSQSS/DLA, you will need the simple mode file std.toml in TOML format with the following information -#. ハミルトニアンの情報 -#. 格子の情報 -#. 逆温度やモンテカルロステップ数などのパラメータの情報 +#. Hamiltonian Information, +#. Information on lattices, +#. Information on parameters such as inverse temperature and number of Monte Carlo steps. -を指定したTOML形式のシンプルモードファイル std.tomlが必要です. -そのため, まずはこの入力ファイルを準備します. -反強磁性ハイゼンベルグダイマーのファイルは以下の場所に用意されています +Thus, the first step is to prepare this input file. +The file of antiferromagnetic Heisenberg dimer is available in the following location (sample/dla/01_spindimer/std.toml) :: @@ -47,7 +46,8 @@ DSQSS/DLA を実行するには, nmcs = 100 # MCSweeps for measurement seed = 31415 # seed of RNG -このファイルにz方向の外部磁場の印加の効果を付け加え, 格子の次元とサイトの数をそれぞれ2と4にします +To this file, we add the effect of applying an external magnetic field in the z direction, +and set the lattice dimension and the number of sites to 2 and 4, respectively :: [hamiltonian] @@ -70,55 +70,59 @@ DSQSS/DLA を実行するには, seed = 31415 # seed of RNG -スタンダードモードの入力ファイルの作成 +Writing an input file for standard mode ********** -このファイルを dla_hamgen に与えます. +This file is given to dla_hamgen :: $ dla_hamgen std.toml -この結果, サイトハミルトニアンや多体相互作用の情報を記述するTOML形式のテキストファイル hamiltonian.toml が生成されます. +As a result, a text file in TOML format, hamiltonian.toml, +is generated to describe the information of the site Hamiltonian and the many-body interaction. -次に, std.toml を dla_latgen に与えます. +Next, you give std.toml to dla_latgen :: $ dla_latgen -t lattice.toml std.toml -この結果, ユニットセルと基本並進ベクトルを用いて空間の情報を記述するTOML形式のテキストファイルlattice.toml が生成されます. +As a result, a text file in TOML format, lattice.toml, +is generated to describe the information of the space using unit cells and basic translation vectors. -計算の実行 +Running the calculation **************** -lattice.toml を入力ファイルとして, gnuplotファイル lattice.pltを作成できます:: +With lattice.toml as input file, you can create a gnuplot file lattice.plt:: :: $ dla_latgen -g lattice.plt lattice.toml -lattce.plt を gnuplot に与えると2次元の格子の概形が得られます:: +Giving lattce.plt to gnuplot will produce a two-dimensional schematic of the lattice:: .. figure:: ../../../image/dla/tutorial/2Dlattice.png :name: fig_2Dlattice - :alt: 2次元格子 + :alt: Two-dimensional lattice - z方向の外部磁場中の反強磁性ハイゼンベルグスピン鎖の格子の概形. + Schematic of the lattice of an antiferromagnetic Heisenberg spin chain in an external magnetic field in the z direction. -lattice.datとkpoints.datの作成 +Writing lattice.dat and kpoints.dat ******************** -lattice.tomlファイルでは格子の情報をユニットセルと基本並進ベクトルを用いて定義しました。一方, lattice.datファイルは格子の情報をサイトの数やサイト間の相互作用を用いて定義します。lattice.datもTOML形式のシンプルモードファイル std.tomlを用いて作成できます。 -上で用いたz方向の外部磁場の印加の効果が入っているstd.tomlを dla_latgen に与えます. +The lattice.toml file defines the lattice information using unit cells and fundamental translation vectors, +while the lattice.dat file defines the lattice information using the number of sites and interactions between sites. +The lattice.dat file also can be generated using the simple mode file std.toml in TOML format. +You give std.toml to dla_latgen, which contains the effect of applying an external magnetic field in the z direction as used earlier :: $ dla_latgen -o lattice.dat std.toml -この結果, 以下のようなlattice.datファイルが得られます +As a result, you will get the lattice.dat file as follows :: name @@ -186,11 +190,13 @@ lattice.tomlファイルでは格子の情報をユニットセルと基本並 23 3 2 14 15 0 0 -次に, kpoints.datを作成します。kpoint.datは波数ベクトルを逆格子ベクトルで展開した際の係数を指定するテキストファイルです. -sを使うことでサイズを指定できます. dla_wvgen -s に std.tomlファイルを与えます:: +Next, you can create kpoints.dat, +which is a text file that specifies the coefficients of the reciprocal grid vector expansion of the wavenumber vector. +You can specify the size by using -s. Please give the std.toml file to dla_wvgen -s :: $ dla_wvgen -s "8 8" std.toml -この結果, 以下の kpoints.datファイルが得られます +As a result, you will get the following kpoints.dat file :: dim