COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Public Member Functions | Private Attributes | List of all members
TrilinosVector Class Reference

#include <TrilinosVector.hpp>

Inherits Vector, and ThyraVector.

Public Member Functions

void signal_print_native (common::SignalArgs &args)
 
Teuchos::RCP< const Thyra::VectorBase< Real > > thyra_vector () const
 Const access to the matrix. More...
 
Teuchos::RCP< Thyra::VectorBase< Real > > thyra_vector ()
 Writable access to the matrix. More...
 
INDIVIDUAL ACCESS
void set_value (const Uint irow, const Real value)
 Set value at given location in the matrix. More...
 
void add_value (const Uint irow, const Real value)
 Add value at given location in the matrix. More...
 
void get_value (const Uint irow, Real &value)
 Get value at given location in the matrix. More...
 
void set_value (const Uint iblockrow, const Uint ieq, const Real value)
 Set value at given location in the matrix. More...
 
void add_value (const Uint iblockrow, const Uint ieq, const Real value)
 Add value at given location in the matrix. More...
 
void get_value (const Uint iblockrow, const Uint ieq, Real &value)
 Get value at given location in the matrix. More...
 
EFFICCIENT ACCESS
void set_rhs_values (const BlockAccumulator &values)
 Set a list of values to rhs. More...
 
void add_rhs_values (const BlockAccumulator &values)
 Add a list of values to rhs. More...
 
void get_rhs_values (BlockAccumulator &values)
 Get a list of values from rhs. More...
 
void set_sol_values (const BlockAccumulator &values)
 Set a list of values to sol. More...
 
void add_sol_values (const BlockAccumulator &values)
 Add a list of values to sol. More...
 
void get_sol_values (BlockAccumulator &values)
 Get a list of values from sol. More...
 
void reset (Real reset_to=0.)
 Reset Vector. More...
 
void get (boost::multi_array< Real, 2 > &data)
 Copies the contents out of the LSS::Vector to table. More...
 
void set (boost::multi_array< Real, 2 > &data)
 Copies the contents of the table into the LSS::Vector. 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 vector 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...
 
Teuchos::RCP< Epetra_Vector > epetra_vector ()
 
Teuchos::RCP< Epetra_Vector const > epetra_vector () const
 
void clone_to (Vector &other)
 Clone this vector into another one. More...
 
void assign (const Vector &source)
 Assign from another vector. More...
 
void update (const Vector &source, const Real alpha=1.)
 
void scale (const Real alpha)
 
void sync ()
 Update any stored ghost nodes. More...
 
virtual void read_native (const common::URI &filename, const std::string type="")
 Read a vector in the native file format. More...
 
TEST ONLY
void debug_data (std::vector< Real > &values)
 
- Public Member Functions inherited from Vector
 Vector (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< Componentaccess_component (const URI &path) const
 
Handle< Componentaccess_component_checked (const URI &path)
 
Handle< Component const > access_component_checked (const URI &path) const
 
Handle< Componenthandle ()
 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< Componentparent () const
 
Handle< Component const > root () const
 
Handle< Componentroot ()
 
Handle< Componentget_child (const std::string &name)
 
Handle< Component const > get_child (const std::string &name) const
 
Handle< Componentget_child_checked (const std::string &name)
 
Handle< Component const > get_child_checked (const std::string &name) const
 
Handle< Componentcreate_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...
 
Componentadd_component (const boost::shared_ptr< Component > &subcomp)
 Add the passed component as a subcomponent. More...
 
void add_link (Component &linked_component)
 
boost::shared_ptr< Componentremove_component (const std::string &name)
 Remove a (sub)component of this component. More...
 
boost::shared_ptr< Componentremove_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
 
PropertyListproperties ()
 
const PropertyListproperties () const
 
OptionListoptions ()
 
const OptionListoptions () const
 
void reset_options ()
 Reset all options to their default value. More...
 
void configure_option_recursively (const std::string &optname, const boost::any &val)
 
Componentmark_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_tsignal_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...
 
Signalregist_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...
 
Connectionconnection (const std::string &name)
 
Connectionmanage_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

std::vector< Real > m_data
 Actual vector data. The epetra vector is a view for this that omits the ghost nodes. More...
 
Teuchos::RCP< Epetra_Vector > m_vec
 teuchos style smart pointer wrapping an epetra vector More...
 
Teuchos::RCP< Epetra_Map > m_map
 
Epetra_MpiComm m_comm
 epetra mpi environment More...
 
Uint m_neq
 number of equations More...
 
Uint m_blockrow_size
 number of blocks More...
 
bool m_is_created
 status of the vector 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...
 
boost::shared_ptr< common::PE::CommPatternm_comm_pattern
 The comm pattern is kept as shared ptr, so it can be shared between any clones of this vector. More...
 

CREATION, DESTRUCTION AND COMPONENT SYSTEM

static std::string type_name ()
 name of the type More...
 
const std::string solvertype ()
 Accessor to solver type. More...
 
 TrilinosVector (const std::string &name)
 Default constructor. More...
 
void create (common::PE::CommPattern &cp, Uint neq, 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 > &periodic_links_nodes=std::vector< Uint >(), const std::vector< bool > &periodic_links_active=std::vector< bool >())
 Vector is split up keeping entries related to the same variable continuously. More...
 
void destroy ()
 Deallocate underlying data. More...
 

Additional Inherited Members

- Public Types inherited from Component
typedef ComponentIterator< Componentiterator
 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< SignalPtrstorage_t
 storage type for signals More...
 
- Static Public Member Functions inherited from Vector
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
Componentadd_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...
 

Detailed Description

Definition at line 50 of file TrilinosVector.hpp.

Constructor & Destructor Documentation

TrilinosVector ( const std::string &  name)

Default constructor.

Definition at line 46 of file TrilinosVector.cpp.

Member Function Documentation

void add_rhs_values ( const BlockAccumulator values)
virtual

Add a list of values to rhs.

Note
looked up the code and access mechanism is a mess, much less cpu to access here in a for loop and directly do whats desired

Implements Vector.

Definition at line 189 of file TrilinosVector.cpp.

void add_sol_values ( const BlockAccumulator values)
virtual

Add a list of values to sol.

Note
looked up the code and access mechanism is a mess, much less cpu to access here in a for loop and directly do whats desired

Implements Vector.

Definition at line 246 of file TrilinosVector.cpp.

void add_value ( const Uint  irow,
const Real  value 
)
virtual

Add value at given location in the matrix.

Implements Vector.

Definition at line 129 of file TrilinosVector.cpp.

void add_value ( const Uint  iblockrow,
const Uint  ieq,
const Real  value 
)
virtual

Add value at given location in the matrix.

Implements Vector.

Definition at line 154 of file TrilinosVector.cpp.

void assign ( const Vector source)
virtual

Assign from another vector.

Implements Vector.

Definition at line 432 of file TrilinosVector.cpp.

const Uint blockrow_size ( )
inlinevirtual

Accessor to the number of block rows.

Implements Vector.

Definition at line 151 of file TrilinosVector.hpp.

void clone_to ( Vector other)
virtual

Clone this vector into another one.

Implements Vector.

Definition at line 409 of file TrilinosVector.cpp.

void create ( common::PE::CommPattern cp,
Uint  neq,
const std::vector< Uint > &  periodic_links_nodes = std::vector<Uint>(),
const std::vector< bool > &  periodic_links_active = std::vector<bool>() 
)
virtual

Setup sparsity structure.

Implements Vector.

Definition at line 63 of file TrilinosVector.cpp.

void create_blocked ( common::PE::CommPattern cp,
const VariablesDescriptor vars,
const std::vector< Uint > &  periodic_links_nodes = std::vector< Uint >(),
const std::vector< bool > &  periodic_links_active = std::vector< bool >() 
)
virtual

Vector is split up keeping entries related to the same variable continuously.

Implements Vector.

Definition at line 71 of file TrilinosVector.cpp.

void debug_data ( std::vector< Real > &  values)
virtual

exports the vector into big linear array

Attention
only for debug and utest purposes

Implements Vector.

Definition at line 374 of file TrilinosVector.cpp.

void destroy ( )
virtual

Deallocate underlying data.

Implements Vector.

Definition at line 108 of file TrilinosVector.cpp.

Teuchos::RCP<Epetra_Vector> epetra_vector ( )
inline

Accessor to the trilinos data

Attention
this function is not (and should never be) part of the interface itself, only used between trilinoses

Definition at line 155 of file TrilinosVector.hpp.

Teuchos::RCP<Epetra_Vector const> epetra_vector ( ) const
inline

Definition at line 156 of file TrilinosVector.hpp.

void get ( boost::multi_array< Real, 2 > &  data)
virtual

Copies the contents out of the LSS::Vector to table.

Implements Vector.

Definition at line 292 of file TrilinosVector.cpp.

void get_rhs_values ( BlockAccumulator values)
virtual

Get a list of values from rhs.

Note
looked up the code and access mechanism is a mess, much less cpu to access here in a for loop and directly do whats desired

Implements Vector.

Definition at line 208 of file TrilinosVector.cpp.

void get_sol_values ( BlockAccumulator values)
virtual

Get a list of values from sol.

Note
looked up the code and access mechanism is a mess, much less cpu to access here in a for loop and directly do whats desired

Implements Vector.

Definition at line 265 of file TrilinosVector.cpp.

void get_value ( const Uint  irow,
Real &  value 
)
virtual

Get value at given location in the matrix.

Implements Vector.

Definition at line 137 of file TrilinosVector.cpp.

void get_value ( const Uint  iblockrow,
const Uint  ieq,
Real &  value 
)
virtual

Get value at given location in the matrix.

Implements Vector.

Definition at line 163 of file TrilinosVector.cpp.

const bool is_created ( )
inlinevirtual

Accessor to the state of create.

Implements Vector.

Definition at line 145 of file TrilinosVector.hpp.

const Uint neq ( )
inlinevirtual

Accessor to the number of equations.

Implements Vector.

Definition at line 148 of file TrilinosVector.hpp.

void print ( common::LogStream stream)
virtual

Print to wherever.

Implements Vector.

Definition at line 316 of file TrilinosVector.cpp.

void print ( std::ostream &  stream)
virtual

Print to wherever.

Implements Vector.

Definition at line 336 of file TrilinosVector.cpp.

void print ( const std::string &  filename,
std::ios_base::openmode  mode = std::ios_base::out 
)
virtual

Print to file given by filename.

Implements Vector.

Definition at line 356 of file TrilinosVector.cpp.

void print_native ( std::ostream &  stream)
virtual

Use the native printing functionality of the vector implementation.

Implements Vector.

Definition at line 367 of file TrilinosVector.cpp.

void read_native ( const common::URI filename,
const std::string  type = "" 
)
virtual

Read a vector in the native file format.

Implements Vector.

Definition at line 497 of file TrilinosVector.cpp.

void reset ( Real  reset_to = 0.)
virtual

Reset Vector.

Implements Vector.

Definition at line 284 of file TrilinosVector.cpp.

void scale ( const Real  alpha)
virtual

Scale the vector in-place with the given scalar this *= alpha

Implements Vector.

Definition at line 477 of file TrilinosVector.cpp.

void set ( boost::multi_array< Real, 2 > &  data)
virtual

Copies the contents of the table into the LSS::Vector.

Implements Vector.

Definition at line 304 of file TrilinosVector.cpp.

void set_rhs_values ( const BlockAccumulator values)
virtual

Set a list of values to rhs.

Note
looked up the code and access mechanism is a mess, much less cpu to access here in a for loop and directly do whats desired

Implements Vector.

Definition at line 172 of file TrilinosVector.cpp.

void set_sol_values ( const BlockAccumulator values)
virtual

Set a list of values to sol.

Note
looked up the code and access mechanism is a mess, much less cpu to access here in a for loop and directly do whats desired

Implements Vector.

Definition at line 227 of file TrilinosVector.cpp.

void set_value ( const Uint  irow,
const Real  value 
)
virtual

Set value at given location in the matrix.

Implements Vector.

Definition at line 121 of file TrilinosVector.cpp.

void set_value ( const Uint  iblockrow,
const Uint  ieq,
const Real  value 
)
virtual

Set value at given location in the matrix.

Implements Vector.

Definition at line 145 of file TrilinosVector.cpp.

void signal_print_native ( common::SignalArgs args)

Definition at line 385 of file TrilinosVector.cpp.

const std::string solvertype ( )
inlinevirtual

Accessor to solver type.

Implements Vector.

Definition at line 60 of file TrilinosVector.hpp.

void sync ( )
virtual

Update any stored ghost nodes.

Implements Vector.

Definition at line 490 of file TrilinosVector.cpp.

Teuchos::RCP< const Thyra::VectorBase< Real > > thyra_vector ( ) const
virtual

Const access to the matrix.

Implements ThyraVector.

Definition at line 392 of file TrilinosVector.cpp.

Teuchos::RCP< Thyra::VectorBase< Real > > thyra_vector ( )
virtual

Writable access to the matrix.

Implements ThyraVector.

Definition at line 401 of file TrilinosVector.cpp.

static std::string type_name ( )
inlinestatic

name of the type

Definition at line 57 of file TrilinosVector.hpp.

void update ( const Vector source,
const Real  alpha = 1. 
)
virtual

Update this vector with a scalar multiplication of the target vector; i.e.: this += alpha*source

Implements Vector.

Definition at line 447 of file TrilinosVector.cpp.

Member Data Documentation

Uint m_blockrow_size
private

number of blocks

Definition at line 203 of file TrilinosVector.hpp.

Epetra_MpiComm m_comm
private

epetra mpi environment

Definition at line 197 of file TrilinosVector.hpp.

boost::shared_ptr<common::PE::CommPattern> m_comm_pattern
private

The comm pattern is kept as shared ptr, so it can be shared between any clones of this vector.

Definition at line 215 of file TrilinosVector.hpp.

std::vector<int> m_converted_indices
private

a helper array used in set/add/get_values to avoid frequent new+free combo

Definition at line 212 of file TrilinosVector.hpp.

std::vector<Real> m_data
private

Actual vector data. The epetra vector is a view for this that omits the ghost nodes.

Definition at line 189 of file TrilinosVector.hpp.

bool m_is_created
private

status of the vector

Definition at line 206 of file TrilinosVector.hpp.

Teuchos::RCP<Epetra_Map> m_map
private

Definition at line 194 of file TrilinosVector.hpp.

Uint m_neq
private

number of equations

Definition at line 200 of file TrilinosVector.hpp.

std::vector<int> m_p2m
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 209 of file TrilinosVector.hpp.

Teuchos::RCP<Epetra_Vector> m_vec
private

teuchos style smart pointer wrapping an epetra vector

Definition at line 192 of file TrilinosVector.hpp.


The documentation for this class was generated from the following files:
Send comments to:
COOLFluiD Web Admin