COOLFluiD
Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
|
#include <TrilinosFEVbrMatrix.hpp>
Inherits Matrix, and ThyraOperator.
Public Member Functions | |
virtual Teuchos::RCP< const Thyra::LinearOpBase< Real > > | thyra_operator () const |
Const access to the matrix. More... | |
virtual Teuchos::RCP< Thyra::LinearOpBase< Real > > | thyra_operator () |
Writable access to the matrix. More... | |
INDIVIDUAL ACCESS | |
void | set_value (const Uint icol, const Uint irow, const Real value) |
Set value at given location in the matrix. More... | |
void | add_value (const Uint icol, const Uint irow, const Real value) |
Add value at given location in the matrix. More... | |
void | get_value (const Uint icol, const Uint irow, Real &value) |
Get value at given location in the matrix. More... | |
EFFICCIENT ACCESS | |
void | set_values (const BlockAccumulator &values) |
Set a list of values. More... | |
void | add_values (const BlockAccumulator &values) |
void | get_values (BlockAccumulator &values) |
Add a list of values. More... | |
void | set_row (const Uint iblockrow, const Uint ieq, Real diagval, Real offdiagval) |
Set a row, diagonal and off-diagonals values separately (dirichlet-type boundaries) More... | |
void | get_column_and_replace_to_zero (const Uint iblockcol, Uint ieq, std::vector< Real > &values) |
virtual void | symmetric_dirichlet (const Uint blockrow, const Uint ieq, const Real value, Vector &rhs) |
void | tie_blockrow_pairs (const Uint iblockrow_to, const Uint iblockrow_from) |
Add one line to another and tie to it via dirichlet-style (applying periodicity) More... | |
void | set_diagonal (const std::vector< Real > &diag) |
Set the diagonal. More... | |
void | add_diagonal (const std::vector< Real > &diag) |
Add to the diagonal. More... | |
void | get_diagonal (std::vector< Real > &diag) |
Get the diagonal. More... | |
void | reset (Real reset_to=0.) |
Reset Matrix. More... | |
MISCELLANEOUS | |
void | print (common::LogStream &stream) |
Print to wherever. More... | |
void | print (std::ostream &stream) |
Print to wherever. More... | |
void | print (const std::string &filename, std::ios_base::openmode mode=std::ios_base::out) |
Print to file given by filename. More... | |
void | print_native (std::ostream &stream) |
Use the native printing functionality of the matrix implementation. More... | |
const bool | is_created () |
Accessor to the state of create. More... | |
const Uint | neq () |
Accessor to the number of equations. More... | |
const Uint | blockrow_size () |
Accessor to the number of block rows. More... | |
const Uint | blockcol_size () |
Accessor to the number of block columns. More... | |
void | clone_to (Matrix &other) |
Make a deep copy of the current matrix into other. More... | |
virtual void | read_native (const common::URI &file) |
Read in a linear system, optionally filling the provided RHS and solution vector. More... | |
LINEAR ALGEBRA | |
void | apply (const Handle< Vector > &y, const Handle< Vector const > &x, const Real alpha=1., const Real beta=0.) |
Compute y = alpha*A*x + beta*y. More... | |
TEST ONLY | |
void | debug_data (std::vector< Uint > &row_indices, std::vector< Uint > &col_indices, std::vector< Real > &values) |
Public Member Functions inherited from Matrix | |
Matrix (const std::string &name) | |
Default constructor. More... | |
Public Member Functions inherited from Component | |
Component (const std::string &name) | |
virtual | ~Component () |
Virtual destructor. More... | |
const std::string & | name () const |
Access the name of the component. More... | |
void | rename (const std::string &name) |
Rename the component. More... | |
URI | uri () const |
Construct the full path. More... | |
void | complete_path (URI &path) const |
Handle< Component > | access_component (const URI &path) const |
Handle< Component > | access_component_checked (const URI &path) |
Handle< Component const > | access_component_checked (const URI &path) const |
Handle< Component > | handle () |
Get a handle to the component. More... | |
Handle< Component const > | handle () const |
template<typename ComponentT > | |
Handle< ComponentT > | handle () |
template<typename ComponentT > | |
Handle< ComponentT const > | handle () const |
Handle< Component > | parent () const |
Handle< Component const > | root () const |
Handle< Component > | root () |
Handle< Component > | get_child (const std::string &name) |
Handle< Component const > | get_child (const std::string &name) const |
Handle< Component > | get_child_checked (const std::string &name) |
Handle< Component const > | get_child_checked (const std::string &name) const |
Handle< Component > | create_component (const std::string &name, const std::string &builder) |
Build a (sub)component of this component using the extended type_name of the component. More... | |
template<typename T > | |
Handle< T > | create_component (const std::string &name) |
Create a (sub)component of this component automatically cast to the specified type. More... | |
template<typename T > | |
Handle< T > | create_static_component (const std::string &name) |
Create a static "always there" subcomponent. More... | |
Component & | add_component (const boost::shared_ptr< Component > &subcomp) |
Add the passed component as a subcomponent. More... | |
void | add_link (Component &linked_component) |
boost::shared_ptr< Component > | remove_component (const std::string &name) |
Remove a (sub)component of this component. More... | |
boost::shared_ptr< Component > | remove_component (Component &subcomp) |
Remove a (sub)component of this component. More... | |
void | clear () |
Remove all sub-components of this component, except for the static ones. More... | |
void | move_to (Component &to_parent) |
std::string | tree (bool basic_mode=false, Uint depth=0, Uint recursion_level=0) const |
std::string | info (const std::string &what=std::string("cospt")) const |
size_t | count_children () const |
virtual std::string | derived_type_name () const =0 |
PropertyList & | properties () |
const PropertyList & | properties () const |
OptionList & | options () |
const OptionList & | options () const |
void | reset_options () |
Reset all options to their default value. More... | |
void | configure_option_recursively (const std::string &optname, const boost::any &val) |
Component & | mark_basic () |
marks this component as basic. More... | |
template<typename ComponentT > | |
void | put_components (std::vector< boost::shared_ptr< ComponentT > > &vec, const bool recurse) |
template<typename ComponentT > | |
void | put_components (std::vector< boost::shared_ptr< ComponentT const > > &vec, const bool recurse) const |
template<> | |
void | put_components (std::vector< boost::shared_ptr< Component > > &vec, const bool recurse) |
template<> | |
void | put_components (std::vector< boost::shared_ptr< Component const > > &vec, const bool recurse) const |
Component::iterator | begin () |
The begin iterator for a range containing Components. More... | |
Component::iterator | end () |
The end iterator for a range containing Components. More... | |
Component::const_iterator | begin () const |
The begin iterator for a range containing Components (const version) More... | |
Component::const_iterator | end () const |
The end iterator for a range containing Components (const version) More... | |
Component::iterator | recursive_begin () |
The begin iterator for a recursive range containing Components. More... | |
Component::iterator | recursive_end () |
The end iterator for a recursive range containing Components. More... | |
Component::const_iterator | recursive_begin () const |
The begin iterator for a recursive range containing Components (const version) More... | |
Component::const_iterator | recursive_end () const |
The end iterator for a recursive range containing Components (const version) More... | |
template<typename T > | |
Handle< T > | create_component (const std::string &name, const std::string &builder) |
Create a component using the reduced builder name. More... | |
void | signal_configure (SignalArgs &args) |
configures all the options on this class More... | |
void | signal_create_component (SignalArgs &args) |
creates a component from this component More... | |
void | signal_delete_component (SignalArgs &args) |
delete this component More... | |
void | signal_move_component (SignalArgs &args) |
moves a component from this component to another More... | |
void | signal_list_tree (SignalArgs &args) const |
lists the sub components and puts them on the xml_tree More... | |
void | signal_list_tree_recursive (SignalArgs &args) const |
prints tree recursively More... | |
void | signal_list_properties (SignalArgs &args) const |
lists the properties of this component More... | |
void | signal_list_options (SignalArgs &args) const |
lists the properties of this component More... | |
void | signal_list_options_recursive (SignalArgs &args) const |
prints all options recursive More... | |
void | signal_list_signals (SignalArgs &args) const |
lists the signals of this component More... | |
void | signal_list_signals_recursive (SignalArgs &args) const |
prints all signals recursive More... | |
void | signal_print_info (SignalArgs &args) const |
gets info on this component More... | |
void | signal_print_tree (SignalArgs &args) const |
signal to print the tree More... | |
void | signature_print_tree (SignalArgs &args) const |
signature to signal_print_tree More... | |
void | signal_rename_component (SignalArgs &args) |
renames this component More... | |
void | signal_save_tree (SignalArgs &args) |
dumps the tree to a file More... | |
void | signal_list_content (SignalArgs &args) |
gives information about this component such as options, signals, ... More... | |
void | signal_signature (SignalArgs &args) |
Gives a signal signature, if any. More... | |
void | signature_create_component (SignalArgs &args) |
void | signature_rename_component (SignalArgs &args) |
void | signature_move_component (SignalArgs &args) |
void | signal_store_timings (SignalArgs &args) |
Signal to store the timings (if enabled) into properties, i.e. for readout from python or the GUI. More... | |
void | signal_clear (SignalArgs &args) |
Signal to remove all sub-components. More... | |
void | signal_reset_options (SignalArgs &args) |
Signal to set all options to their default value. More... | |
void | signal_add_tag (SignalArgs &args) |
Signal to add a tag. More... | |
void | signature_add_tag (SignalArgs &args) |
Public Member Functions inherited from SignalHandler | |
~SignalHandler () | |
const storage_t & | signal_list () const |
SignalPtr | signal (const SignalID &sname) |
SignalCPtr | signal (const SignalID &sname) const |
SignalRet | call_signal (const SignalID &sname, SignalArgs &sinput) |
Calls the signal by providing its name and input. More... | |
SignalRet | call_signal (const SignalID &sname, std::vector< std::string > &sinput) |
Calls the signal by providing its name and input. More... | |
bool | signal_exists (const SignalID &sname) const |
Checks if a signal exists or not. More... | |
Signal & | regist_signal (const SignalID &sname) |
Regist signal. More... | |
void | unregist_signal (const SignalID &sname) |
Unregist signal. More... | |
Public Member Functions inherited from ConnectionManager | |
~ConnectionManager () | |
destructor closes all connections More... | |
Connection * | connection (const std::string &name) |
Connection * | manage_connection (const std::string &name) |
manages a connection (creates if necessary) More... | |
Public Member Functions inherited from TaggedObject | |
TaggedObject () | |
Constructor. More... | |
bool | has_tag (const std::string &tag) const |
void | add_tag (const std::string &tag) |
std::vector< std::string > | get_tags () const |
void | remove_tag (const std::string &tag) |
Private Attributes | |
Teuchos::RCP< Epetra_FEVbrMatrix > | m_mat |
teuchos style smart pointer wrapping an epetra fevbrmatrix More... | |
Epetra_MpiComm | m_comm |
epetra mpi environment More... | |
bool | m_is_created |
state of creation More... | |
Uint | m_neq |
number of equations More... | |
Uint | m_blockrow_size |
number of block rows More... | |
Uint | m_blockcol_size |
number of block columns More... | |
std::vector< int > | m_p2m |
mapper array, maps from process local numbering to matrix local numbering (because ghost nodes need to be ordered to the back) More... | |
std::vector< int > | m_converted_indices |
a helper array used in set/add/get_values to avoid frequent new+free combo More... | |
std::vector< int > | m_node_connectivity |
Copy of the connectivity data. More... | |
std::vector< int > | m_starting_indices |
CREATION, DESTRUCTION AND COMPONENT SYSTEM | |
static std::string | type_name () |
name of the type More... | |
const std::string | solvertype () |
Accessor to solver type. More... | |
const bool | is_swappable (const LSS::Vector &solution, const LSS::Vector &rhs) |
Accessor to the flag if matrix, solution and rhs are tied together or not. More... | |
TrilinosFEVbrMatrix (const std::string &name) | |
Default constructor. More... | |
void | create (cf3::common::PE::CommPattern &cp, const Uint neq, const std::vector< Uint > &node_connectivity, const std::vector< Uint > &starting_indices, LSS::Vector &solution, LSS::Vector &rhs, const std::vector< Uint > &periodic_links_nodes=std::vector< Uint >(), const std::vector< bool > &periodic_links_active=std::vector< bool >()) |
Setup sparsity structure. More... | |
void | create_blocked (common::PE::CommPattern &cp, const VariablesDescriptor &vars, const std::vector< Uint > &node_connectivity, const std::vector< Uint > &starting_indices, Vector &solution, Vector &rhs, const std::vector< Uint > &periodic_links_nodes=std::vector< Uint >(), const std::vector< bool > &periodic_links_active=std::vector< bool >()) |
Keep the equations for one variable together, forming big subsystems in the global matrix. More... | |
void | destroy () |
Deallocate underlying data. More... | |
Additional Inherited Members | |
Public Types inherited from Component | |
typedef ComponentIterator< Component > | iterator |
type of the iterator to Component More... | |
typedef ComponentIterator< Component const > | const_iterator |
type of the iterator to constant Component More... | |
Public Types inherited from SignalHandler | |
typedef std::vector< SignalPtr > | storage_t |
storage type for signals More... | |
Static Public Member Functions inherited from Matrix | |
static std::string | type_name () |
name of the type More... | |
Static Public Member Functions inherited from Component | |
static std::string | type_name () |
Get the class name. More... | |
Public Attributes inherited from SignalHandler | |
storage_t | m_signals |
storage of the signals More... | |
Protected Member Functions inherited from Component | |
Component & | add_static_component (const boost::shared_ptr< Component > &subcomp) |
Add a static (sub)component of this component. More... | |
void | raise_tree_updated_event () |
raise event that the path has changed More... | |
Definition at line 40 of file TrilinosFEVbrMatrix.hpp.
TrilinosFEVbrMatrix | ( | const std::string & | name | ) |
Default constructor.
Definition at line 55 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Add value at given location in the matrix.
Implements Matrix.
Definition at line 180 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Add a list of values local ibdices eigen, templatization on top level
Implements Matrix.
Definition at line 271 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Compute y = alpha*A*x + beta*y.
Implements Matrix.
Definition at line 812 of file TrilinosFEVbrMatrix.cpp.
|
inlinevirtual |
Accessor to the number of block columns.
Implements Matrix.
Definition at line 146 of file TrilinosFEVbrMatrix.hpp.
|
inlinevirtual |
Accessor to the number of block rows.
Implements Matrix.
Definition at line 143 of file TrilinosFEVbrMatrix.hpp.
|
virtual |
Make a deep copy of the current matrix into other.
Implements Matrix.
Definition at line 798 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Setup sparsity structure.
Implements Matrix.
Definition at line 71 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Keep the equations for one variable together, forming big subsystems in the global matrix.
Implements Matrix.
Definition at line 136 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
exports the matrix into big linear arrays
Implements Matrix.
Definition at line 757 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Deallocate underlying data.
Implements Matrix.
Definition at line 144 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Get a column and replace it to zero (dirichlet-type boundaries, when trying to preserve symmetry) Note that sparsity info is lost, values will contain zeros where no matrix entry is present
Implements Matrix.
Definition at line 452 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Get value at given location in the matrix.
Implements Matrix.
Definition at line 203 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
|
inlinevirtual |
Accessor to the state of create.
Implements Matrix.
Definition at line 137 of file TrilinosFEVbrMatrix.hpp.
|
inlinevirtual |
Accessor to the flag if matrix, solution and rhs are tied together or not.
Implements Matrix.
Definition at line 53 of file TrilinosFEVbrMatrix.hpp.
|
inlinevirtual |
Accessor to the number of equations.
Implements Matrix.
Definition at line 140 of file TrilinosFEVbrMatrix.hpp.
|
virtual |
|
virtual |
|
virtual |
Print to file given by filename.
Implements Matrix.
Definition at line 739 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Use the native printing functionality of the matrix implementation.
Implements Matrix.
Definition at line 750 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Read in a linear system, optionally filling the provided RHS and solution vector.
Implements Matrix.
Definition at line 805 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
|
virtual |
Set a row, diagonal and off-diagonals values separately (dirichlet-type boundaries)
Implements Matrix.
Definition at line 405 of file TrilinosFEVbrMatrix.cpp.
Set value at given location in the matrix.
Implements Matrix.
Definition at line 157 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
|
inlinevirtual |
|
virtual |
Apply a dirichlet boundary condition, preserving symmetry by moving entries to the RHS
Implements Matrix.
Definition at line 482 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Const access to the matrix.
Implements ThyraOperator.
Definition at line 784 of file TrilinosFEVbrMatrix.cpp.
|
virtual |
Writable access to the matrix.
Implements ThyraOperator.
Definition at line 791 of file TrilinosFEVbrMatrix.cpp.
Add one line to another and tie to it via dirichlet-style (applying periodicity)
Implements Matrix.
Definition at line 558 of file TrilinosFEVbrMatrix.cpp.
|
inlinestatic |
name of the type
Definition at line 47 of file TrilinosFEVbrMatrix.hpp.
|
private |
number of block columns
Definition at line 192 of file TrilinosFEVbrMatrix.hpp.
|
private |
number of block rows
Definition at line 189 of file TrilinosFEVbrMatrix.hpp.
|
private |
epetra mpi environment
Definition at line 180 of file TrilinosFEVbrMatrix.hpp.
|
private |
a helper array used in set/add/get_values to avoid frequent new+free combo
Definition at line 198 of file TrilinosFEVbrMatrix.hpp.
|
private |
state of creation
Definition at line 183 of file TrilinosFEVbrMatrix.hpp.
|
private |
teuchos style smart pointer wrapping an epetra fevbrmatrix
Definition at line 177 of file TrilinosFEVbrMatrix.hpp.
|
private |
number of equations
Definition at line 186 of file TrilinosFEVbrMatrix.hpp.
|
private |
Copy of the connectivity data.
Definition at line 201 of file TrilinosFEVbrMatrix.hpp.
|
private |
mapper array, maps from process local numbering to matrix local numbering (because ghost nodes need to be ordered to the back)
Definition at line 195 of file TrilinosFEVbrMatrix.hpp.
|
private |
Definition at line 201 of file TrilinosFEVbrMatrix.hpp.
Send comments to: COOLFluiD Web Admin |