FEI
Version of the Day
Loading...
Searching...
No Matches
base
fei_Factory.hpp
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _fei_Factory_hpp_
10
#define _fei_Factory_hpp_
11
12
#include "fei_macros.hpp"
13
#include "fei_mpi.h"
14
#include "fei_VectorSpace.hpp"
15
#include "fei_MatrixGraph.hpp"
16
#include "fei_Matrix.hpp"
17
#include "fei_Vector.hpp"
18
#include "fei_LinearSystem.hpp"
19
#include "fei_Solver.hpp"
20
#include "fei_LibraryWrapper.hpp"
21
#include "FEI.hpp"
22
23
namespace
fei
{
24
//first, a forward declaration...
25
class
ParameterSet;
26
37
class
Factory
:
public
virtual
fei::VectorSpace::Factory
,
38
public
virtual
fei::MatrixGraph::Factory
,
39
public
virtual
fei::Matrix::Factory
,
40
public
virtual
fei::Vector::Factory
,
41
public
virtual
fei::LinearSystem::Factory
,
42
public
virtual
fei::Solver::Factory
{
43
public
:
45
Factory
(MPI_Comm comm);
46
48
virtual
~Factory
();
49
51
virtual
fei::SharedPtr<Factory>
clone
()
const
= 0;
52
55
virtual
void
parameters
(
const
fei::ParameterSet
& paramset);
56
64
virtual
fei::SharedPtr<FEI>
createFEI
(
fei::SharedPtr<LibraryWrapper>
wrapper,
65
MPI_Comm comm);
66
74
virtual
fei::SharedPtr<FEI>
createFEI
(MPI_Comm comm);
75
79
virtual
int
getOutputLevel
()
const
= 0;
80
81
private
:
82
Factory
();
83
Factory
(
const
Factory
& src);
84
};
//class Factory
85
}
//namespace fei
86
87
#endif
// _fei_Factory_hpp_
fei::Factory
Definition
fei_Factory.hpp:42
fei::Factory::clone
virtual fei::SharedPtr< Factory > clone() const =0
fei::Factory::createFEI
virtual fei::SharedPtr< FEI > createFEI(fei::SharedPtr< LibraryWrapper > wrapper, MPI_Comm comm)
Definition
fei_Factory.cpp:65
fei::Factory::~Factory
virtual ~Factory()
Definition
fei_Factory.cpp:31
fei::Factory::parameters
virtual void parameters(const fei::ParameterSet ¶mset)
Definition
fei_Factory.cpp:38
fei::Factory::getOutputLevel
virtual int getOutputLevel() const =0
fei::LinearSystem::Factory
Definition
fei_LinearSystem.hpp:29
fei::MatrixGraph::Factory
Definition
fei_MatrixGraph.hpp:36
fei::Matrix::Factory
Definition
fei_Matrix.hpp:33
fei::ParameterSet
Definition
fei_ParameterSet.hpp:46
fei::SharedPtr
Definition
fei_SharedPtr.hpp:65
fei::Solver::Factory
Definition
fei_Solver.hpp:25
fei::VectorSpace::Factory
Definition
fei_VectorSpace.hpp:65
fei::Vector::Factory
Definition
fei_Vector.hpp:60
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.10.0