FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
snl_fei::LinearSystem_FEData Class Reference

#include <snl_fei_LinearSystem_FEData.hpp>

Inheritance diagram for snl_fei::LinearSystem_FEData:
Inheritance graph
[legend]

Public Member Functions

 LinearSystem_FEData (fei::SharedPtr< FiniteElementData > &fedata, fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
 
virtual ~LinearSystem_FEData ()
 
int loadLagrangeConstraint (int constraintID, const double *weights, double rhsValue)
 
int loadPenaltyConstraint (int constraintID, const double *weights, double penaltyValue, double rhsValue)
 
int loadComplete (bool applyBCs=true, bool globalAssemble=true)
 
fei::SharedPtr< FiniteElementDatagetFiniteElementData ()
 
int parameters (int numParams, const char *const *paramStrings)
 
int parameters (const fei::ParameterSet &params)
 
int setBCValuesOnVector (fei::Vector *vector)
 
void setLookup (Lookup *lookup)
 
bool eqnIsEssentialBC (int globalEqnIndex) const
 
void getEssentialBCs (std::vector< int > &bcEqns, std::vector< double > &bcVals) const
 
void getConstrainedEqns (std::vector< int > &crEqns) const
 
- Public Member Functions inherited from fei::LinearSystem
 LinearSystem (fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
 
virtual ~LinearSystem ()
 
virtual void setMatrix (fei::SharedPtr< fei::Matrix > &matrix)
 
virtual fei::SharedPtr
< fei::Matrix
getMatrix ()
 
virtual fei::SharedPtr< const
fei::Matrix
getMatrix () const
 
virtual void setRHS (fei::SharedPtr< fei::Vector > &rhs)
 
virtual fei::SharedPtr
< fei::Vector
getRHS ()
 
virtual fei::SharedPtr< const
fei::Vector
getRHS () const
 
virtual void setSolutionVector (fei::SharedPtr< fei::Vector > &soln)
 
virtual fei::SharedPtr
< fei::Vector
getSolutionVector ()
 
virtual fei::SharedPtr< const
fei::Vector
getSolutionVector () const
 
virtual int putAttribute (const char *name, void *attribute)
 
virtual int getAttribute (const char *name, void *&attribute)
 
virtual int loadEssentialBCs (int numIDs, const int *IDs, int idType, int fieldID, int offsetIntoField, const double *prescribedValues)
 
virtual int loadEssentialBCs (int numIDs, const int *IDs, int idType, int fieldID, const int *offsetsIntoField, const double *prescribedValues)
 

Private Member Functions

int implementBCs (bool applyBCs)
 

Private Attributes

MPI_Comm comm_
 
int localProc_
 
int numProcs_
 
fei::SharedPtr< fei::Matrixmatrix_
 
fei::SharedPtr< fei::Vectorsoln_
 
fei::SharedPtr< fei::Vectorrhs_
 
fei::SharedPtr< FiniteElementDatafeData_
 
Lookuplookup_
 
std::vector< char * > attributeNames_
 
std::vector< void * > attributes_
 

Additional Inherited Members

- Protected Attributes inherited from fei::LinearSystem
fei::SharedPtr< fei::Matrixmatrix_
 
fei::SharedPtr< fei::Vectorsoln_
 
fei::SharedPtr< fei::Vectorrhs_
 
fei::SharedPtr< fei::MatrixGraphmatrixGraph_
 
fei::DirichletBCManagerdbcManager_
 
std::vector< char * > attributeNames_
 
std::vector< void * > attributes_
 

Detailed Description

implementation of fei::LinearSystem specialized for FiniteElementData

Definition at line 27 of file snl_fei_LinearSystem_FEData.hpp.

Constructor & Destructor Documentation

snl_fei::LinearSystem_FEData::LinearSystem_FEData ( fei::SharedPtr< FiniteElementData > &  fedata,
fei::SharedPtr< fei::MatrixGraph > &  matrixGraph 
)

constructor

Definition at line 33 of file snl_fei_LinearSystem_FEData.cpp.

References comm_, fei::localProc(), localProc_, fei::numProcs(), and numProcs_.

snl_fei::LinearSystem_FEData::~LinearSystem_FEData ( )
virtual

destructor

Definition at line 47 of file snl_fei_LinearSystem_FEData.cpp.

Member Function Documentation

int snl_fei::LinearSystem_FEData::loadLagrangeConstraint ( int  constraintID,
const double *  weights,
double  rhsValue 
)
virtual

implementation of loadLagrangeConstraint

Implements fei::LinearSystem.

Definition at line 164 of file snl_fei_LinearSystem_FEData.cpp.

int snl_fei::LinearSystem_FEData::loadPenaltyConstraint ( int  constraintID,
const double *  weights,
double  penaltyValue,
double  rhsValue 
)
virtual

implementation of loadPenaltyConstraint

Implements fei::LinearSystem.

Definition at line 173 of file snl_fei_LinearSystem_FEData.cpp.

int snl_fei::LinearSystem_FEData::loadComplete ( bool  applyBCs = true,
bool  globalAssemble = true 
)
virtual
  Signal that all boundary-conditions and constraint coefficients have

been loaded, and they may now be applied to the linear system.

Implements fei::LinearSystem.

Definition at line 72 of file snl_fei_LinearSystem_FEData.cpp.

References fei::Barrier(), CHK_ERR, fei::console_out(), and FEI_ENDL.

fei::SharedPtr<FiniteElementData> snl_fei::LinearSystem_FEData::getFiniteElementData ( )
inline

Retrieve FiniteElementData object

Definition at line 54 of file snl_fei_LinearSystem_FEData.hpp.

References feData_.

Referenced by fei_Solver_solve().

int snl_fei::LinearSystem_FEData::parameters ( int  numParams,
const char *const *  paramStrings 
)
inlinevirtual
  Set parameters on this object. Currently two parameters are recognized:

"debugOutput 'path'" where 'path' is the path to the location where debug-log files will be produced.
"name 'string'" where 'string' is an identifier that will be used in debug-log file-names.

Implements fei::LinearSystem.

Definition at line 62 of file snl_fei_LinearSystem_FEData.hpp.

References feData_, and FiniteElementData::parameters().

Referenced by parameters().

int snl_fei::LinearSystem_FEData::parameters ( const fei::ParameterSet params)
inlinevirtual

implementation of parameters

Implements fei::LinearSystem.

Definition at line 67 of file snl_fei_LinearSystem_FEData.hpp.

References fei::utils::convert_ParameterSet_to_strings(), parameters(), and fei::utils::strings_to_char_ptrs().

int snl_fei::LinearSystem_FEData::setBCValuesOnVector ( fei::Vector vector)
virtual

set previously specified BC values on given vector

Implements fei::LinearSystem.

Definition at line 106 of file snl_fei_LinearSystem_FEData.cpp.

References ERReturn.

void snl_fei::LinearSystem_FEData::setLookup ( Lookup lookup)
inline

set lookup object

Definition at line 86 of file snl_fei_LinearSystem_FEData.hpp.

References lookup_.

Referenced by snl_fei::Broker_FEData::createLinearSystem().

bool snl_fei::LinearSystem_FEData::eqnIsEssentialBC ( int  globalEqnIndex) const
virtual

Query whether specified eqn has prescribed BC value.

Implements fei::LinearSystem.

Definition at line 52 of file snl_fei_LinearSystem_FEData.cpp.

References fei::console_out(), and FEI_ENDL.

void snl_fei::LinearSystem_FEData::getEssentialBCs ( std::vector< int > &  bcEqns,
std::vector< double > &  bcVals 
) const
virtual

Retrieve BC eqn indices.

Implements fei::LinearSystem.

Definition at line 59 of file snl_fei_LinearSystem_FEData.cpp.

References fei::console_out(), and FEI_ENDL.

void snl_fei::LinearSystem_FEData::getConstrainedEqns ( std::vector< int > &  crEqns) const
virtual

Retrieve constrained eqn indices

Implements fei::LinearSystem.

Definition at line 66 of file snl_fei_LinearSystem_FEData.cpp.

int snl_fei::LinearSystem_FEData::implementBCs ( bool  applyBCs)
private

Member Data Documentation

MPI_Comm snl_fei::LinearSystem_FEData::comm_
private

Definition at line 102 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by LinearSystem_FEData().

int snl_fei::LinearSystem_FEData::localProc_
private

Definition at line 103 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by LinearSystem_FEData().

int snl_fei::LinearSystem_FEData::numProcs_
private

Definition at line 104 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by LinearSystem_FEData().

fei::SharedPtr<fei::Matrix> snl_fei::LinearSystem_FEData::matrix_
private

Definition at line 105 of file snl_fei_LinearSystem_FEData.hpp.

fei::SharedPtr<fei::Vector> snl_fei::LinearSystem_FEData::soln_
private

Definition at line 106 of file snl_fei_LinearSystem_FEData.hpp.

fei::SharedPtr<fei::Vector> snl_fei::LinearSystem_FEData::rhs_
private

Definition at line 107 of file snl_fei_LinearSystem_FEData.hpp.

fei::SharedPtr<FiniteElementData> snl_fei::LinearSystem_FEData::feData_
private

Definition at line 108 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by getFiniteElementData(), and parameters().

Lookup* snl_fei::LinearSystem_FEData::lookup_
private

Definition at line 109 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by setLookup().

std::vector<char*> snl_fei::LinearSystem_FEData::attributeNames_
private

Definition at line 111 of file snl_fei_LinearSystem_FEData.hpp.

std::vector<void*> snl_fei::LinearSystem_FEData::attributes_
private

Definition at line 112 of file snl_fei_LinearSystem_FEData.hpp.


The documentation for this class was generated from the following files: