FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
fei_LinearProblemManager.hpp
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2006 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_LinearProblemManager_hpp_
10
#define _fei_LinearProblemManager_hpp_
11
12
#include <fei_macros.hpp>
13
#include <fei_SharedPtr.hpp>
14
#include <fei_mpi.h>
15
16
#include <vector>
17
18
namespace
fei
{
19
class
ParameterSet
;
20
class
SparseRowGraph
;
21
24
class
LinearProblemManager
{
25
public
:
27
29
virtual
~LinearProblemManager
(){}
30
32
33
38
virtual
void
setRowDistribution
(
const
std::vector<int>& ownedGlobalRows)=0;
39
43
virtual
void
setMatrixGraph
(
fei::SharedPtr<fei::SparseRowGraph>
matrixGraph)=0;
44
46
47
50
virtual
void
setMatrixValues
(
double
scalar)=0;
51
55
virtual
int
getLocalNumRows
()=0;
56
60
virtual
int
getRowLength
(
int
row)=0;
61
77
virtual
int
copyOutMatrixRow
(
int
row,
78
int
len,
79
double
* coefs,
80
int
* indices)=0;
81
89
virtual
int
insertMatrixValues
(
int
numRows,
const
int
* rows,
90
int
numCols,
const
int
* cols,
91
const
double
*
const
* values,
92
bool
sum_into)=0;
93
95
96
104
virtual
void
setVectorValues
(
double
scalar,
bool
soln_vector)=0;
105
131
virtual
int
insertVectorValues
(
int
numValues,
132
const
int
* globalIndices,
133
const
double
* values,
134
bool
sum_into,
135
bool
soln_vector,
136
int
vectorIndex=0)=0;
137
141
virtual
int
copyOutVectorValues
(
int
numValues,
142
const
int
* globalIndices,
143
double
* values,
144
bool
soln_vector,
145
int
vectorIndex=0) = 0;
146
152
virtual
double
*
getLocalVectorValuesPtr
(
bool
soln_vector,
153
int
vectorIndex=0) = 0;
155
156
162
virtual
int
globalAssemble
() = 0;
164
};
//class LinearProblemManager
165
166
}
//namespace fei
167
168
#endif
// _fei_LinearProblemManager_hpp_
169
fei::LinearProblemManager
Definition
fei_LinearProblemManager.hpp:24
fei::LinearProblemManager::~LinearProblemManager
virtual ~LinearProblemManager()
Definition
fei_LinearProblemManager.hpp:29
fei::LinearProblemManager::setMatrixGraph
virtual void setMatrixGraph(fei::SharedPtr< fei::SparseRowGraph > matrixGraph)=0
fei::LinearProblemManager::copyOutMatrixRow
virtual int copyOutMatrixRow(int row, int len, double *coefs, int *indices)=0
fei::LinearProblemManager::setMatrixValues
virtual void setMatrixValues(double scalar)=0
fei::LinearProblemManager::getLocalVectorValuesPtr
virtual double * getLocalVectorValuesPtr(bool soln_vector, int vectorIndex=0)=0
fei::LinearProblemManager::setRowDistribution
virtual void setRowDistribution(const std::vector< int > &ownedGlobalRows)=0
fei::LinearProblemManager::copyOutVectorValues
virtual int copyOutVectorValues(int numValues, const int *globalIndices, double *values, bool soln_vector, int vectorIndex=0)=0
fei::LinearProblemManager::insertMatrixValues
virtual int insertMatrixValues(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)=0
fei::LinearProblemManager::insertVectorValues
virtual int insertVectorValues(int numValues, const int *globalIndices, const double *values, bool sum_into, bool soln_vector, int vectorIndex=0)=0
fei::LinearProblemManager::globalAssemble
virtual int globalAssemble()=0
fei::LinearProblemManager::getLocalNumRows
virtual int getLocalNumRows()=0
fei::LinearProblemManager::setVectorValues
virtual void setVectorValues(double scalar, bool soln_vector)=0
fei::LinearProblemManager::getRowLength
virtual int getRowLength(int row)=0
fei::ParameterSet
Definition
fei_ParameterSet.hpp:46
fei::SharedPtr
Definition
fei_SharedPtr.hpp:65
fei::SparseRowGraph
Definition
fei_SparseRowGraph.hpp:23
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.17.0