FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <snl_fei_LinearSystem_General.hpp>
Public Member Functions | |
LinearSystem_General (fei::SharedPtr< fei::MatrixGraph > &matrixGraph) | |
virtual | ~LinearSystem_General () |
int | loadEssentialBCs (int numIDs, const int *IDs, int idType, int fieldID, int offsetIntoField, const double *prescribedValues) |
int | loadEssentialBCs (int numIDs, const int *IDs, int idType, int fieldID, const int *offsetIntoField, const double *prescribedValues) |
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) |
int | parameters (int numParams, const char *const *paramStrings) |
int | parameters (const fei::ParameterSet ¶ms) |
int | setBCValuesOnVector (fei::Vector *vector) |
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) |
Private Member Functions | |
void | setName (const char *name) |
int | fill_EssBCValues () |
int | implementBCs (bool applyBCs) |
int | enforceEssentialBC_LinSysCore () |
void | enforceEssentialBC_step_1 (fei::CSVec &essBCs) |
void | enforceEssentialBC_step_2 (fei::CSVec &essBCs) |
int | getMatrixRow (fei::Matrix *matrix, int row, std::vector< double > &coefs, std::vector< int > &indices) |
Private Member Functions inherited from fei::Logger | |
Logger () | |
virtual | ~Logger () |
void | setOutputLevel (OutputLevel olevel) |
void | addLogID (int ID) |
void | addLogEqn (int eqn) |
bool | isLogID (int ID) |
bool | isLogEqn (int eqn) |
std::set< int > & | getLogIDs () |
std::set< int > & | getLogEqns () |
Private Attributes | |
MPI_Comm | comm_ |
fei::CSVec * | essBCvalues_ |
fei::CSVec * | allEssBCs_ |
bool | resolveConflictRequested_ |
bool | bcs_trump_slaves_ |
bool | explicitBCenforcement_ |
bool | BCenforcement_no_column_mod_ |
int | localProc_ |
int | numProcs_ |
int | firstLocalOffset_ |
int | lastLocalOffset_ |
std::string | name_ |
std::map< std::string, unsigned > | named_loadcomplete_counter_ |
std::vector< int > | iwork_ |
std::vector< double > | dwork_ |
std::string | dbgprefix_ |
Private Attributes inherited from fei::Logger | |
OutputLevel | output_level_ |
FEI_OSTREAM * | output_stream_ |
std::set< int > | logIDs_ |
std::set< int > | logEqns_ |
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 interface
Definition at line 27 of file snl_fei_LinearSystem_General.hpp.
snl_fei::LinearSystem_General::LinearSystem_General | ( | fei::SharedPtr< fei::MatrixGraph > & | matrixGraph | ) |
constructor
Definition at line 36 of file snl_fei_LinearSystem_General.cpp.
References comm_, firstLocalOffset_, fei::VectorSpace::getGlobalIndexOffsets(), fei::MatrixGraph::getRowSpace(), lastLocalOffset_, fei::localProc(), localProc_, fei::numProcs(), numProcs_, and setName().
|
virtual |
denstructor
Definition at line 67 of file snl_fei_LinearSystem_General.cpp.
|
virtual |
Essential (dirichlet) boundary-condition function.
Reimplemented from fei::LinearSystem.
Definition at line 162 of file snl_fei_LinearSystem_General.cpp.
References fei::BRIEF_LOGS, FEI_ENDL, FEI_OSTREAM, and fei::LinearSystem::loadEssentialBCs().
|
virtual |
Essential (dirichlet) boundary-condition function.
Reimplemented from fei::LinearSystem.
Definition at line 180 of file snl_fei_LinearSystem_General.cpp.
References fei::BRIEF_LOGS, FEI_ENDL, FEI_OSTREAM, and fei::LinearSystem::loadEssentialBCs().
|
virtual |
load lagrange-multiplier constraint coefficients
Implements fei::LinearSystem.
Definition at line 849 of file snl_fei_LinearSystem_General.cpp.
References fei::BRIEF_LOGS, CHK_ERR, FEI_ENDL, FEI_OSTREAM, snl_fei::Constraint< RecordType >::getConstraintID(), fei::VectorSpace::getGlobalIndex(), snl_fei::Constraint< RecordType >::getIDType(), and snl_fei::Constraint< RecordType >::getMasterWeights().
|
virtual |
load penalty constraint coefficients
Implements fei::LinearSystem.
Definition at line 898 of file snl_fei_LinearSystem_General.cpp.
References fei::BRIEF_LOGS, CHK_ERR, FEI_ENDL, and FEI_OSTREAM.
|
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 200 of file snl_fei_LinearSystem_General.cpp.
References fei::ALL, fei::BRIEF_LOGS, CHK_ERR, FEI_COUT, FEI_ENDL, FEI_OSTREAM, FEI_OSTRINGSTREAM, fei::FULL_LOGS, fei::LogManager::getLogManager(), fei::LogManager::getOutputPath(), fei::MATRIX_FILES, and fei::STATS.
|
virtual |
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 73 of file snl_fei_LinearSystem_General.cpp.
References ERReturn, fei::SharedPtr< T >::get(), fei::Matrix_Impl< T >::getMatrix(), snl_fei::getParam(), snl_fei::getParamValue(), fei::MatrixReducer::getTargetMatrix(), LinearSystemCore::parameters(), and fei::utils::string_to_output_level().
|
virtual |
parameters implementation
Implements fei::LinearSystem.
Definition at line 128 of file snl_fei_LinearSystem_General.cpp.
References fei::utils::convert_ParameterSet_to_strings(), and fei::utils::strings_to_char_ptrs().
|
virtual |
use stored BC values to modify specified vector
Implements fei::LinearSystem.
Definition at line 321 of file snl_fei_LinearSystem_General.cpp.
References CHK_ERR, and fei::Vector::copyIn().
|
virtual |
query whether specified eqn index has prescribed BC value
Implements fei::LinearSystem.
Definition at line 339 of file snl_fei_LinearSystem_General.cpp.
References fei::binarySearch().
|
virtual |
Retrieve eqn-indices and values for BC equations
Implements fei::LinearSystem.
Definition at line 349 of file snl_fei_LinearSystem_General.cpp.
|
virtual |
Retrieve eqn-indices for constraints
Implements fei::LinearSystem.
Definition at line 368 of file snl_fei_LinearSystem_General.cpp.
|
private |
Definition at line 144 of file snl_fei_LinearSystem_General.cpp.
Referenced by LinearSystem_General().
|
private |
|
private |
Definition at line 448 of file snl_fei_LinearSystem_General.cpp.
References fei::BRIEF_LOGS, CHK_ERR, extractDirichletBCs(), FEI_ENDL, FEI_OSTREAM, fei::impl_utils::global_union(), and fei::CSVec::size().
|
private |
Definition at line 501 of file snl_fei_LinearSystem_General.cpp.
References fei::BRIEF_LOGS, CHK_ERR, LinearSystemCore::enforceEssentialBC(), LinearSystemCore::enforceRemoteEssBCs(), FEI_ENDL, FEI_OSTREAM, snl_fei::gatherRemoteEssBCs(), fei::SharedPtr< T >::get(), fei::CSRMat::getGraph(), fei::Reducer::getLocalReducedEqns(), fei::Matrix_Impl< T >::getMatrix(), fei::CSRMat::getNumRows(), fei::FillableMat::getNumRows(), fei::CSRMat::getPackedCoefs(), fei::MatrixReducer::getTargetMatrix(), fei::SparseRowGraph::packedColumnIndices, fei::SharedPtr< T >::reset(), fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
|
private |
Definition at line 598 of file snl_fei_LinearSystem_General.cpp.
References fei::CSVec::coefs(), FEI_OSTRINGSTREAM, fei::SharedPtr< T >::get(), fei::CSVec::indices(), fei::CSVec::size(), and fei::Reducer::translateFromReducedEqn().
|
private |
Definition at line 689 of file snl_fei_LinearSystem_General.cpp.
References fei::binarySearch(), fei::CSVec::coefs(), FEI_ENDL, FEI_OSTREAM, FEI_OSTRINGSTREAM, fei::FULL_LOGS, fei::SharedPtr< T >::get(), fei::CSVec::indices(), fei::insertion_sort_with_companions(), fei::Reducer::isSlaveEqn(), fei::CSVec::size(), and fei::Reducer::translateFromReducedEqn().
|
private |
Definition at line 824 of file snl_fei_LinearSystem_General.cpp.
References CHK_ERR, fei::Matrix::copyOutRow(), and fei::Matrix::getRowLength().
|
private |
Definition at line 113 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General().
|
private |
Definition at line 115 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 116 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 118 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 119 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 120 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 121 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 123 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General().
|
private |
Definition at line 124 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General().
|
private |
Definition at line 126 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General().
|
private |
Definition at line 127 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General().
|
private |
Definition at line 129 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 130 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 132 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 133 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 134 of file snl_fei_LinearSystem_General.hpp.