#include "CreatorMap.h" #include "OEMSolver.h" #include "ITL_Solver.h" #include "ITL_Preconditioner.h" #include "NonLinSolver.h" #include "MatrixVector.h" #include "SystemVector.h" #include "Estimator.h" #include "RecoveryEstimator.h" #include "ResidualEstimator.h" #include "pollutionError_konvex.h" #include "LeafData.h" #include "SurfaceRegion_ED.h" #include "DOFMatrix.h" #include "ElementRegion_ED.h" #include "UmfPackSolver.h" namespace AMDiS { template<> void CreatorMap::addDefaultCreators() { OEMSolverCreator *creator; creator = new CGSolver::Creator; addCreator("cg", creator); creator = new BiCGSolver::Creator; addCreator("bicg", creator); creator = new BiCGStab::Creator; addCreator("bicgstab", creator); creator = new BiCGStab2::Creator; addCreator("bicgstab2", creator); creator = new BiCGStabEll::Creator; addCreator("bicgstab_ell", creator); #ifdef HAVE_UMFPACK creator = new UmfPackSolver::Creator; addCreator("umfpack", creator); #endif } template<> void CreatorMap::addDefaultCreators() { CreatorInterface *creator; creator = new DiagonalPreconditioner::Creator; addCreator("diag", creator); creator = new ILUPreconditioner::Creator; addCreator("ilu", creator); creator = new ICPreconditioner::Creator; addCreator("ic", creator); creator = new IdentityPreconditioner::Creator; addCreator("no", creator); } #if 0 template<> void CreatorMap > >::addDefaultCreators() { NonLinSolverCreator > *creator; creator = new Newton >::Creator; addCreator("newton", creator); creator = new NewtonS >::Creator; addCreator("newton_fs", creator); } #endif #if 0 template<> void CreatorMap >::addDefaultCreators() { NonLinSolverCreator *creator; creator = new Newton::Creator; addCreator("newton", creator); creator = new NewtonS::Creator; addCreator("newton_fs", creator); } #endif template<> void CreatorMap::addDefaultCreators() { EstimatorCreator *creator; creator = new ResidualEstimator::Creator; addCreator("residual", creator); creator = new RecoveryEstimator::Creator; addCreator("recovery", creator); creator = new PollutionErrorKonvex::Creator; addCreator("pollution2d",creator); } template<> void CreatorMap::addDefaultCreators() { CreatorInterface *creator; creator = new LeafDataEstimatable::Creator; addCreator("LeafDataEstimatable", creator); creator = new LeafDataEstimatableVec::Creator; addCreator("LeafDataEstimatableVec", creator); creator = new LeafDataCoarsenable::Creator; addCreator("LeafDataCoarsenable", creator); creator = new LeafDataCoarsenableVec::Creator; addCreator("LeafDataCoarsenableVec", creator); creator = new LeafDataPeriodic::Creator; addCreator("LeafDataPeriodic", creator); creator = new SurfaceRegion_ED::Creator; addCreator("SurfaceRegion_ED", creator); creator = new ElementRegion_ED::Creator; addCreator("ElementRegion_ED", creator); } }