FEI
Version of the Day
|
#include <fei_Vector_core.hpp>
Public Member Functions | |
Vector_core (fei::SharedPtr< fei::VectorSpace > vecSpace, int numLocalEqns) | |
virtual | ~Vector_core () |
int | copyOut (int numValues, const int *indices, double *values, int vectorIndex=0) const |
virtual int | sumIntoFEVector (int blockID, int connOffset, int numNodes, const int *nodeNumbers, const int *numIndicesPerNode, const int *dof_ids, const double *values)=0 |
virtual int | copyOut_FE (int nodeNumber, int dofOffset, double &value)=0 |
int | giveToVector (int numValues, const int *indices, const double *values, bool sumInto=true, int vectorIndex=0) |
virtual int | scatterToOverlap () |
void | setOverlap (int numRemoteEqns=0, const int *remoteEqns=NULL) |
Protected Member Functions | |
int | assembleFieldData (int fieldID, int idType, int numIDs, const int *IDs, const double *data, bool sumInto=true, int vectorIndex=0) |
virtual int | gatherFromOverlap (bool accumulate=true) |
virtual int | copyOutFieldData (int fieldID, int idType, int numIDs, const int *IDs, double *data, int vectorIndex=0) |
virtual int | giveToUnderlyingVector (int numValues, const int *indices, const double *values, bool sumInto=true, int vectorIndex=0)=0 |
virtual int | copyOutOfUnderlyingVector (int numValues, const int *indices, double *values, int vectorIndex=0) const =0 |
virtual int | writeToFile (const char *filename, bool matrixMarketFormat=true) |
virtual int | writeToStream (FEI_OSTREAM &ostrm, bool matrixMarketFormat=true) |
fei::SharedPtr< fei::VectorSpace > | get_vector_space () const |
void | set_vector_space (fei::SharedPtr< fei::VectorSpace > vspace) |
int | firstLocalOffset () const |
int | lastLocalOffset () const |
std::vector< int > & | work_indices () |
std::vector< int > & | work_indices2 () |
bool | haveFEVector () |
void | setFEVector (bool flag) |
std::vector< CSVec * > & | remotelyOwned () |
Protected Member Functions inherited from fei::Logger | |
Logger () | |
virtual | ~Logger () |
void | setOutputLevel (OutputLevel olevel) |
Additional Inherited Members | |
Protected Attributes inherited from fei::Logger | |
OutputLevel | output_level_ |
FEI_OSTREAM * | output_stream_ |
Class to provide infrastructure for fei::Vector implementations.
Definition at line 23 of file fei_Vector_core.hpp.
fei::Vector_core::Vector_core | ( | fei::SharedPtr< fei::VectorSpace > | vecSpace, |
int | numLocalEqns | ||
) |
constructor
Definition at line 25 of file fei_Vector_core.cpp.
|
virtual |
destructor
Definition at line 61 of file fei_Vector_core.cpp.
int fei::Vector_core::copyOut | ( | int | numValues, |
const int * | indices, | ||
double * | values, | ||
int | vectorIndex = 0 |
||
) | const |
Retrieve a copy of values from the vector for the specified indices. Note that if the specified indices are not local in the underlying non-overlapping data decomposition, these values are not guaranteed to be correct until after the scatterToOverlap() method has been called.
Definition at line 217 of file fei_Vector_core.cpp.
|
pure virtual |
Sum in data for FiniteElementData-specific structure. Power users only.
|
pure virtual |
Another FiniteElementData-specific method. Power users only.
Implemented in fei::Vector_Impl< T >.
int fei::Vector_core::giveToVector | ( | int | numValues, |
const int * | indices, | ||
const double * | values, | ||
bool | sumInto = true , |
||
int | vectorIndex = 0 |
||
) |
Give specified data to underlying vector object.
Definition at line 254 of file fei_Vector_core.cpp.
|
virtual |
Scatter locally-owned vector data to remote sharing procs.
Reimplemented in fei::Vector_Impl< T >.
Definition at line 107 of file fei_Vector_core.cpp.
void fei::Vector_core::setOverlap | ( | int | numRemoteEqns = 0 , |
const int * | remoteEqns = NULL |
||
) |
define the extent of the overlapping indices. If the optional arguments are not specified, remote eqns will be obtained from the internal fei::VectorSpace attribute.
Definition at line 68 of file fei_Vector_core.cpp.
|
protected |
Assemble data specified by fieldID, idType, etc.
Definition at line 308 of file fei_Vector_core.cpp.
|
protectedvirtual |
Gather shared data from remote procs for eqns that are locally-owned.
Reimplemented in fei::Vector_Impl< T >.
Definition at line 445 of file fei_Vector_core.cpp.
|
protectedvirtual |
Copy out data specified by fieldID, idType, etc.
Reimplemented in fei::Vector_Impl< T >.
Definition at line 507 of file fei_Vector_core.cpp.
|
protectedpure virtual |
Review this function. Is it redundant with other functions?
|
protectedpure virtual |
Review this function. Is it redundant with other functions?
|
protectedvirtual |
Establish basic information like sizes etc. Write data to specified filename.
Reimplemented in fei::Vector_Impl< T >.
Definition at line 560 of file fei_Vector_core.cpp.
|
protectedvirtual |
Write data to specified ostream.
Reimplemented in fei::Vector_Impl< T >.
Definition at line 607 of file fei_Vector_core.cpp.
|
inlineprotected |
Return vector-space that describes that size/layout of this vector.
Definition at line 121 of file fei_Vector_core.hpp.
|
inlineprotected |
Set vector-space that describes the size/layout of this vector.
Definition at line 127 of file fei_Vector_core.hpp.
|
inlineprotected |
Query for first locally-owned vector position.
Definition at line 133 of file fei_Vector_core.hpp.
|
inlineprotected |
Query for last locally-owned vector position.
Definition at line 136 of file fei_Vector_core.hpp.
|
inlineprotected |
work_indices
Definition at line 139 of file fei_Vector_core.hpp.
|
inlineprotected |
work_indices2
Definition at line 141 of file fei_Vector_core.hpp.
|
inlineprotected |
haveFEVector
Definition at line 144 of file fei_Vector_core.hpp.
|
inlineprotected |
setFEVector
Definition at line 146 of file fei_Vector_core.hpp.
|
inlineprotected |
remotelyOwned
Definition at line 149 of file fei_Vector_core.hpp.