FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
snl_fei_Factory.hpp
Go to the documentation of this file.
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 _snl_fei_Factory_hpp_
10#define _snl_fei_Factory_hpp_
11
12#include <fei_macros.hpp>
13#include <fei_Factory.hpp>
14#include <fei_VectorSpace.hpp>
17#include <fei_Solver.hpp>
20#include <fei_utils.hpp>
21#include <fei_Reducer.hpp>
22#include <fei_MatrixReducer.hpp>
23#include <fei_VectorReducer.hpp>
24#include <fei_ParameterSet.hpp>
26
27#undef fei_file
28#define fei_file "snl_fei_Factory.hpp"
29#include <fei_ErrMacros.hpp>
30
31namespace snl_fei {
32
35 class Factory : public virtual fei::Factory {
36 public:
39
42
44 Factory(MPI_Comm comm,
45 fei::SharedPtr<FiniteElementData> feData, int nodeIDType);
46
48 virtual ~Factory();
49
50
53
55 virtual void parameters(const fei::ParameterSet& parameterset);
56
62 const char* name);
63
67 int numVectors=1);
68
71 bool isSolutionVector,
72 int numVectors=1);
73
77 int numVectors=1);
78
82 bool isSolutionVector,
83 int numVectors=1);
84
87
92
94 virtual fei::SharedPtr<fei::Solver> createSolver(const char* name=0);
95
98
99 int getOutputLevel() const;
100
101 private:
103
106
109
114
116
122 };//class Factory
123}//namespace snl_fei
124
125#endif // _snl_fei_Factory_hpp_
126
fei::SharedPtr< LibraryWrapper > get_LibraryWrapper() const
virtual fei::SharedPtr< fei::Solver > createSolver(const char *name=0)
int createBroker_LinSysCore(fei::SharedPtr< fei::MatrixGraph > matrixGraph, fei::SharedPtr< LinearSystemCore > lsc)
virtual fei::SharedPtr< fei::Vector > createVector(fei::SharedPtr< fei::VectorSpace > vecSpace, int numVectors=1)
virtual fei::SharedPtr< fei::MatrixGraph > createMatrixGraph(fei::SharedPtr< fei::VectorSpace > rowSpace, fei::SharedPtr< fei::VectorSpace > columnSpace, const char *name)
fei::SharedPtr< fei::Reducer > reducer_
virtual fei::SharedPtr< fei::LinearSystem > createLinearSystem(fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
fei::SharedPtr< LinearSystemCore > lsc_
virtual fei::SharedPtr< fei::Matrix > createMatrix(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
int createBroker(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
int createBroker_FEData(fei::SharedPtr< fei::MatrixGraph > matrixGraph, fei::SharedPtr< FiniteElementData > feData)
fei::SharedPtr< fei::MatrixGraph > matrixGraph_
fei::SharedPtr< fei::Factory > clone() const
fei::SharedPtr< LibraryWrapper > wrapper_
int getOutputLevel() const
fei::SharedPtr< snl_fei::Broker > broker_
fei::SharedPtr< FiniteElementData > feData_
#define MPI_Comm
Definition: fei_mpi.h:56