2 * Copyright (c) 2009 Mauro Iazzi
4 * Permission is hereby granted, free of charge, to any person
5 * obtaining a copy of this software and associated documentation
6 * files (the "Software"), to deal in the Software without
7 * restriction, including without limitation the rights to use,
8 * copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following
13 * The above copyright notice and this permission notice shall be
14 * included in all copies or substantial portions of the Software.
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 * OTHER DEALINGS IN THE SOFTWARE.
56 init
= SpinChain::neel(nspins
);
61 Config (int argc
, char **argv
) {
64 for (int i
=1;i
<argc
;i
++) {
65 if (argv
[i
][0]!='-') {
77 srand(atoi(argv
[++i
]));
80 niter
= atoi(argv
[++i
]);
97 alpha
= atof(argv
[++i
]);
100 nspins
= atoi(argv
[++i
]);
113 if (filename
=="<>") {
114 } else if (filename
!="") {
115 out
.open(filename
.c_str(), std::ofstream::out
);
117 init
= SpinChain::neel(nspins
);
120 out
<< "#!prepend " << alpha
<< "\n";
121 out
<< "#!prepend " << nspins
<< "\n";
122 out
<< "# alpha = " << alpha
<< "\n";
123 out
<< "# number of spins = " << nspins
<< "\n";
124 out
<< "# J = " << J
<< "\n";
125 out
<< "# Delta = " << D
<< "\n";
126 out
<< "# value = " << (M
?"magnetization":"energy") << "\n";
131 #endif // __CONFIG_HPP