Epetra_FEVector Class Reference

#include <Epetra_FEVector.h>

Inheritance diagram for Epetra_FEVector:

[legend]
Collaboration diagram for Epetra_FEVector:
[legend]
List of all members.

Public Member Functions

 Epetra_FEVector (const Epetra_BlockMap &Map, bool ignoreNonLocalEntries=false)
 Epetra_FEVector (const Epetra_FEVector &source)
virtual ~Epetra_FEVector ()
int SumIntoGlobalValues (int numIDs, const int *GIDs, const double *values)
int SumIntoGlobalValues (const Epetra_IntSerialDenseVector &GIDs, const Epetra_SerialDenseVector &values)
int ReplaceGlobalValues (int numIDs, const int *GIDs, const double *values)
int ReplaceGlobalValues (const Epetra_IntSerialDenseVector &GIDs, const Epetra_SerialDenseVector &values)
int SumIntoGlobalValues (int numIDs, const int *GIDs, const int *numValuesPerID, const double *values)
int ReplaceGlobalValues (int numIDs, const int *GIDs, const int *numValuesPerID, const double *values)
int GlobalAssemble (Epetra_CombineMode mode=Add)
void setIgnoreNonLocalEntries (bool flag)
Epetra_FEVectoroperator= (const Epetra_FEVector &source)

Detailed Description

Epetra Finite-Element Vector. This class inherits Epetra_MultiVector and thus provides all Epetra_MultiVector functionality, with one restriction: currently an Epetra_FEVector only has 1 internal vector.

The added functionality provided by Epetra_FEVector is the ability to perform finite-element style vector assembly. It accepts sub-vector contributions, such as those that would come from element-load vectors, etc., and these sub-vectors need not be wholly locally owned. In other words, the user can assemble overlapping data (e.g., corresponding to shared finite-element nodes). When the user is finished assembling their vector data, they then call the method Epetra_FEVector::GlobalAssemble() which gathers the overlapping data (all non-local data that was input on each processor) into the data-distribution specified by the map that the Epetra_FEVector is constructed with.

Note: At the current time (Sept 6, 2002) the methods in this implementation assume that there is only 1 point associated with each map element. This limitation will be removed in the near future.


Constructor & Destructor Documentation

Epetra_FEVector::Epetra_FEVector const Epetra_BlockMap Map,
bool  ignoreNonLocalEntries = false
 

Constructor that requires a map specifying a non-overlapping data layout. The methods SumIntoGlobalValues() and ReplaceGlobalValues() will accept any global IDs, and GlobalAssemble() will move any non-local data onto the appropriate owning processors.

Epetra_FEVector::Epetra_FEVector const Epetra_FEVector source  ) 
 

Copy constructor.

virtual Epetra_FEVector::~Epetra_FEVector  )  [virtual]
 

Destructor


Member Function Documentation

int Epetra_FEVector::GlobalAssemble Epetra_CombineMode  mode = Add  ) 
 

Gather any overlapping/shared data into the non-overlapping partitioning defined by the Map that was passed to this vector at construction time. Data imported from other processors is stored on the owning processor with a "sumInto" or accumulate operation. This is a collective method -- every processor must enter it before any will complete it.

int Epetra_FEVector::ReplaceGlobalValues const Epetra_IntSerialDenseVector GIDs,
const Epetra_SerialDenseVector values
 

Copy values into the vector, replacing any values that already exist for the specified GIDs.

Parameters:
GIDs List of global ids. Must be the same length as the accompanying list of values.
values List of coefficient values. Must be the same length as the accompanying list of GIDs.

int Epetra_FEVector::ReplaceGlobalValues int  numIDs,
const int *  GIDs,
const double *  values
 

Copy values into the vector overwriting any values that already exist for the specified indices.

void Epetra_FEVector::setIgnoreNonLocalEntries bool  flag  )  [inline]
 

Set whether or not non-local data values should be ignored.

int Epetra_FEVector::SumIntoGlobalValues const Epetra_IntSerialDenseVector GIDs,
const Epetra_SerialDenseVector values
 

Accumulate values into the vector, adding them to any values that already exist for the specified GIDs.

Parameters:
GIDs List of global ids. Must be the same length as the accompanying list of values.
values List of coefficient values. Must be the same length as the accompanying list of GIDs.

int Epetra_FEVector::SumIntoGlobalValues int  numIDs,
const int *  GIDs,
const double *  values
 

Accumulate values into the vector, adding them to any values that already exist for the specified indices.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:40:17 2008 for Epetra by doxygen 1.3.9.1