BasisSystem subclass the case where the client sets up seperate C and N matrices.
More...
#include <AbstractLinAlgPack_BasisSystemComposite.hpp>
Inheritance diagram for AbstractLinAlgPack::BasisSystemComposite:
Public types | |
| typedef Teuchos::RefCountPtr< const Teuchos::AbstractFactory< MatrixOp > > | fcty_Gc_ptr_t |
| | |
| typedef Teuchos::RefCountPtr< MatrixOpNonsing > | C_ptr_t |
| | |
| typedef Teuchos::RefCountPtr< MatrixOp > | N_ptr_t |
| | |
Constructors / initializers | |
| BasisSystemComposite () | |
| BasisSystemComposite (const VectorSpace::space_ptr_t &space_x, const VectorSpace::space_ptr_t &space_c, const mat_nonsing_fcty_ptr_t &factory_C, const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S) | |
Calls this->initialize() in a way that is consistant with above helper functions. | |
| BasisSystemComposite (const VectorSpace::space_ptr_t &space_x, const Range1D &var_dep, const Range1D &var_indep, const VectorSpace::space_ptr_t &space_c, const mat_nonsing_fcty_ptr_t &factory_C, const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S, const mat_fcty_ptr_t &factory_D=Teuchos::null) | |
Calls this->initialize(). | |
| void | initialize (const VectorSpace::space_ptr_t &space_x, const Range1D &var_dep, const Range1D &var_indep, const VectorSpace::space_ptr_t &space_c, const mat_nonsing_fcty_ptr_t &factory_C, const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S, const mat_fcty_ptr_t &factory_D=Teuchos::null) |
| Initialize. | |
| virtual void | set_uninitialized () |
| Set uninitialized. | |
Access | |
| const VectorSpace::space_ptr_t & | space_x () const |
| | |
| const VectorSpace::space_ptr_t & | space_c () const |
| | |
To be overridden by subclasses | |
| virtual void | update_D (const MatrixOpNonsing &C, const MatrixOp &N, MatrixOp *D, EMatRelations mat_rel) const |
Overridden by subclasses to update D if a specialized implementation is needed. | |
Overridden from BasisSystem | |
| const mat_nonsing_fcty_ptr_t | factory_C () const |
| | |
| const mat_fcty_ptr_t | factory_D () const |
| | |
| Range1D | var_dep () const |
| | |
| Range1D | var_indep () const |
| | |
| void | update_basis (const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out) const |
| | |
Static member functions | |
| void | initialize_space_x (const VectorSpace::space_ptr_t &space_xD, const VectorSpace::space_ptr_t &space_xI, Range1D *var_dep, Range1D *var_indep, VectorSpace::space_ptr_t *space_x) |
Initialize the composite vector space for x = [ xD; xI ] as well as var_dep and var_indep. | |
| const fcty_Gc_ptr_t | factory_Gc () |
Return a matrix factory object for the composte Gc matrix object. | |
| void | initialize_Gc (const VectorSpace::space_ptr_t &space_x, const Range1D &var_dep, const Range1D &var_indep, const VectorSpace::space_ptr_t &space_c, const C_ptr_t &C, const N_ptr_t &N, MatrixOp *Gc) |
Initialize the Gc matrix object given created from space_Gc()->create(). | |
| void | get_C_N (MatrixOp *Gc, MatrixOpNonsing **C, MatrixOp **N) |
Get the non-const aggregate matrices C and N (or NULL pointers if not initialized). | |
| void | get_C_N (const MatrixOp &Gc, const MatrixOpNonsing **C, const MatrixOp **N) |
| Get the const aggregate matrices C and N. | |
BasisSystem subclass the case where the client sets up seperate C and N matrices.
This interface is based an implementation where C and N are manipulated by the application and are concatenated into Gc = [ C'; N' ]. Here, there are no undecomposed equality constraints allowed.
For this implementation, the basis matrix C must override the method MatrixOp::operator=() for correct behavior. A smart implementation of the basis matrix subclass will use lazy evaluation and not copy data inside of MatrixOp::operator=() unless necessary later on.
Definition at line 47 of file AbstractLinAlgPack_BasisSystemComposite.hpp.
|
|
Definition at line 56 of file AbstractLinAlgPack_BasisSystemComposite.hpp. |
|
|
Definition at line 58 of file AbstractLinAlgPack_BasisSystemComposite.hpp. |
|
|
Definition at line 60 of file AbstractLinAlgPack_BasisSystemComposite.hpp. |
|
|
Default constructor. Definition at line 278 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||||||
|
Calls
Definition at line 282 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||||||||||||||||||
|
Calls
Definition at line 299 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||||||
|
Initialize the composite vector space for
Postconditions:
Definition at line 73 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Return a matrix factory object for the composte
Definition at line 110 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||||||||||||||
|
Initialize the Gc matrix object given created from Initializes the composite matrix object: Gc = [ C'; N' ]
Postconditions:
Definition at line 116 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||
|
Get the non-const aggregate matrices
Definition at line 188 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||
|
Get the const aggregate matrices C and N.
Definition at line 234 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||||||||||||||||||
|
Initialize.
Postconditions:
Definition at line 317 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Set uninitialized. Postconditions:
Definition at line 368 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Definition at line 380 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Definition at line 386 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||
|
Overridden by subclasses to update
The default implementation just relies on the Definition at line 393 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Implements AbstractLinAlgPack::BasisSystem. Definition at line 407 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Implements AbstractLinAlgPack::BasisSystem. Definition at line 413 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Implements AbstractLinAlgPack::BasisSystem. Definition at line 418 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
|
Implements AbstractLinAlgPack::BasisSystem. Definition at line 423 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
|
||||||||||||||||||||||||||||
|
Implements AbstractLinAlgPack::BasisSystem. Definition at line 428 of file AbstractLinAlgPack_BasisSystemComposite.cpp. |
1.3.9.1