|
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 BCenforcement_no_column_mod_, bcs_trump_slaves_, comm_, dbgprefix_, dwork_, essBCvalues_, explicitBCenforcement_, firstLocalOffset_, iwork_, lastLocalOffset_, fei::LinearSystem::LinearSystem(), fei::localProc(), localProc_, name_, named_loadcomplete_counter_, fei::numProcs(), numProcs_, resolveConflictRequested_, and setName().
|
virtual |
denstructor
Definition at line 67 of file snl_fei_LinearSystem_General.cpp.
References essBCvalues_.
|
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, fei::LinearSystem::loadEssentialBCs(), fei::Logger::output_level_, and fei::Logger::output_stream_.
|
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, fei::LinearSystem::loadEssentialBCs(), fei::Logger::output_level_, and fei::Logger::output_stream_.
|
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(), snl_fei::Constraint< RecordType >::getIDType(), snl_fei::Constraint< RecordType >::getMasterWeights(), iwork_, fei::LinearSystem::matrix_, fei::LinearSystem::matrixGraph_, fei::Logger::output_level_, fei::Logger::output_stream_, and fei::LinearSystem::rhs_.
|
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, FEI_OSTREAM, iwork_, fei::LinearSystem::matrix_, fei::LinearSystem::matrixGraph_, fei::Logger::output_level_, fei::Logger::output_stream_, and fei::LinearSystem::rhs_.
|
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::LinearSystem::dbcManager_, dbgprefix_, FEI_COUT, FEI_ENDL, FEI_OSTREAM, FEI_OSTRINGSTREAM, fei::FULL_LOGS, fei::LogManager::getLogManager(), fei::LogManager::getOutputPath(), implementBCs(), localProc_, fei::LinearSystem::matrix_, fei::MATRIX_FILES, fei::LinearSystem::matrixGraph_, name_, named_loadcomplete_counter_, numProcs_, fei::Logger::output_level_, fei::Logger::output_stream_, fei::LinearSystem::rhs_, fei::LinearSystem::soln_, 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 BCenforcement_no_column_mod_, bcs_trump_slaves_, ERReturn, explicitBCenforcement_, fei::SharedPtr< T >::get(), fei::Matrix_Impl< T >::getMatrix(), snl_fei::getParam(), snl_fei::getParamValue(), fei::MatrixReducer::getTargetMatrix(), fei::LinearSystem::matrix_, resolveConflictRequested_, setName(), fei::Logger::setOutputLevel(), and fei::utils::string_to_output_level().
Referenced by parameters().
|
virtual |
parameters implementation
Implements fei::LinearSystem.
Definition at line 128 of file snl_fei_LinearSystem_General.cpp.
References fei::utils::convert_ParameterSet_to_strings(), parameters(), 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, fei::Vector::copyIn(), and essBCvalues_.
|
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(), and essBCvalues_.
|
virtual |
Retrieve eqn-indices and values for BC equations
Implements fei::LinearSystem.
Definition at line 349 of file snl_fei_LinearSystem_General.cpp.
References essBCvalues_.
|
virtual |
Retrieve eqn-indices for constraints
Implements fei::LinearSystem.
Definition at line 368 of file snl_fei_LinearSystem_General.cpp.
References fei::LinearSystem::matrixGraph_.
|
private |
Definition at line 144 of file snl_fei_LinearSystem_General.cpp.
References name_, and named_loadcomplete_counter_.
Referenced by LinearSystem_General(), and parameters().
|
private |
|
private |
Definition at line 448 of file snl_fei_LinearSystem_General.cpp.
References BCenforcement_no_column_mod_, bcs_trump_slaves_, fei::BRIEF_LOGS, CHK_ERR, comm_, fei::LinearSystem::dbcManager_, enforceEssentialBC_LinSysCore(), enforceEssentialBC_step_1(), enforceEssentialBC_step_2(), essBCvalues_, extractDirichletBCs(), FEI_ENDL, FEI_OSTREAM, fei::impl_utils::global_union(), fei::LinearSystem::matrixGraph_, fei::Logger::output_level_, fei::Logger::output_stream_, resolveConflictRequested_, and fei::CSVec::size().
Referenced by loadComplete().
|
private |
Definition at line 501 of file snl_fei_LinearSystem_General.cpp.
References BCenforcement_no_column_mod_, fei::BRIEF_LOGS, CHK_ERR, essBCvalues_, FEI_ENDL, FEI_OSTREAM, snl_fei::gatherRemoteEssBCs(), fei::SharedPtr< T >::get(), fei::CSRMat::getGraph(), fei::Matrix_Impl< T >::getMatrix(), fei::CSRMat::getNumRows(), fei::CSRMat::getPackedCoefs(), fei::MatrixReducer::getTargetMatrix(), fei::LinearSystem::matrix_, fei::LinearSystem::matrixGraph_, fei::Logger::output_level_, fei::Logger::output_stream_, fei::SparseRowGraph::packedColumnIndices, fei::SharedPtr< T >::reset(), fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
Referenced by implementBCs().
|
private |
Definition at line 598 of file snl_fei_LinearSystem_General.cpp.
References fei::CSVec::coefs(), FEI_OSTRINGSTREAM, fei::SharedPtr< T >::get(), getMatrixRow(), fei::CSVec::indices(), lastLocalOffset_, fei::LinearSystem::matrix_, fei::LinearSystem::matrixGraph_, fei::LinearSystem::rhs_, and fei::CSVec::size().
Referenced by implementBCs().
|
private |
Definition at line 689 of file snl_fei_LinearSystem_General.cpp.
References fei::binarySearch(), fei::CSVec::coefs(), FEI_ENDL, FEI_OSTREAM, FEI_OSTRINGSTREAM, firstLocalOffset_, fei::FULL_LOGS, fei::SharedPtr< T >::get(), getMatrixRow(), fei::CSVec::indices(), fei::insertion_sort_with_companions(), lastLocalOffset_, fei::LinearSystem::matrix_, fei::LinearSystem::matrixGraph_, fei::Logger::output_level_, fei::Logger::output_stream_, fei::LinearSystem::rhs_, and fei::CSVec::size().
Referenced by implementBCs().
|
private |
Definition at line 824 of file snl_fei_LinearSystem_General.cpp.
References CHK_ERR, fei::Matrix::copyOutRow(), and fei::Matrix::getRowLength().
Referenced by enforceEssentialBC_step_1(), and enforceEssentialBC_step_2().
|
private |
Definition at line 113 of file snl_fei_LinearSystem_General.hpp.
Referenced by implementBCs(), and LinearSystem_General().
|
private |
Definition at line 115 of file snl_fei_LinearSystem_General.hpp.
Referenced by enforceEssentialBC_LinSysCore(), eqnIsEssentialBC(), getEssentialBCs(), implementBCs(), LinearSystem_General(), setBCValuesOnVector(), and ~LinearSystem_General().
|
private |
Definition at line 116 of file snl_fei_LinearSystem_General.hpp.
|
private |
Definition at line 118 of file snl_fei_LinearSystem_General.hpp.
Referenced by implementBCs(), LinearSystem_General(), and parameters().
|
private |
Definition at line 119 of file snl_fei_LinearSystem_General.hpp.
Referenced by implementBCs(), LinearSystem_General(), and parameters().
|
private |
Definition at line 120 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), and parameters().
|
private |
Definition at line 121 of file snl_fei_LinearSystem_General.hpp.
Referenced by enforceEssentialBC_LinSysCore(), implementBCs(), LinearSystem_General(), and parameters().
|
private |
Definition at line 123 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), and loadComplete().
|
private |
Definition at line 124 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), and loadComplete().
|
private |
Definition at line 126 of file snl_fei_LinearSystem_General.hpp.
Referenced by enforceEssentialBC_step_2(), and LinearSystem_General().
|
private |
Definition at line 127 of file snl_fei_LinearSystem_General.hpp.
Referenced by enforceEssentialBC_step_1(), enforceEssentialBC_step_2(), and LinearSystem_General().
|
private |
Definition at line 129 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), loadComplete(), and setName().
|
private |
Definition at line 130 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), loadComplete(), and setName().
|
private |
Definition at line 132 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), loadLagrangeConstraint(), and loadPenaltyConstraint().
|
private |
Definition at line 133 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General().
|
private |
Definition at line 134 of file snl_fei_LinearSystem_General.hpp.
Referenced by LinearSystem_General(), and loadComplete().