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