FEI Package Browser (Single Doxygen Collection)  Version of the Day
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::MatrixgetMatrix ()
 
virtual fei::SharedPtr< const fei::MatrixgetMatrix () const
 
virtual void setRHS (fei::SharedPtr< fei::Vector > &rhs)
 
virtual fei::SharedPtr< fei::VectorgetRHS ()
 
virtual fei::SharedPtr< const fei::VectorgetRHS () const
 
virtual void setSolutionVector (fei::SharedPtr< fei::Vector > &soln)
 
virtual fei::SharedPtr< fei::VectorgetSolutionVector ()
 
virtual fei::SharedPtr< const fei::VectorgetSolutionVector () 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

◆ LinearSystem_FEData()

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_.

◆ ~LinearSystem_FEData()

snl_fei::LinearSystem_FEData::~LinearSystem_FEData ( )
virtual

destructor

Definition at line 47 of file snl_fei_LinearSystem_FEData.cpp.

Member Function Documentation

◆ loadLagrangeConstraint()

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.

◆ loadPenaltyConstraint()

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.

◆ loadComplete()

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.

◆ getFiniteElementData()

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().

◆ parameters() [1/2]

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().

◆ parameters() [2/2]

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().

◆ setBCValuesOnVector()

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.

◆ setLookup()

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().

◆ eqnIsEssentialBC()

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.

◆ getEssentialBCs()

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.

◆ getConstrainedEqns()

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.

◆ implementBCs()

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

Member Data Documentation

◆ comm_

MPI_Comm snl_fei::LinearSystem_FEData::comm_
private

Definition at line 102 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by LinearSystem_FEData().

◆ localProc_

int snl_fei::LinearSystem_FEData::localProc_
private

Definition at line 103 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by LinearSystem_FEData().

◆ numProcs_

int snl_fei::LinearSystem_FEData::numProcs_
private

Definition at line 104 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by LinearSystem_FEData().

◆ matrix_

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

Definition at line 105 of file snl_fei_LinearSystem_FEData.hpp.

◆ soln_

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

Definition at line 106 of file snl_fei_LinearSystem_FEData.hpp.

◆ rhs_

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

Definition at line 107 of file snl_fei_LinearSystem_FEData.hpp.

◆ feData_

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_

Lookup* snl_fei::LinearSystem_FEData::lookup_
private

Definition at line 109 of file snl_fei_LinearSystem_FEData.hpp.

Referenced by setLookup().

◆ attributeNames_

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

Definition at line 111 of file snl_fei_LinearSystem_FEData.hpp.

◆ attributes_

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: