COOLFluiD
Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
|
#include <Matrix.hpp>
Inherits Component.
Inherited by EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
Public Member Functions | |
INDIVIDUAL ACCESS | |
virtual void | set_value (const Uint icol, const Uint irow, const Real value)=0 |
Set value at given location in the matrix. More... | |
virtual void | add_value (const Uint icol, const Uint irow, const Real value)=0 |
Add value at given location in the matrix. More... | |
virtual void | get_value (const Uint icol, const Uint irow, Real &value)=0 |
Get value at given location in the matrix. More... | |
EFFICCIENT ACCESS | |
virtual void | set_values (const BlockAccumulator &values)=0 |
Set a list of values. More... | |
virtual void | add_values (const BlockAccumulator &values)=0 |
virtual void | get_values (BlockAccumulator &values)=0 |
Add a list of values. More... | |
virtual void | set_row (const Uint iblockrow, const Uint ieq, Real diagval, Real offdiagval)=0 |
Set a row, diagonal and off-diagonals values separately (dirichlet-type boundaries) More... | |
virtual void | get_column_and_replace_to_zero (const Uint iblockcol, Uint ieq, std::vector< Real > &values)=0 |
virtual void | symmetric_dirichlet (const Uint blockrow, const Uint ieq, const Real value, LSS::Vector &rhs)=0 |
virtual void | tie_blockrow_pairs (const Uint iblockrow_to, const Uint iblockrow_from)=0 |
Add one line to another and tie to it via dirichlet-style (applying periodicity) More... | |
virtual void | set_diagonal (const std::vector< Real > &diag)=0 |
Set the diagonal. More... | |
virtual void | add_diagonal (const std::vector< Real > &diag)=0 |
Add to the diagonal. More... | |
virtual void | get_diagonal (std::vector< Real > &diag)=0 |
Get the diagonal. More... | |
virtual void | reset (Real reset_to=0.)=0 |
Reset Matrix. More... | |
MISCELLANEOUS | |
virtual void | print (common::LogStream &stream)=0 |
Print to wherever. More... | |
virtual void | print (std::ostream &stream)=0 |
Print to wherever. More... | |
virtual void | print (const std::string &filename, std::ios_base::openmode mode=std::ios_base::out)=0 |
Print to file given by filename. More... | |
virtual void | print_native (std::ostream &stream)=0 |
Use the native printing functionality of the matrix implementation. More... | |
virtual const bool | is_created ()=0 |
Accessor to the state of create. More... | |
virtual const Uint | neq ()=0 |
Accessor to the number of equations. More... | |
virtual const Uint | blockrow_size ()=0 |
Accessor to the number of block rows. More... | |
virtual const Uint | blockcol_size ()=0 |
Accessor to the number of block columns. More... | |
virtual void | clone_to (Matrix &other)=0 |
Make a deep copy of the current matrix into other. More... | |
virtual void | read_native (const common::URI &file)=0 |
Read in a linear system, optionally filling the provided RHS and solution vector. More... | |
LINEAR ALGEBRA | |
virtual void | apply (const Handle< Vector > &y, const Handle< Vector const > &x, const Real alpha=1., const Real beta=0.)=0 |
Compute y = alpha*A*x + beta*y. More... | |
TEST ONLY | |
virtual void | debug_data (std::vector< Uint > &row_indices, std::vector< Uint > &col_indices, std::vector< Real > &values)=0 |
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) |
CREATION, DESTRUCTION AND COMPONENT SYSTEM | |
static std::string | type_name () |
name of the type More... | |
virtual const std::string | solvertype ()=0 |
Accessor to solver type. More... | |
virtual const bool | is_swappable (const LSS::Vector &solution, const LSS::Vector &rhs)=0 |
Accessor to the flag if matrix, solution and rhs are tied together or not. More... | |
Matrix (const std::string &name) | |
Default constructor. More... | |
virtual 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 >())=0 |
virtual void | create_blocked (cf3::common::PE::CommPattern &cp, const VariablesDescriptor &vars, 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 >())=0 |
Keep the equations for one variable together, forming big subsystems in the global matrix. More... | |
virtual void | destroy ()=0 |
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 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 35 of file Matrix.hpp.
|
inline |
Default constructor.
Definition at line 51 of file Matrix.hpp.
|
pure virtual |
Add to the diagonal.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
Add value at given location in the matrix.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Add a list of values local ibdices eigen, templatization on top level
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Compute y = alpha*A*x + beta*y.
Implemented in TrilinosCrsMatrix, EmptyLSSMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Accessor to the number of block columns.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Accessor to the number of block rows.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Make a deep copy of the current matrix into other.
Implemented in TrilinosCrsMatrix, EmptyLSSMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Setup sparsity structure should only work with local numbering (parallel computations, plus rcm could be a totally internal matter of the matrix) internal mapping should be invisible to outside (needs to reorganize to push ghost nodes) maybe 2 ctable csr style local numbering needs global numbering for communication - ??? commpattern ???
Implemented in TrilinosCrsMatrix, TrilinosFEVbrMatrix, and EmptyLSSMatrix.
|
pure virtual |
Keep the equations for one variable together, forming big subsystems in the global matrix.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
exports the matrix into big linear arrays
Implemented in TrilinosCrsMatrix, EmptyLSSMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Deallocate underlying data.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Get a column and replace it to zero (dirichlet-type boundaries, when trying to preserve symmetry)
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Get the diagonal.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
Get value at given location in the matrix.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Add a list of values.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Accessor to the state of create.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Accessor to the flag if matrix, solution and rhs are tied together or not.
Implemented in TrilinosCrsMatrix, TrilinosFEVbrMatrix, and EmptyLSSMatrix.
|
pure virtual |
Accessor to the number of equations.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Print to wherever.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Print to wherever.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Print to file given by filename.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Use the native printing functionality of the matrix implementation.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Read in a linear system, optionally filling the provided RHS and solution vector.
Implemented in TrilinosCrsMatrix, EmptyLSSMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Reset Matrix.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Set the diagonal.
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
pure virtual |
Set a row, diagonal and off-diagonals values separately (dirichlet-type boundaries)
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
Set value at given location in the matrix.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Set a list of values.
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
|
pure virtual |
Accessor to solver type.
Implemented in TrilinosCrsMatrix, TrilinosFEVbrMatrix, and EmptyLSSMatrix.
|
pure virtual |
Apply a dirichlet boundary condition, preserving symmetry by moving entries to the RHS
Implemented in EmptyLSSMatrix, TrilinosFEVbrMatrix, and TrilinosCrsMatrix.
Add one line to another and tie to it via dirichlet-style (applying periodicity)
Implemented in EmptyLSSMatrix, TrilinosCrsMatrix, and TrilinosFEVbrMatrix.
|
inlinestatic |
name of the type
Definition at line 42 of file Matrix.hpp.
Send comments to: COOLFluiD Web Admin |