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

#include <LSSWrapper.hpp>

Public Types

typedef TagT tag_type
 

Public Member Functions

 LSSWrapperImpl (math::LSS::System &component)
 
 LSSWrapperImpl (common::Option &component_option)
 Construction using an option that will point to the actual component. More...
 
math::LSS::Systemlss ()
 
math::LSS::Matrixmatrix ()
 Return the wrappped matrix. More...
 
math::LSS::Vectorrhs ()
 Return the wrappped rhs. More...
 
math::LSS::Vectorsolution ()
 Return the wrappped solution. More...
 
template<typename DataT >
void convert_to_lss (DataT &data)
 
int node_to_lss (const Uint node)
 

Private Member Functions

void trigger_component ()
 

Private Attributes

boost::shared_ptr< Handle< math::LSS::System > > m_component
 
math::LSS::Systemm_cached_component
 
math::LSS::Matrixm_matrix
 
math::LSS::Vectorm_rhs
 
math::LSS::Vectorm_solution
 
common::List< Uint > * m_used_nodes
 
common::List< int > * m_used_node_map
 

Detailed Description

template<typename TagT>
class cf3::solver::actions::Proto::LSSWrapperImpl< TagT >

Gives access to a component, obtained aither through a linked option or a direct reference in the constructor. Uses a weak pointer internally Implementation class, use the proto-ready terminal type defined below TagT provides an extra tag that can be used by proto to distinguish wrappers of the same type at compile time

Definition at line 33 of file LSSWrapper.hpp.

Member Typedef Documentation

typedef TagT tag_type

Definition at line 37 of file LSSWrapper.hpp.

Constructor & Destructor Documentation

LSSWrapperImpl ( math::LSS::System component)
inline

Construction using references to the actual component (mainly useful in utests or other non-dynamic code) Using this constructor does not use dynamic configuration through options

Definition at line 41 of file LSSWrapper.hpp.

LSSWrapperImpl ( common::Option component_option)
inline

Construction using an option that will point to the actual component.

Definition at line 48 of file LSSWrapper.hpp.

Member Function Documentation

void convert_to_lss ( DataT &  data)
inline

Convert the indices in the block accumulator TODO: Make this obsolete by always knowing the correct local indices

Definition at line 85 of file LSSWrapper.hpp.

math::LSS::System& lss ( )
inline

Definition at line 55 of file LSSWrapper.hpp.

math::LSS::Matrix& matrix ( )
inline

Return the wrappped matrix.

Definition at line 62 of file LSSWrapper.hpp.

int node_to_lss ( const Uint  node)
inline

Definition at line 102 of file LSSWrapper.hpp.

math::LSS::Vector& rhs ( )
inline

Return the wrappped rhs.

Definition at line 69 of file LSSWrapper.hpp.

math::LSS::Vector& solution ( )
inline

Return the wrappped solution.

Definition at line 76 of file LSSWrapper.hpp.

void trigger_component ( )
inlineprivate

Definition at line 123 of file LSSWrapper.hpp.

Member Data Documentation

math::LSS::System* m_cached_component
private

Definition at line 114 of file LSSWrapper.hpp.

boost::shared_ptr< Handle<math::LSS::System> > m_component
private

Points to the wrapped component, if any The shared_ptr wraps the weak_ptr so the link is always OK

Definition at line 113 of file LSSWrapper.hpp.

math::LSS::Matrix* m_matrix
private

Definition at line 115 of file LSSWrapper.hpp.

math::LSS::Vector* m_rhs
private

Definition at line 116 of file LSSWrapper.hpp.

math::LSS::Vector* m_solution
private

Definition at line 117 of file LSSWrapper.hpp.

common::List<int>* m_used_node_map
private

Definition at line 121 of file LSSWrapper.hpp.

common::List<Uint>* m_used_nodes
private

Definition at line 120 of file LSSWrapper.hpp.


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