Dear all,
I want to modify the measurement in the hybridization expansion of dmft and I looked through the source code in alps/applications/dmft/qmc and its two subdirectories hybridization/ and interaction_expansion/. In the hybridization/impurity.h, a paragraph of codes looks
// create measurement objects measurements << RealVectorObservable("n"); measurements << RealVectorObservable("order"); measurements << vec_obs_t("Greens"); measurements << vec_obs_t("Greens_4point"); measurements << vec_obs_t("Greens_4point_ud"); measurements << RealObservable("sign"); measurements << RealObservable("MatrixSize");
measurements << RealVectorObservable("overlap");
Where is the 'measurements' defined?
Hi Kuang-Shing Chen,
the line you quote is in a class HybridizationRun, which is derived from alps::scheduler::MCRun.
MCRun contains the ObservableSet measurements (see montecarlo.h in src/alps/scheduler)
Emanuel
On Jun 27, 2011, at 12:48 PM, Brains Chen wrote:
Dear all,
I want to modify the measurement in the hybridization expansion of dmft and I looked through the source code in alps/applications/dmft/qmc and its two subdirectories hybridization/ and interaction_expansion/. In the hybridization/impurity.h, a paragraph of codes looks
// create measurement objects measurements << RealVectorObservable("n"); measurements << RealVectorObservable("order"); measurements << vec_obs_t("Greens"); measurements << vec_obs_t("Greens_4point"); measurements << vec_obs_t("Greens_4point_ud"); measurements << RealObservable("sign"); measurements << RealObservable("MatrixSize");
measurements << RealVectorObservable("overlap");
Where is the 'measurements' defined?
-- Kuang-Shing Chen
Thanks. It sounds that I don't need to change anything in the alps/scheduler/.
KS Chen
On Mon, Jun 27, 2011 at 7:13 PM, Emanuel Gull gull@itp.phys.ethz.ch wrote:
Hi Kuang-Shing Chen,
the line you quote is in a class HybridizationRun, which is derived from alps::scheduler::MCRun.
MCRun contains the ObservableSet measurements (see montecarlo.h in src/alps/scheduler)
Emanuel
On Jun 27, 2011, at 12:48 PM, Brains Chen wrote:
Dear all,
I want to modify the measurement in the hybridization expansion of dmft and I looked through the source code in alps/applications/dmft/qmc and its two subdirectories hybridization/ and interaction_expansion/. In the hybridization/impurity.h, a paragraph of codes looks
// create measurement objects measurements << RealVectorObservable("n"); measurements << RealVectorObservable("order"); measurements << vec_obs_t("Greens"); measurements << vec_obs_t("Greens_4point"); measurements << vec_obs_t("Greens_4point_ud"); measurements << RealObservable("sign"); measurements << RealObservable("MatrixSize");
measurements << RealVectorObservable("overlap");
Where is the 'measurements' defined?
-- Kuang-Shing Chen
Indeed, there is no need to change anything in alps/scheduler . Just add your extra observables to measurements i9n the style of the others.
Matthias
On 27 Jun 2011, at 19:30, Brains Chen wrote:
Thanks. It sounds that I don't need to change anything in the alps/scheduler/.
KS Chen
On Mon, Jun 27, 2011 at 7:13 PM, Emanuel Gull gull@itp.phys.ethz.ch wrote: Hi Kuang-Shing Chen,
the line you quote is in a class HybridizationRun, which is derived from alps::scheduler::MCRun.
MCRun contains the ObservableSet measurements (see montecarlo.h in src/alps/scheduler)
Emanuel
On Jun 27, 2011, at 12:48 PM, Brains Chen wrote:
Dear all,
I want to modify the measurement in the hybridization expansion of dmft and I looked through the source code in alps/applications/dmft/qmc and its two subdirectories hybridization/ and interaction_expansion/. In the hybridization/impurity.h, a paragraph of codes looks
// create measurement objects measurements << RealVectorObservable("n"); measurements << RealVectorObservable("order"); measurements << vec_obs_t("Greens"); measurements << vec_obs_t("Greens_4point"); measurements << vec_obs_t("Greens_4point_ud"); measurements << RealObservable("sign"); measurements << RealObservable("MatrixSize");
measurements << RealVectorObservable("overlap");
Where is the 'measurements' defined?
-- Kuang-Shing Chen
-- Kuang-Shing Chen
Dear all,
I intend to perform a DMRG calculation for a dimerized antiferromagnetic chain, i.e.
H=J\sum(1+(-1)^j d)S_j S_j+1.
I'm not quite sure, if I use the proper definitions in my program. Thus I would like to reassure myself. Do you think, it will be appropriate to run the program with the following specifications?
LATTICE="open chain lattice" LATTICE_LIBRARY="C:\Programme\ALPS\lib\xml\lattices.xml" MODEL_LIBRARY="C:\Programme\ALPS\lib\xml\models.xml" MODEL="spin" CONSERVED_QUANTUMNUMBERS="N,Sz" Sz_total=0 J=1 J2=2 SWEEPS=6 NUMBER_EIGENVALUES=1 MEASURE_AVERAGE[Magnetization]=Sz MEASURE_AVERAGE[Exchange]=exchange MEASURE_LOCAL[Local magnetization]=Sz MEASURE_CORRELATIONS[Diagonal spin correlations]=Sz MEASURE_CORRELATIONS[Offdiagonal spin correlations]="Splus:Sminus" L=100 { MAXSTATES=30 }
Any helpfull comment would be highly appreciated.
Best regards,
Alex
Hi, Alexander,
On Thu, Jul 21, 2011 at 4:06 PM, Alexander Herzog A.Herzog@fkf.mpg.de wrote:
I intend to perform a DMRG calculation for a dimerized antiferromagnetic chain, i.e.
H=J\sum(1+(-1)^j d)S_j S_j+1.
I'm not quite sure, if I use the proper definitions in my program. Thus I would like to reassure myself. Do you think, it will be appropriate to run the program with the following specifications?
LATTICE="open chain lattice" LATTICE_LIBRARY="C:\Programme\ALPS\lib\xml\lattices.xml" MODEL_LIBRARY="C:\Programme\ALPS\lib\xml\models.xml" MODEL="spin" CONSERVED_QUANTUMNUMBERS="N,Sz" Sz_total=0 J=1 J2=2 SWEEPS=6 NUMBER_EIGENVALUES=1 MEASURE_AVERAGE[Magnetization]=Sz MEASURE_AVERAGE[Exchange]=exchange MEASURE_LOCAL[Local magnetization]=Sz MEASURE_CORRELATIONS[Diagonal spin correlations]=Sz MEASURE_CORRELATIONS[Offdiagonal spin correlations]="Splus:Sminus" L=100 { MAXSTATES=30 }
J2 is the coupling for J_{2} S_{i} S_{i+2} (second nearest neighbor). I think your expression and the
Actually, parameters allow arithmetic calculation, therefore adding "inhomogeneous open chain lattice" in the lattices.xml file[1] and setting J in the parameter file as:
LATTICE="inhomogeneous open chain lattice" J=(1+(-1)^x)
will give you exactly what you want.
[1] "inhomogeneous open chain lattice" can be defined by following element: <LATTICEGRAPH name = "inhomogeneous open chain lattice"> <FINITELATTICE> <LATTICE ref="chain lattice"/> <EXTENT dimension="1" size ="L"/> <BOUNDARY type="open"/> </FINITELATTICE> <UNITCELL ref="simple1d"/> <INHOMOGENEOUS><VERTEX/></INHOMOGENEOUS> </LATTICEGRAPH>
Best regards,
The better solution is to create a 2-site unit cell, and call one coupling J0 and the other J1.
Matthias
On Jul 21, 2011, at 6:14 AM, Ryo IGARASHI wrote:
Hi, Alexander,
On Thu, Jul 21, 2011 at 4:06 PM, Alexander Herzog A.Herzog@fkf.mpg.de wrote:
I intend to perform a DMRG calculation for a dimerized antiferromagnetic chain, i.e.
H=J\sum(1+(-1)^j d)S_j S_j+1.
I'm not quite sure, if I use the proper definitions in my program. Thus I would like to reassure myself. Do you think, it will be appropriate to run the program with the following specifications?
LATTICE="open chain lattice" LATTICE_LIBRARY="C:\Programme\ALPS\lib\xml\lattices.xml" MODEL_LIBRARY="C:\Programme\ALPS\lib\xml\models.xml" MODEL="spin" CONSERVED_QUANTUMNUMBERS="N,Sz" Sz_total=0 J=1 J2=2 SWEEPS=6 NUMBER_EIGENVALUES=1 MEASURE_AVERAGE[Magnetization]=Sz MEASURE_AVERAGE[Exchange]=exchange MEASURE_LOCAL[Local magnetization]=Sz MEASURE_CORRELATIONS[Diagonal spin correlations]=Sz MEASURE_CORRELATIONS[Offdiagonal spin correlations]="Splus:Sminus" L=100 { MAXSTATES=30 }
J2 is the coupling for J_{2} S_{i} S_{i+2} (second nearest neighbor). I think your expression and the
Actually, parameters allow arithmetic calculation, therefore adding "inhomogeneous open chain lattice" in the lattices.xml file[1] and setting J in the parameter file as:
LATTICE="inhomogeneous open chain lattice" J=(1+(-1)^x)
will give you exactly what you want.
[1] "inhomogeneous open chain lattice" can be defined by following element:
<LATTICEGRAPH name = "inhomogeneous open chain lattice"> <FINITELATTICE> <LATTICE ref="chain lattice"/> <EXTENT dimension="1" size ="L"/> <BOUNDARY type="open"/> </FINITELATTICE> <UNITCELL ref="simple1d"/> <INHOMOGENEOUS><VERTEX/></INHOMOGENEOUS> </LATTICEGRAPH>
Best regards,
Ryo IGARASHI, Ph.D. rigarash@hosi.phys.s.u-tokyo.ac.jp OpenPGP fingerprint: BAD9 71E3 28F3 8952 5640 6A53 EC79 A280 6A19 2319
Dear Prof. Troyer,
I have tried to follow your suggestion. Unfortunately when I want to run the simulation I recieve the following error message:
encountered unknown tag <VERTEX> while parsing <LATTICES> Cannot open simulation file 'filename' Task 1 does not exist Finished with everything
I guess I must have produced an error with my lattice. So here is the lattice definition:
<LATTICE name="dimerized chain" dimension="1"> <BASIS> <VECTOR> 2 </VECTOR> </BASIS> </LATTICE> <FINITELATTICE name="dimcha" dimension="1"> <LATTICE ref="dimerized chain"/> <EXTENT dimension="1" size="L"/> <BOUNDARY type="periodic"/> </FINITELATTICE> <UNITCELL name="alternation" dimension="1" vertices="2"/> <VERTEX id="1" type="0"><COORDINATE> 1 </COORDINATE></VERTEX> <VERTEX id="2" type="1"><COORDINNATE> 2 </COORDINATE></VERTEX> <EDGE><SOURCE vertex="1" offset="0"/><TARGET vertex="2" offset="0"></EDGE> <EDGE><SOURCE vertex="2" offset="0"/><TARGET vertex="1" offset="1"></EDGE> </UNITCELL> <LATTICEGRAPH ref="dicha"> <FINITELATTICE ref="dimcha"/> <UNITCELL ref="alternation"/> </LATTICEGRAPH>
I would be very grateful, if you could give me an additional hint, what went wrong.
Another question in advance:
Given, that the lattice works in the way I want, will it then be sufficient, to solely give the parameters J and J1 in the parameter file or do I have to implement that yet (say in the model library or something like that)?
Thank you in advance.
Best regards,
Alexander
Zitat von Matthias Troyer troyer@phys.ethz.ch:
The better solution is to create a 2-site unit cell, and call one coupling J0 and the other J1.
Matthias
On Jul 21, 2011, at 6:14 AM, Ryo IGARASHI wrote:
Hi, Alexander,
On Thu, Jul 21, 2011 at 4:06 PM, Alexander Herzog A.Herzog@fkf.mpg.de wrote:
I intend to perform a DMRG calculation for a dimerized antiferromagnetic chain, i.e.
H=J\sum(1+(-1)^j d)S_j S_j+1.
I'm not quite sure, if I use the proper definitions in my program. Thus I would like to reassure myself. Do you think, it will be appropriate to run the program with the following specifications?
LATTICE="open chain lattice" LATTICE_LIBRARY="C:\Programme\ALPS\lib\xml\lattices.xml" MODEL_LIBRARY="C:\Programme\ALPS\lib\xml\models.xml" MODEL="spin" CONSERVED_QUANTUMNUMBERS="N,Sz" Sz_total=0 J=1 J2=2 SWEEPS=6 NUMBER_EIGENVALUES=1 MEASURE_AVERAGE[Magnetization]=Sz MEASURE_AVERAGE[Exchange]=exchange MEASURE_LOCAL[Local magnetization]=Sz MEASURE_CORRELATIONS[Diagonal spin correlations]=Sz MEASURE_CORRELATIONS[Offdiagonal spin correlations]="Splus:Sminus" L=100 { MAXSTATES=30 }
J2 is the coupling for J_{2} S_{i} S_{i+2} (second nearest neighbor). I think your expression and the
Actually, parameters allow arithmetic calculation, therefore adding "inhomogeneous open chain lattice" in the lattices.xml file[1] and setting J in the parameter file as:
LATTICE="inhomogeneous open chain lattice" J=(1+(-1)^x)
will give you exactly what you want.
[1] "inhomogeneous open chain lattice" can be defined by following element:
<LATTICEGRAPH name = "inhomogeneous open chain lattice"> <FINITELATTICE> <LATTICE ref="chain lattice"/> <EXTENT dimension="1" size ="L"/> <BOUNDARY type="open"/> </FINITELATTICE> <UNITCELL ref="simple1d"/> <INHOMOGENEOUS><VERTEX/></INHOMOGENEOUS> </LATTICEGRAPH>
Best regards,
Ryo IGARASHI, Ph.D. rigarash@hosi.phys.s.u-tokyo.ac.jp OpenPGP fingerprint: BAD9 71E3 28F3 8952 5640 6A53 EC79 A280 6A19 2319
comp-phys-alps-users@lists.phys.ethz.ch