Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef ALBANY_PROBLEMFACTORY_HPP
00008 #define ALBANY_PROBLEMFACTORY_HPP
00009
00010 #include "Teuchos_ParameterList.hpp"
00011 #include "Teuchos_RCP.hpp"
00012
00013 #include "Albany_AbstractProblem.hpp"
00014
00015 namespace Albany {
00016
00020 class ProblemFactory {
00021 public:
00022
00024 ProblemFactory(const Teuchos::RCP<Teuchos::ParameterList>& problemParams,
00025 const Teuchos::RCP<ParamLib>& paramLib,
00026 const Teuchos::RCP<const Epetra_Comm>& comm);
00027
00029 virtual ~ProblemFactory() {}
00030
00031 virtual Teuchos::RCP<Albany::AbstractProblem>
00032 create();
00033
00034 private:
00035
00037 ProblemFactory(const ProblemFactory&);
00038
00040 ProblemFactory& operator=(const ProblemFactory&);
00041
00042 protected:
00043
00045 Teuchos::RCP<Teuchos::ParameterList> problemParams;
00046
00048 Teuchos::RCP<ParamLib> paramLib;
00049
00051 Teuchos::RCP<const Epetra_Comm> comm;
00052
00053 };
00054
00055 }
00056
00057 #endif // ALBANY_PROBLEMFACTORY_HPP