FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
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
>
15
#include <
snl_fei_Broker_FEData.hpp
>
16
#include <
snl_fei_Broker_LinSysCore.hpp
>
17
#include <
fei_Solver.hpp
>
18
#include <
fei_LinearSystemCore.hpp
>
19
#include <
fei_LibraryWrapper.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
>
25
#include <
fei_MatrixGraph_Impl2.hpp
>
26
27
#undef fei_file
28
#define fei_file "snl_fei_Factory.hpp"
29
#include <
fei_ErrMacros.hpp
>
30
31
namespace
snl_fei
{
32
35
class
Factory
:
public
virtual
fei::Factory
{
36
public
:
38
Factory
(
MPI_Comm
comm,
fei::SharedPtr<LibraryWrapper>
wrapper);
39
41
Factory
(
MPI_Comm
comm,
fei::SharedPtr<LinearSystemCore>
lsc);
42
44
Factory
(
MPI_Comm
comm,
45
fei::SharedPtr<FiniteElementData>
feData,
int
nodeIDType);
46
48
virtual
~Factory
();
49
50
52
fei::SharedPtr<fei::Factory>
clone
()
const
;
53
55
virtual
void
parameters
(
const
fei::ParameterSet
& parameterset);
56
59
virtual
fei::SharedPtr<fei::MatrixGraph>
60
createMatrixGraph
(
fei::SharedPtr<fei::VectorSpace>
rowSpace,
61
fei::SharedPtr<fei::VectorSpace>
columnSpace,
62
const
char
* name);
63
65
virtual
fei::SharedPtr<fei::Vector>
66
createVector
(
fei::SharedPtr<fei::VectorSpace>
vecSpace,
67
int
numVectors=1);
68
70
virtual
fei::SharedPtr<fei::Vector>
createVector
(
fei::SharedPtr<fei::VectorSpace>
vecSpace,
71
bool
isSolutionVector,
72
int
numVectors=1);
73
75
virtual
fei::SharedPtr<fei::Vector>
76
createVector
(
fei::SharedPtr<fei::MatrixGraph>
matrixGraph,
77
int
numVectors=1);
78
80
virtual
fei::SharedPtr<fei::Vector>
81
createVector
(
fei::SharedPtr<fei::MatrixGraph>
matrixGraph,
82
bool
isSolutionVector,
83
int
numVectors=1);
84
86
virtual
fei::SharedPtr<fei::Matrix>
createMatrix
(
fei::SharedPtr<fei::MatrixGraph>
matrixGraph);
87
90
virtual
fei::SharedPtr<fei::LinearSystem>
91
createLinearSystem
(
fei::SharedPtr<fei::MatrixGraph>
& matrixGraph);
92
94
virtual
fei::SharedPtr<fei::Solver>
createSolver
(
const
char
* name=0);
95
97
fei::SharedPtr<LibraryWrapper>
get_LibraryWrapper
()
const
;
98
99
int
getOutputLevel
()
const
;
100
101
private
:
102
int
createBroker
(
fei::SharedPtr<fei::MatrixGraph>
matrixGraph);
103
104
int
createBroker_LinSysCore
(
fei::SharedPtr<fei::MatrixGraph>
matrixGraph,
105
fei::SharedPtr<LinearSystemCore>
lsc);
106
107
int
createBroker_FEData
(
fei::SharedPtr<fei::MatrixGraph>
matrixGraph,
108
fei::SharedPtr<FiniteElementData>
feData);
109
110
MPI_Comm
comm_
;
111
fei::SharedPtr<snl_fei::Broker>
broker_
;
112
fei::SharedPtr<fei::MatrixGraph>
matrixGraph_
;
113
fei::SharedPtr<fei::Reducer>
reducer_
;
114
115
int
nodeIDType_
;
116
117
fei::SharedPtr<LinearSystemCore>
lsc_
;
118
fei::SharedPtr<FiniteElementData>
feData_
;
119
fei::SharedPtr<LibraryWrapper>
wrapper_
;
120
int
outputLevel_
;
121
bool
blockMatrix_
;
122
};
//class Factory
123
}
//namespace snl_fei
124
125
#endif
// _snl_fei_Factory_hpp_
126
fei::Factory
Definition
fei_Factory.hpp:42
fei::Factory::Factory
Factory()
fei::ParameterSet
Definition
fei_ParameterSet.hpp:46
fei::SharedPtr
Definition
fei_SharedPtr.hpp:65
snl_fei::Factory::get_LibraryWrapper
fei::SharedPtr< LibraryWrapper > get_LibraryWrapper() const
Definition
snl_fei_Factory.cpp:307
snl_fei::Factory::createSolver
virtual fei::SharedPtr< fei::Solver > createSolver(const char *name=0)
Definition
snl_fei_Factory.cpp:299
snl_fei::Factory::createBroker_LinSysCore
int createBroker_LinSysCore(fei::SharedPtr< fei::MatrixGraph > matrixGraph, fei::SharedPtr< LinearSystemCore > lsc)
Definition
snl_fei_Factory.cpp:335
snl_fei::Factory::outputLevel_
int outputLevel_
Definition
snl_fei_Factory.hpp:120
snl_fei::Factory::createVector
virtual fei::SharedPtr< fei::Vector > createVector(fei::SharedPtr< fei::VectorSpace > vecSpace, int numVectors=1)
Definition
snl_fei_Factory.cpp:167
snl_fei::Factory::Factory
Factory(MPI_Comm comm, fei::SharedPtr< LibraryWrapper > wrapper)
Definition
snl_fei_Factory.cpp:16
snl_fei::Factory::~Factory
virtual ~Factory()
Definition
snl_fei_Factory.cpp:68
snl_fei::Factory::createMatrixGraph
virtual fei::SharedPtr< fei::MatrixGraph > createMatrixGraph(fei::SharedPtr< fei::VectorSpace > rowSpace, fei::SharedPtr< fei::VectorSpace > columnSpace, const char *name)
Definition
snl_fei_Factory.cpp:156
snl_fei::Factory::reducer_
fei::SharedPtr< fei::Reducer > reducer_
Definition
snl_fei_Factory.hpp:113
snl_fei::Factory::createLinearSystem
virtual fei::SharedPtr< fei::LinearSystem > createLinearSystem(fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
Definition
snl_fei_Factory.cpp:274
snl_fei::Factory::lsc_
fei::SharedPtr< LinearSystemCore > lsc_
Definition
snl_fei_Factory.hpp:117
snl_fei::Factory::createMatrix
virtual fei::SharedPtr< fei::Matrix > createMatrix(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
Definition
snl_fei_Factory.cpp:249
snl_fei::Factory::createBroker
int createBroker(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
Definition
snl_fei_Factory.cpp:320
snl_fei::Factory::createBroker_FEData
int createBroker_FEData(fei::SharedPtr< fei::MatrixGraph > matrixGraph, fei::SharedPtr< FiniteElementData > feData)
Definition
snl_fei_Factory.cpp:348
snl_fei::Factory::matrixGraph_
fei::SharedPtr< fei::MatrixGraph > matrixGraph_
Definition
snl_fei_Factory.hpp:112
snl_fei::Factory::clone
fei::SharedPtr< fei::Factory > clone() const
Definition
snl_fei_Factory.cpp:74
snl_fei::Factory::wrapper_
fei::SharedPtr< LibraryWrapper > wrapper_
Definition
snl_fei_Factory.hpp:119
snl_fei::Factory::comm_
MPI_Comm comm_
Definition
snl_fei_Factory.hpp:110
snl_fei::Factory::getOutputLevel
int getOutputLevel() const
Definition
snl_fei_Factory.cpp:313
snl_fei::Factory::nodeIDType_
int nodeIDType_
Definition
snl_fei_Factory.hpp:115
snl_fei::Factory::broker_
fei::SharedPtr< snl_fei::Broker > broker_
Definition
snl_fei_Factory.hpp:111
snl_fei::Factory::feData_
fei::SharedPtr< FiniteElementData > feData_
Definition
snl_fei_Factory.hpp:118
snl_fei::Factory::blockMatrix_
bool blockMatrix_
Definition
snl_fei_Factory.hpp:121
snl_fei::Factory::parameters
virtual void parameters(const fei::ParameterSet ¶meterset)
Definition
snl_fei_Factory.cpp:92
fei_ErrMacros.hpp
fei_Factory.hpp
fei_LibraryWrapper.hpp
fei_LinearSystemCore.hpp
fei_MatrixGraph_Impl2.hpp
fei_MatrixReducer.hpp
fei_ParameterSet.hpp
fei_Reducer.hpp
fei_Solver.hpp
fei_VectorReducer.hpp
fei_VectorSpace.hpp
fei_macros.hpp
MPI_Comm
#define MPI_Comm
Definition
fei_mpi.h:56
fei_utils.hpp
snl_fei
Definition
fei_MatrixGraph_Impl2.cpp:46
snl_fei_Broker_FEData.hpp
snl_fei_Broker_LinSysCore.hpp
Generated by
1.17.0