FV3 Bundle
instantiateMinFactory.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2009-2016 ECMWF.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 #ifndef OOPS_ASSIMILATION_INSTANTIATEMINFACTORY_H_
12 #define OOPS_ASSIMILATION_INSTANTIATEMINFACTORY_H_
13 
30 
31 
32 namespace oops {
33 
34 template <typename MODEL> void instantiateMinFactory() {
35  static MinMaker<MODEL, DRGMRESRMinimizer<MODEL> > makerDRGMRESR_("DRGMRESR");
36  static MinMaker<MODEL, DRIPCGMinimizer<MODEL> > makerDRIPCG_("DRIPCG");
37  static MinMaker<MODEL, GMRESRMinimizer<MODEL> > makerGMRESR_("GMRESR");
38  static MinMaker<MODEL, IPCGMinimizer<MODEL> > makerIPCG_("IPCG");
39  static MinMaker<MODEL, SaddlePointMinimizer<MODEL> > makerSADDLE_("SaddlePoint");
40  static MinMaker<MODEL, RPCGMinimizer<MODEL> > makerRPCG_("RPCG");
41  static MinMaker<MODEL, DRPCGMinimizer<MODEL> > makerDRPCG_("DRPCG");
42  static MinMaker<MODEL, DRPFOMMinimizer<MODEL> > makerDRPFOM_("DRPFOM");
43  static MinMaker<MODEL, LBGMRESRMinimizer<MODEL> > makerBDRPCG_("LBGMRESR");
44  static MinMaker<MODEL, DRPLanczosMinimizer<MODEL> > makerDRPLanczos_("DRPLanczos");
45  static MinMaker<MODEL, PCGMinimizer<MODEL> > makerPCG_("PCG");
46  static MinMaker<MODEL, PLanczosMinimizer<MODEL> > makerPLanczos_("PLanczos");
47  static MinMaker<MODEL, RPLanczosMinimizer<MODEL> > makerRPLanczos_("RPLanczos");
48  static MinMaker<MODEL, MINRESMinimizer<MODEL> > makerMINRES_("MINRES");
49  static MinMaker<MODEL, FGMRESMinimizer<MODEL> > makerFGMRES_("FGMRES");
50 }
51 
52 } // namespace oops
53 
54 #endif // OOPS_ASSIMILATION_INSTANTIATEMINFACTORY_H_
The namespace for the main oops code.
void instantiateMinFactory()