FEI Version of the Day
Loading...
Searching...
No Matches
fei_ProcEqns.hpp
1#ifndef _ProcEqns_hpp_
2#define _ProcEqns_hpp_
3
4/*--------------------------------------------------------------------*/
5/* Copyright 2005 Sandia Corporation. */
6/* Under the terms of Contract DE-AC04-94AL85000, there is a */
7/* non-exclusive license for use of this work by or on behalf */
8/* of the U.S. Government. Export of this program may require */
9/* a license from the United States Government. */
10/*--------------------------------------------------------------------*/
11
27class ProcEqns {
28 public:
30 ProcEqns();
32 virtual ~ProcEqns();
33
38
40 size_t getNumProcs() {return(procs_.size());}
41
43 std::vector<int>& procsPtr() {return(procs_);}
44
48 std::vector<int>& eqnsPerProcPtr() {return(eqnsPerProc_);}
49
53 std::vector<std::vector<int>*>& procEqnNumbersPtr() {return(procEqnNumbers_);}
54
58 std::vector<std::vector<int>*>& procEqnLengthsPtr() {return(procEqnLengths_);}
59
63 void addEqn(int eqnNumber, int proc);
64
69 void addEqn(int eqnNumber, int eqnLength, int proc);
70
81 void setProcEqnLengths(int* eqnNumbers, int* eqnLengths, int len);
82
83 private:
84 void deleteMemory();
85 void internalAddEqn(int eqnNumber, int eqnLength, int proc);
86
87 std::vector<int> procs_;
88 std::vector<int> eqnsPerProc_;
89 std::vector<std::vector<int>* > procEqnNumbers_;
90 std::vector<std::vector<int>* > procEqnLengths_;
91};
92
93#endif
94
std::vector< int > & procsPtr()
ProcEqns * deepCopy()
size_t getNumProcs()
virtual ~ProcEqns()
void addEqn(int eqnNumber, int proc)
std::vector< std::vector< int > * > & procEqnLengthsPtr()
std::vector< int > & eqnsPerProcPtr()
void setProcEqnLengths(int *eqnNumbers, int *eqnLengths, int len)
std::vector< std::vector< int > * > & procEqnNumbersPtr()