FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <snl_fei_LinearSystem_FEData.hpp>
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< FiniteElementData > | getFiniteElementData () |
int | parameters (int numParams, const char *const *paramStrings) |
int | parameters (const fei::ParameterSet ¶ms) |
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::Matrix > | matrix_ |
fei::SharedPtr< fei::Vector > | soln_ |
fei::SharedPtr< fei::Vector > | rhs_ |
fei::SharedPtr< FiniteElementData > | feData_ |
Lookup * | lookup_ |
std::vector< char * > | attributeNames_ |
std::vector< void * > | attributes_ |
Additional Inherited Members | |
Protected Attributes inherited from fei::LinearSystem | |
fei::SharedPtr< fei::Matrix > | matrix_ |
fei::SharedPtr< fei::Vector > | soln_ |
fei::SharedPtr< fei::Vector > | rhs_ |
fei::SharedPtr< fei::MatrixGraph > | matrixGraph_ |
fei::DirichletBCManager * | dbcManager_ |
std::vector< char * > | attributeNames_ |
std::vector< void * > | attributes_ |
implementation of fei::LinearSystem specialized for FiniteElementData
Definition at line 27 of file snl_fei_LinearSystem_FEData.hpp.
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_.
|
virtual |
destructor
Definition at line 47 of file snl_fei_LinearSystem_FEData.cpp.
|
virtual |
implementation of loadLagrangeConstraint
Implements fei::LinearSystem.
Definition at line 164 of file snl_fei_LinearSystem_FEData.cpp.
|
virtual |
implementation of loadPenaltyConstraint
Implements fei::LinearSystem.
Definition at line 173 of file snl_fei_LinearSystem_FEData.cpp.
|
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.
|
inline |
Retrieve FiniteElementData object
Definition at line 54 of file snl_fei_LinearSystem_FEData.hpp.
References feData_.
Referenced by fei_Solver_solve().
|
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().
|
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().
|
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.
|
inline |
set lookup object
Definition at line 86 of file snl_fei_LinearSystem_FEData.hpp.
References lookup_.
Referenced by snl_fei::Broker_FEData::createLinearSystem().
|
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.
|
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.
|
virtual |
Retrieve constrained eqn indices
Implements fei::LinearSystem.
Definition at line 66 of file snl_fei_LinearSystem_FEData.cpp.
|
private |
Definition at line 112 of file snl_fei_LinearSystem_FEData.cpp.
References CHK_ERR, fei::Matrix_Impl< T >::gatherFromOverlap(), fei::FieldDofMap< LocalOrdinal >::get_dof_id(), fei::VectorSpace::getFieldDofMap(), fei::Matrix_Impl< T >::getMatrix(), fei::VectorSpace::getNumIndices_Owned(), fei::Matrix_core::getRemotelyOwnedMatrices(), and fei::impl_utils::separate_BC_eqns().
|
private |
Definition at line 102 of file snl_fei_LinearSystem_FEData.hpp.
Referenced by LinearSystem_FEData().
|
private |
Definition at line 103 of file snl_fei_LinearSystem_FEData.hpp.
Referenced by LinearSystem_FEData().
|
private |
Definition at line 104 of file snl_fei_LinearSystem_FEData.hpp.
Referenced by LinearSystem_FEData().
|
private |
Definition at line 105 of file snl_fei_LinearSystem_FEData.hpp.
|
private |
Definition at line 106 of file snl_fei_LinearSystem_FEData.hpp.
|
private |
Definition at line 107 of file snl_fei_LinearSystem_FEData.hpp.
|
private |
Definition at line 108 of file snl_fei_LinearSystem_FEData.hpp.
Referenced by getFiniteElementData(), and parameters().
|
private |
Definition at line 109 of file snl_fei_LinearSystem_FEData.hpp.
Referenced by setLookup().
|
private |
Definition at line 111 of file snl_fei_LinearSystem_FEData.hpp.
|
private |
Definition at line 112 of file snl_fei_LinearSystem_FEData.hpp.