ALPS MPS Codes
Reference documentation.
Main Page
Related Pages
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
framework
dmrg
models
coded
factory_none.hpp
Go to the documentation of this file.
1
/*****************************************************************************
2
*
3
* ALPS MPS DMRG Project
4
*
5
* Copyright (C) 2013 Institute for Theoretical Physics, ETH Zurich
6
* 2011-2012 by Michele Dolfi <dolfim@phys.ethz.ch>
7
* 2012 by Jan Gukelberger <gukelberger@phys.ethz.ch>
8
*
9
* This software is part of the ALPS Applications, published under the ALPS
10
* Application License; you can use, redistribute it and/or modify it under
11
* the terms of the license, either version 1 or (at your option) any later
12
* version.
13
*
14
* You should have received a copy of the ALPS Application License along with
15
* the ALPS Applications; see the file LICENSE.txt. If not, the license is also
16
* available from http://alps.comp-phys.org/.
17
*
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
21
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
22
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
23
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24
* DEALINGS IN THE SOFTWARE.
25
*
26
*****************************************************************************/
27
28
#include "
dmrg/models/coded/models_none.hpp
"
29
#include "
dmrg/models/coded/super_models_none.hpp
"
30
31
template
<
class
Matrix>
32
struct
coded_model_factory
<Matrix,
TrivialGroup
> {
33
static
boost::shared_ptr<model_impl<Matrix, TrivialGroup> >
parse
34
(
Lattice
const
& lattice,
BaseParameters
& parms)
35
{
36
typedef
boost::shared_ptr<model_impl<Matrix, TrivialGroup> > impl_ptr;
37
if
(parms[
"MODEL"
] == std::string(
"boson Hubbard"
))
38
return
impl_ptr(
new
BoseHubbardNone<Matrix>
(lattice, parms) );
39
else
if
(parms[
"MODEL"
] == std::string(
"super boson Hubbard"
))
40
return
impl_ptr(
new
SuperBoseHubbardNone<Matrix>
(lattice, parms) );
41
else
{
42
throw
std::runtime_error(
"Don't know this model with NONE symmetry group!"
);
43
return
impl_ptr();
44
}
45
}
46
};
BoseHubbardNone
Definition:
models_none.hpp:38
coded_model_factory
Definition:
factory.h:35
SuperBoseHubbardNone
Definition:
super_models_none.hpp:294
BaseParameters
Definition:
BaseParameters.h:65
models_none.hpp
super_models_none.hpp
Lattice
pimpl resolved Lattice
Definition:
lattice.h:84
coded_model_factory::parse
static boost::shared_ptr< model_impl< Matrix, SymmGroup > > parse(Lattice const &, BaseParameters &)
TrivialGroup
Definition:
none.h:39
Generated on Thu Aug 21 2014 11:18:54 for ALPS MPS Codes by
1.8.7